---
title: "Create signature request (signing link)"
method: POST
path: "/signature_link/create_and_send"
tags: ["Document AI — E-Signatures"]
---

# Create signature request (signing link)

`POST /signature_link/create_and_send`

## Request

- Base URL: `https://api.paperoffice.ai/latest`
- URL: `https://api.paperoffice.ai/latest/signature_link/create_and_send`
- Auth: HTTP bearer

Create a signing request and send invitations.

## Request body

- object
  - `document_pofid` string, required: POFID of the document to sign (required).
  - `signers` object[], required: Signers array; each entry requires name, email, and phone (E.164).
    - `name` string
    - `email` string
    - `phone` string: E.164 phone (required for SMS verification).
  - `channel` 'email' | 'manual' | 'none': Invitation delivery: email (default) sends the invitation email; manual or none only returns the signing URL for the user to pass on. The signer receives the SMS one-time code on the signing page.
  - `message` string: Personal message to signers
  - `expires_days` number: Validity period in days (default: 30)
  - `language` string: Language (de, en, es, fr, ...)
  - `signature_fields` object[]: Positioning of signature fields in the PDF. Takes precedence over placement_template_uuid. page may be a number or last/all.
    - `page` unknown
    - `page_anchor` 'absolute' | 'last' | 'all': Layout anchor; last/all are resolved against the document page count
    - `x` number: X-Position
    - `y` number: Y-Position
    - `width` number: Width
    - `height` number: Height
    - `relative` boolean: Relative 0–1 coordinates (default true)
    - `signer_index` integer: Signer index (0-based)
  - `reminder` object: Reminder configuration
    - `enabled` boolean
    - `first_after_days` number
    - `interval_days` number
    - `max_count` number
  - `placement_template_uuid` string: UUID of a saved layout template (signature field positions per page, including last/all anchors). Used when signature_fields is omitted. Explicit signature_fields win if both are sent.
  - `placement_template_id` string: Alias for placement_template_uuid.
  - `template_uuid` string: Alias for placement_template_uuid.
  - `document_page_count` integer: Document page count for resolving last/all placement anchors. If omitted, the API uses the stored document page count.

## Response `200`

Success

- SuccessEnvelope: Success envelope. Payload fields are endpoint-specific (top-level fields, `result`/`job_result` for jobs, `data` on some account endpoints).
  - `status` 'success', required
  - `processing_time` union
    - string
    - number
  - `_billing` object

## Other responses

- `4XX`: Error
- `5XX`: Error

---

[API](https://skmtc.dev/paperoffice/apis/paperoffice-ai-api.md) · [All operations](https://skmtc.dev/paperoffice/apis/paperoffice-ai-api/llms.txt) · [OpenAPI document](https://skmtc.dev/paperoffice/apis/paperoffice-ai-api/revisions/c6a6228a4509?raw)
