---
title: "Create signature"
method: POST
path: "/v1/clients/{clientId}/signatures"
tags: ["Qualified Electronic Signature"]
---

# Create signature

`POST /v1/clients/{clientId}/signatures`

## Request

- Base URL: `https://api.ext-sandbox.fourthline.com`
- URL: `https://api.ext-sandbox.fourthline.com/v1/clients/{clientId}/signatures`
- Auth: OAuth 2
  - Client credentials
  - Token URL: `https://example.com/token`

Use this endpoint to create a signature, including its metadata and the document(s) to be signed. <br /><br /><img src="https://files.readme.io/310d4d3-Inline_Caution.svg" align="left" alt="Important" /> **Important:** <code>signatureId</code> and <code>workflowId</code> are string identifiers that can be used interchangeably.

## Path parameters

- `clientId` string, required

## Headers

- `Authorization` string, required: The `access_token` returned in your most recent [Create access token](ref:create-access-token) response.
- `Content-Type` string

## Request body `multipart/form-data`

- object
  - `requestData` object: Metadata for the signature flow. Sent as JSON inside multipart/form-data. <br /> Content-Type: application/json
    - `branch` string: Your configuration for this product. <br />Set the string provided by your Fourthline delivery manager.<br />If **not** set, we use your default configuration. <br /><br /><img src="https://files.readme.io/8eb9022-Inline_Tip.svg" align="left"/> **Tip:** Use this parameter for case configuration in older setups.
    - `mobilePhoneNumber` string: Phone number used to send the OTP.
  - `documentsToSign` object[], required: List of metadata entries describing each document to be signed. This array is JSON-encoded when sent in multipart/form-data. <br /> Content-Type: application/json
    - `id` string, required: Your unique identifier for the document to sign. <br /><br />Format: uuid string <br /><br />Example: `790f325a-48c9-4b82-bb53-c0ea128236f0`
    - `fileName` string, required: The filename of the document to sign.
    - `displayName` string: **Highly recommended** <br />If using App Drop-in or Web SDK integration, the document filename for us to display to the client in the user interface.
    - `signatureAppearance` object: Controls how/where the signature appears.
      - `visibleSignature` boolean: Indicates whether the signature is visible on the document.
      - `location` object: The position of the signature on the signed document in PDF units.
        - `x` integer: The x axis of the signature position on the signed document in PDF units. <br />If **not** set but `visibleSignature` is `true`, the default value `400` is used. <br />If you set `x`, you must also set `y`.
        - `y` integer: The y axis of the signature position on the signed document in PDF units. <br />If **not** set but `visibleSignature` is `true`, the default value `45` is used. <br />If you set `y`, you must also set `x`.
      - `size` object: The size of the signature on the signed document in PDF units.
        - `width` integer: The width of the signature on the signed document in PDF units. <br />If **not** set but `visibleSignature` is `true`, the default value `150` is used. <br />If you set `width`, you must also set `height`.
        - `height` integer: The height of the signature on the signed document in PDF units. <br />If **not** set but `visibleSignature` is `true`, the default value `45` is used. <br />If you set `height`, you must also set `width`.
      - `pageNumber` integer: The page of the signed document to display the signature on. <br /><br />Example: 1= first page, 2= second page <br />If **not** set, the default is the last page of the PDF. <br /><img src="https://files.readme.io/310d4d3-Inline_Caution.svg" align="left"/> **Caution**: If you set an invalid value, e.g. `6` for a 4-page document: <br />• InfoCert: The request fails. <br />• Namirial: The default is used.
  - `files` string[], required: An array of form data files, one for each document to sign. <br /> **Required** headers: <br /> Content-Disposition: form-data; name=files; filename=filename.pdf (must match **1** filename in `documentsToSign`) <br /> Content-Type: application/pdf

## Response `202`

The signature was created

- object
  - `SignatureId` string, uuid, required

## Other responses

- `400`: The request did not match the specification or a required parameter was missing
- `404`: The provided `clientId` was not found in the system

---

[API](https://skmtc.dev/fourthline/apis/fourthline-apis.md) - [All operations](https://skmtc.dev/fourthline/apis/fourthline-apis/llms.txt) - [OpenAPI document](https://skmtc.dev/fourthline/apis/fourthline-apis/revisions/87907b6e3164?raw)
