---
title: "Request a signature (send OTP) - Global route"
method: POST
path: "/leases/signatures/request"
tags: ["Leases", "Signatures"]
---

# Request a signature (send OTP) - Global route

`POST /leases/signatures/request`

## Request

- Base URL: `https://api.faireplace.com/api`
- URL: `https://api.faireplace.com/api/leases/signatures/request`
- Auth: HTTP bearer

Requests a signer's signature by sending an OTP code via SMS.
The person_id (owner_id or lessee_id) is automatically resolved from the JWT (auth_user_id).
Minimal structure: document_signature_id and signature_data.signature_image.

## Request body

- RequestSignatureDto: Request to initiate a user's signature. This object is sent to the `/leases/{lease_id}/signature/request` endpoint to: 1. Submit the signature image captured by the user 2. Trigger sending an OTP code via SMS The user is automatically identified via their API key - no need to specify their identity in the request.
  - `document_signature_id` string, uuid, required: Unique identifier of the signature process. Obtained during initiation via `POST /leases/{lease_id}/signature/initiate`.
  - `person_id` string, uuid, nullable: Optional. The signer's `owner_id` or `lessee_id`, when they have no `auth_user_id` linked to their account. Not a way around identity checks: the JWT's email must match the signer's email for the request to be accepted.
  - `document_declare_lu` boolean: The signer **declares** having read the document, as a guest signer already does. It is a declaration, not proof of reading: the platform cannot certify that anyone read anything, only that they stated they had, and when. Defaults to `false`: a client that omits it declares nothing rather than declaring on the user's behalf.
  - `signature_data` object, required: Handwritten signature data
    - `signature_image` string, byte, required: Base64-encoded handwritten signature image. **Recommended format:** - PNG or JPEG - Transparent background (PNG) or white - Size: 300x100 pixels minimum - Weight: < 500KB after encoding **Example data URL prefix (optional):** `data:image/png;base64,iVBORw0KGgo...`

## Response `200`

OTP sent successfully

- object: Dynamic response from DO Global

## Other responses

- `400`: Bad request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not found
- `500`: Internal Server Error

---

[API](https://skmtc.dev/faireplace/apis/faireplace-property-management-api.md) · [All operations](https://skmtc.dev/faireplace/apis/faireplace-property-management-api/llms.txt) · [OpenAPI document](https://skmtc.dev/faireplace/apis/faireplace-property-management-api/revisions/69de39762919?raw)
