---
title: "Sign document"
method: POST
path: "/signature_link/sign"
tags: ["Document AI — E-Signatures"]
---

# Sign document

`POST /signature_link/sign`

## Request

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

Signer-facing public endpoint. Submit a signature for an active signing request after OTP verification.

## Request body

- object
  - `token` string, required: Same signing token as verify_otp (from ?token=). Example: {"token":"<from signing URL>","verified_token":"...","signature":"Jane Doe","signature_type":"type"}
  - `verified_token` string: Verification token returned by po_signature_links_verify_otp.
  - `signature` string, required: Signature payload (Base64 PNG for draw/upload, plain text for type).
  - `signature_type` 'draw' | 'type' | 'upload': Signature method: drawn, typed, or uploaded image.
  - `signer_name` string: Display name of the signer.
  - `client_data` object: Additional client data (IP, timestamp, User-Agent).

## Response `200`

Success

- object: Dokument unterschreiben
  - `status` 'success' | 'error', required: HTTP-Level Status
  - `job_id` string, required
  - `message` string: Menschenlesbare Statusmeldung
  - `pipeline` string
  - `operation` string: Ausgefuehrte Operation
  - `processing_time` string: Gesamte Verarbeitungszeit inkl. Queue (Format: 123.45ms)
  - `result` object, required: Das eigentliche Verarbeitungsergebnis
    - `status` 'completed' | 'failed' | 'timeout': Job-Level Status
    - `message` string: Pipeline-spezifische Statusmeldung
    - `duration_ms` string: Reine Pipeline-Verarbeitungszeit in ms
    - `output` object
      - `signed` boolean
      - `signed_pofid` string

## 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)
