# Attach signature to multiple pdf documents

`POST /omni/attach-signature-to-pdf/v2`

Base URL: `https://demo-api.incodesmile.com` — Incode demo environment

Attach signature from interview to previously uploaded PDF contracts at (x, y) coordinates with desired height to
desired page on pdf. Coordinates are relative to left bottom corner of page. Every document id can have multiple signature
attached to it, hence the array of signature positions for every document.

## Path & query parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `interviewId` | query | string |  |  |
| `api-version` | header | string | yes |  |

## Request body

Content-Type: `application/json`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `signaturePositionsOnContracts` | object |  |  |
| `includeSignedDocumentInResponse` | boolean |  | Includes the signed document in base64 in response. |
| `includeNom151SignatureInResponse` | boolean |  | Includes the Nom 151 signature of the signed document in the response. |
| `includeSignedDocumentWithNom151InResponse` | boolean |  | Includes the signed document with the Nom 151 signature attached in the pdf in the response. |
| `includeCertificateDetailsInResponse` | boolean |  | Include the certificate details with which the Nom151 signature was created. |

Example — example:

```json
{
  "includeSignedDocumentInResponse": true,
  "includeNom151SignatureInResponse": true,
  "includeSignedDocumentWithNom151InResponse": true,
  "includeCertificateDetailsInResponse": true,
  "signaturePositionsOnContracts": {
    "e81cd044-98fd-47b0-b0c5-937b22b69977#contract1": [
      {
        "x": 10,
        "y": 10,
        "height": 10,
        "pageNumber": 2,
        "orientation": "ORIENTATION_NORMAL"
      },
      {
        "x": 20,
        "y": 30,
        "height": 10,
        "pageNumber": 1,
        "orientation": "ORIENTATION_90_DEGREE"
      }
    ],
    "1ffcd128-153f-40d4-a881-7c3362e58806#contract2": [
      {
        "x": 10,
        "y": 10,
        "height": 20,
        "pageNumber": 2
      },
      {
        "x": 20,
        "y": 30,
        "height": 20,
        "pageNumber": 1
      }
    ],
    "074355ff-81f5-4b9f-a6c6-eb41bdcaf9f1#contract3": [
      {
        "x": 10,
        "y": 10,
        "height": 30,
        "pageNumber": 2
      },
      {
        "x": 20,
        "y": 30,
        "height": 30,
        "pageNumber": 1
      }
    ]
  }
}
```

## Responses

### 200

OK

Response body (`application/json`):

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `success` | boolean |  | Flag indicating request passed successfully. |
| `sessionStatus` | string |  | Session status Enum: `Alive`, `Closed`, `Deleted` |
| `additionalInformation` | object |  |  |

```json
{
  "success": true,
  "sessionStatus": "Alive",
  "additionalInformation": {
    "signingDetails": {
      "providedBy": "Advantage Security, S. de R.L. de C.V.",
      "requestedBy": "Incode Technologies Inc.",
      "policyValue": "2.16.484.101.10.316.2.1.1.2.",
      "signingHash": "AHm8P/i2AnvdM8vKfVLWe5xCovA2v/7l3zmWc1+N4HE=",
      "certificateSerial": "2C",
      "signingTimestamp": "1651076647389"
    },
    "signedDocumentBase64": "base64 of pdf document",
    "signedDocumentWithNomSignatureBase64": "base64 of pdf document with nom151"
  }
}
```

### 400

Bad Request

Response body (`application/json`):

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `timestamp` | integer (int64) |  | UTC timestamp in milliseconds |
| `status` | integer (int32) |  | Custom error code or HTTP status code |
| `error` | string |  | HTTP status error |
| `message` | string |  | Custom error message |
| `path` | string |  | Endpoint path |
| `details` | object |  | Custom error details |
