---
title: "Sign a Signature Request"
method: POST
path: "/signature_requests/{signatureRequestId}/signers/{signerId}/sign"
tags: ["Signer"]
---

# Sign a Signature Request

`POST /signature_requests/{signatureRequestId}/signers/{signerId}/sign`

Sign a Signature Request on behalf of a given Signer.

Use this endpoint if you are integrating [your own signing flow](https://developers.youtrust.com/docs/building-your-own-signing-flow) (Signers won't go through Youtrust's pre-made signing flow).

To use this endpoint, you must match the following conditions:
- The Signature Request `delivery_mode` must be set to `none`.
- The Signature Request must not have any Approver, Signer Document Request or Signer Consent Request.
- The Signature Request must not have the parameter `signers_allowed_to_decline` set to `true`.
- The signature level must be `"Simple eSignature"`.

Related guide: [Building your own signing flow](https://developers.youtrust.com/docs/building-your-own-signing-flow#step-3-collect-the-signer-consent-through-your-own-signing-flow)

**ℹ️ This endpoint accepts two request body formats — pick the one that matches your use case:**
- 📝 `application/json` — sign without uploading a signature image.
- 📁 `multipart/form-data` — upload a signature image alongside the consent payload.

**🔓 Endpoint access**
- Environments: `production`, `sandbox`
- API key scopes: `organization`, `workspace`
- Plans: `scale`
- Add-ons (for production access): _none_

## Path parameters

- `signatureRequestId` string, uuid, required — The unique identifier for a resource.
- `signerId` string, uuid, required — The unique identifier for a resource.

## Request body

- SignerSign
  - `otp` string, nullable
  - `ip_address` union, required — Signer's public IP address at the time of signing. Private IP addresses (e.g. 10.x.x.x, 172.16-31.x.x, 192.168.x.x) are not accepted, as a public IP is required to be recorded in the Audit Trail.
    - string, ipv4
    - string, ipv6
  - `consent_given_at` string, date-time, required — UTC date. Must be in format `2024-01-18T22:00:00+00:00`

## Response `204`

No Content

## Other responses

- `400` — Bad request
- `401` — Access unauthorized
- `403` — Access forbidden
- `404` — Resource not found
- `405` — This method is not allowed
- `415` — UnsupportedMediaType
- `429` — Too Many Requests, please try again later.
- `500` — Internal Server Error

---

[API](https://skmtc.net/yousign/apis/public-api-v3.md) · [All operations](https://skmtc.net/yousign/apis/public-api-v3/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/yousign/public-api-v3/revisions/8d258c0b45d6/schema)
