canonical: https://jentic.com/apis/modusign.co.kr/modusign

# Modusign API

Modusign is a Korean electronic-signature platform whose API covers the full document signing lifecycle. It exposes 31 endpoints for creating signature requests, sending reminders and cancellations, applying templates, embedding the signing UI, uploading and merging files, managing webhooks, and labelling documents. Authentication uses HTTP Basic with the account email and API key, or a Bearer OAuth access token for delegated workflows.

## For AI agents

Send and track e-signature requests, apply templates, embed signing flows, and manage webhooks for the Korean Modusign signing platform.

## Scope

Does not handle payments, identity verification beyond signer email, or document generation from data - use for Korean e-signature requests, templates, and webhooks only.

## Capabilities

- Send a signature request to one or more parties from an uploaded PDF
- Send a signature request from a saved Modusign template with field values pre-filled
- Cancel a pending signature request before all parties have signed
- Send a reminder email to signers who have not yet completed a document
- Embed the Modusign signing UI into a host application via embedded drafts
- Subscribe to webhooks for document.completed, document.cancelled, and similar events
- Apply or remove labels on documents to organise the audit log

## Use cases

### Korean Contract Signing Workflow

Send Korean-language contracts to customers, employees, or counterparties for legally binding electronic signature. POST /documents creates a signing request from an uploaded PDF or merged file, GET `/documents/{id}` polls status, and POST `/documents/{id}/remind` nudges late signers. Most Korean SaaS teams ship a working signing flow in under a week using Basic auth with the account API key.

Example prompt: Upload a PDF NDA, create a signature request with two signers (legal@corp.kr and counterparty@vendor.kr), and return the document ID and signing URLs

### Template-Driven HR Onboarding

Use saved Modusign templates for repeating HR documents - offer letters, NDAs, policy acknowledgements - and prefill signer-specific fields via POST `/documents/template.` The template ID is fixed but field values change per new hire, so HR systems can dispatch dozens of documents without re-uploading PDFs each time.

Example prompt: Send a Modusign template-based offer letter to candidate@example.kr with name, salary, and start date prefilled, and label the document 'onboarding-2026'

### Embedded Signing in a Host App

Embed the signing experience inside a host web app so users never leave to sign. POST `/embedded/drafts` creates a draft and returns a short-lived embedded URL. The host app loads it in an iframe; on completion a webhook fires document.completed, which the host app uses to release downstream actions like contract activation.

Example prompt: Create an embedded draft from a template, return the embedded URL for the iframe, and set up a webhook to `/our-app/sign-complete` for document.completed events

### Agent-Driven Contract Lifecycle via Jentic

Use a Jentic-connected agent to send signature requests, monitor status across documents, and remind late signers without bespoke integration code. The agent searches Jentic for the operation it needs, loads the schema, and calls Modusign with credentials drawn from the vault - a useful pattern for ops teams running thousands of contracts.

Example prompt: List all documents pending signature for more than 5 days and send a reminder via POST `/documents/{id}/remind` to each

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/documents` | Create a signature request from an uploaded file |
| POST | `/documents/template` | Create a signature request from a template |
| GET | `/documents/{id}` | Retrieve the current status of a document |
| POST | `/documents/{id}/cancel` | Cancel a pending signature request |
| POST | `/documents/{id}/remind` | Send a reminder to outstanding signers |
| POST | `/embedded/drafts` | Create an embedded signing draft |
| POST | `/webhooks` | Subscribe to document lifecycle webhooks |

## Key resources

- **Documents** — Create, send, cancel, and track signature requests
- **Templates** — List and manage reusable document templates
- **Embedded** — Create embedded drafts that host apps load in an iframe
- **Webhooks** — Manage webhook subscriptions for document lifecycle events
- **Files** — Upload PDFs and merge multiple files before sending
- **Labels** — Apply and remove labels for organisation and reporting

## Why Jentic

- **Setup:** Wiring Modusign by hand means supporting both its Basic-auth API key and OAuth bearer token, working against Korean-language docs, and hand-coding the document, template, and webhook calls yourself. Through Jentic you install once, import Modusign from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** Modusign puts the document id in the URL path (`/documents/{id}/cancel`, `/documents/{id}/remind`), so a rule can pin your agent to one document and the operations that act on it. You choose the operations it may call, so a destructive one like cancelling a signing request is not included unless you add it.
- **Credential handling:** Your Modusign key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'send a contract for signing' or 'remind a signer', and Jentic returns the matching Modusign operation with its body schema so the agent calls the right endpoint without browsing the Korean-language docs.

## Related APIs

- **Dropbox Sign API** — Dropbox Sign (formerly HelloSign) is a global e-signature API with templates, embedded signing, and webhooks.
- **PandaDoc API** — PandaDoc combines document generation with e-signature and quote-to-cash workflows.
- **SignRequest API** — SignRequest is a European e-signature platform with similar template and webhook features.

## FAQ

### What authentication does the Modusign API use?

Modusign supports HTTP Basic auth using the account email as username and the API key as password, or a Bearer OAuth access token for apps acting on behalf of a user. Both schemes target the same base URL https://api.modusign.co.kr. Through Jentic, both credential forms are stored encrypted in your Jentic One instance and injected at execution time.

### Can I send a signature request from a Modusign template?

Yes. POST `/documents/template` with the template ID and an array of participants and field values. The response includes the new document ID, status, and per-participant signing URLs. Templates are managed via GET and DELETE /templates and POST /templates.

### What are the rate limits for the Modusign API?

The Modusign OpenAPI does not declare a numeric rate limit. The vendor's developer documentation indicates limits are applied per account at the platform level - agents should respect 429 responses, batch outgoing requests, and avoid tight polling on `/documents/{id}`; instead subscribe to webhooks for status changes.

### How do I send a Korean e-signature request through Jentic?

Run pip install jentic, then search Jentic for 'send a contract for signing on Modusign'. Jentic returns the POST /documents operation with its body schema. Load the schema, pass the file ID and signer list, and execute. The Modusign API key is resolved from the vault and never enters the agent context.

### Does Modusign support webhook notifications?

Yes. POST /webhooks registers a subscription URL and selected event types. Modusign delivers POST callbacks when documents move through statuses such as completed or cancelled. List existing subscriptions via GET /webhooks and remove them via DELETE `/webhooks/{id}.`

### Can I embed the Modusign signing UI in my own app?

Yes. POST `/embedded/drafts` creates a draft and returns a short-lived embedded URL that the host application loads in an iframe. POST `/embedded/drafts/template` creates the same flow from a saved template. Combine with webhooks to act on document.completed events server-side.

### Can I limit what my agent is allowed to do with the Modusign API?

Yes. Because you run Jentic One yourself, your own rules decide which Modusign operations and credentials the agent may use. Modusign puts the document id in the URL path, as in `/documents/{id}/remind` and `/documents/{id}/cancel`, so you can pin the agent to a single document and only the operations that act on it. You pick the exact operations it may call, so a destructive one such as cancelling a signing request is left out unless you deliberately add it.
