canonical: https://jentic.com/apis/eu-api.legalesign.com/legalesign

# Eu Api Legalesign Legalesign API

The Legalesign API is the REST interface for Legalesign, an electronic signature SaaS used to send, sign and archive legally binding documents. It supports sending PDF or HTML documents to one or more signers, attaching static PDFs to email envelopes, managing reusable templates, and reading status and signed PDFs back into downstream systems. Authentication uses an API key in the Authorization header with an ApiKey [key]:[secret] value, scoped per Legalesign account on the EU region endpoint.

## For AI agents

Send documents for e-signature, retrieve signed PDFs, manage templates and signers, and check signing status on the Legalesign EU platform.

## Scope

Does not handle identity verification, payment collection, or document drafting - use for sending PDFs and HTML documents for electronic signature only.

## Capabilities

- Send a PDF or HTML document for electronic signature to one or more signers
- Retrieve a fast status summary of a sent document including signer progress
- Download the final signed PDF or the in-progress draft for a document
- Manage reusable document templates and their signer placeholders
- Upload static PDF attachments that travel with signing email envelopes
- Manage groups, members and account users for team-based signing workflows

## Use cases

### Customer contract e-signing

Send a sales contract to a customer for legally binding electronic signature, then download the executed PDF when complete. POST /document/ accepts the PDF and signer metadata and creates a signing envelope; GET `/pdf/{docId}`/ returns the final signed PDF for archiving. End-to-end integration takes a day for basic flows.

Example prompt: POST /document/ with the PDF, signer email and name, then poll GET `/status/{docId}`/ until signed and download GET `/pdf/{docId}/.`

### Signing status reconciliation

Reconcile in-flight envelopes against an internal CRM by polling the lightweight status endpoint instead of hammering the full document endpoint. GET /status/ returns a fast short summary across documents, suitable for a daily sync job that updates deal stages.

Example prompt: GET /status/ filtered to the last 7 days, map each docId to its CRM record, and update the deal stage to 'Signed' for any document whose status is signed.

### Template-driven onboarding

Onboard new clients with a reusable Legalesign template that has predefined signer fields, so the API call only needs to supply the signer name and email. Templates are managed via the /template/ endpoints and referenced by ID when creating documents, which removes the need to upload the PDF on every send.

Example prompt: List templates via GET /template/, pick the Onboarding template ID, and POST /document/ referencing that template with the new client's signer details.

### Agent-driven contract execution via Jentic

An AI agent reads an approved deal in the CRM, calls Legalesign through Jentic to send the standard contract for signature, and pushes the signed PDF back into the deal record once complete. Jentic stores the Legalesign API key in your Jentic One instance so the agent never handles the raw secret.

Example prompt: Search Jentic for 'send a contract for signature', load the schema for POST /document/, and execute with the customer email and contract PDF from the CRM.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/document/` | Send a document for signature |
| GET | `/document/` | List sent documents |
| GET | `/document/{docId}/` | Get details of a single document |
| GET | `/status/{docId}/` | Fast status check for a document |
| GET | `/pdf/{docId}/` | Download the signed or draft PDF |
| POST | `/attachment/` | Upload a PDF attachment |
| POST | `/document/preview/` | Preview the signing page for an HTML document |

## Key resources

- **document** — Signing envelopes - send, list, retrieve, archive and preview signing pages
- **signer** — Signers attached to a document, with status and resend operations
- **template** — Reusable document templates with predefined signer fields
- **attachment** — Static PDF files attached to signing email envelopes
- **pdf** — Raw signed or draft PDF retrieval
- **status** — Fast summary status queries for documents
- **user** — Account user management
- **group** — Groups and members for team-based access
- **callback** — Webhook callback configuration for envelope events

## Why Jentic

- **Setup:** Wiring the Legalesign API by hand means formatting the key as 'ApiKey key:secret' in the Authorization header, targeting the EU host, and shaping the signer arrays yourself. Through Jentic you install once, import the Legalesign API from the API Directory, store the API key once, and your agent calls it.
- **Permission scoping:** Legalesign puts the document id in the URL path (`/document/{docId}`/), so a rule can pin your agent to reading one document and its status: it fetches that document, status, and PDF and nothing else. You choose the operations it may call, so sending a new document for signature is not included unless you add it.
- **Credential handling:** Your Legalesign API key is stored once, encrypted, by your own Jentic One instance and injected into the Authorization header 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 signature' or 'check a document's signing status', and Jentic returns the matching Legalesign operation with its signer-array input schema so the agent calls the right endpoint without reading the reference docs.

## Related APIs

- **PandaDoc API** — PandaDoc offers e-signature plus document creation, payments and proposal templates
- **SignRequest API** — SignRequest provides a similar EU-friendly e-signature API with template support
- **Dropbox Sign API** — Dropbox Sign (formerly HelloSign) is a widely adopted e-signature API with Dropbox integration
- **HubSpot Account Info** — Sync signing status and signed PDF URLs back into HubSpot deal records

## FAQ

### What authentication does the Legalesign API use?

Legalesign uses an API key passed in the Authorization header with the literal value 'ApiKey [key]:[secret]'. Get the key from the API settings page after activating an account. Through Jentic the key is stored in your Jentic One instance and injected at request time.

### Can I send a document for signature with the Legalesign API?

Yes. POST /document/ creates a signing envelope from a PDF or HTML payload and one or more signers. Signers receive a branded email with the signing link, and the document moves through the standard signed/declined/expired states.

### How do I download the signed PDF after a document is complete?

Call GET `/pdf/{docId}`/ - it returns the final signed PDF if the envelope is complete, or the in-progress draft otherwise. Pair it with GET `/status/{docId}`/ to confirm signing has finished before downloading.

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

Rate limits are not declared in the OpenAPI spec. The trial sandbox is capped at 5 signers; production accounts have plan-based throughput. Contact support@legalesign.com for the limits that apply to your account.

### How do I integrate Legalesign with an AI agent through Jentic?

Run pip install jentic, then search for 'send a contract for signature'. Jentic returns the POST /document/ operation, loads its input schema, and executes with the API key from the vault. The agent only sees the docId in the response.

### Can I preview what the signer will see before sending?

Yes. POST `/document/preview`/ returns a preview of the signing page for an HTML document so the agent or developer can verify formatting before issuing a real send.

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

Yes. Because you run Jentic One yourself, your own rules decide which Legalesign operations and credentials the agent may use. Since Legalesign puts the document id in the URL path, you can pin the agent to reading a single document with GET `/document/{docId}`/, GET `/status/{docId}`/ and GET `/pdf/{docId}`/ and nothing more. Sending a new document for signature via POST /document/ is only available if you explicitly add it to the agent's allowed operations.
