> ## Documentation Index
> Fetch the complete documentation index at: https://about.sendforsign.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Place special placeholder

> Place a special placeholder in a PDF contract.

Special placeholders are four types of placeholders that are created automatically for every recipient.
So, before placing special fields in your PDF contract, create a recipient using [this request](/api-reference/recipient/create).
After this, all the special placeholders will be created automatically with corresponding keys:
`Recipient_Key_1`, `Recipient_Key_2`, `Recipient_Key_3`, `Recipient_Key_4`.

Here's an example of a placeholder key: `"placeholderKey": "93447fb5-91ee-41ad-9f73-b4ae2d467292_4"`.

Available placeholder codes:

* <b>1</b>: Recipient's date signed.
* <b>2</b>: Recipient's full name.
* <b>3</b>: Recipient's email.
* <b>4</b>: Recipient's signature.

### Body parameters

<ParamField body="data" type="object" required>
  <Expandable title="child attribute">
    <ParamField body="action" type="string" required>
      Action type.
    </ParamField>

    <ParamField body="clientKey" type="string" required>
      Key of the client.
    </ParamField>

    <ParamField body="contractKey" type="string" required>
      Key of the contract.
    </ParamField>

    <ParamField body="placeholders" type="array" required>
      Array of placeholders.

      <Expandable title="child attribute">
        <ParamField body="placeholderKey" type="string" required>
          Key of the placeholder that needs to be updated. Generated automatically from 2 paramaters: Recipient's Key and Special Type.
        </ParamField>

        <ParamField body="isSpecial" type="boolean" required>
          True for special fields.
        </ParamField>

        <ParamField body="specialType" type="string" required>
          Use the following placeholder codes to create the corresponding fields:
          <b>1</b>: Recipient's date signed,
          <b>2</b>: Recipient's full name
          <b>3</b>: Recipient's email
          <b>4</b>: Recipient's signature
        </ParamField>

        <ParamField body="insertion" type="array">
          Array of places.
        </ParamField>

        <Expandable title="child attribute">
          <ParamField body="id" type="string">
            ID of the insertion. Provide a new ID for each insertion. If you provide the ID of an existing
            placeholder, the placeholder will be updated.
          </ParamField>

          <ParamField body="pageId" type="string">
            Page number where you insert the placeholder, starting from 0.
          </ParamField>

          <ParamField body="width" type="string">
            Width of the placeholder.
          </ParamField>

          <ParamField body="height" type="string">
            Height of the placeholder.
          </ParamField>

          <ParamField body="positionX" type="string">
            Position X of the placeholder, starting from the top-left corner of the page.
          </ParamField>

          <ParamField body="positionY" type="string">
            Position Y of the placeholder, starting from the top-left corner of the page.
          </ParamField>
        </Expandable>
      </Expandable>
    </ParamField>
  </Expandable>
</ParamField>

### Response

<ResponseField name="placeholder" type="string">
  Placeholder structure.

  <Expandable title="child attribute">
    <ResponseField name="createTime" type="string">
      Create time.
    </ResponseField>

    <ResponseField name="changeTime" type="string">
      Change time.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="code" type="string">
  The code of the answer.
</ResponseField>

<ResponseField name="message" type="string">
  The message of the answer.
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X POST 'https://api.sendforsign.com/api/placeholder' \
       -H 'X-Sendforsign-Key: YOUR_API_KEY' \
       -H 'Content-Type: application/json' \
       -d '{
      "data": {
          "action": "update",
          "clientKey": "YOUR_CLIENT_KEY",
          "contractKey": "CONTRACT_KEY",
          "placeholders": [
              {
                  "placeholderKey": "RECIPIENT_KEY_4",
                  "isSpecial": true,
                  "specialType": 4,
                  "insertion": [
                      {
                          "action": "update",
                          "clientKey": "YOUR_CLIENT_KEY",
                          "id": 2,
                          "pageId": 0,
                          "width": 150,
                          "height": 150,
                          "positionX": 1,
                          "positionY": 1
                      }
                  ]
              }
          ]
      }
  }'
  ```
</RequestExample>

<ResponseExample>
  ```json Response theme={null}
  {
      "code": 201,
      "message": "Placeholder updated"
  }
  ```
</ResponseExample>
