> ## 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 basic placeholder

> Place a basic placeholder in a PDF contract.

Basic placeholders are text placeholders that can be used to fill in HTML and PDF contracts.
Additionally, they can be linked to any recipient afterward.

Before placing placeholders in a PDF, you need to [create them](/api-reference/placeholder/create) in advance.

### 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.
        </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": "PLACEHOLDER_KEY",
                  "insertion": [
                      {
                          "action": "update",
                          "clientKey": "YOUR_CLIENT_KEY",
                          "id": 0,
                          "pageId": 0,
                          "width": 100,
                          "height": 100,
                          "positionX": 1,
                          "positionY": 1
                      }
                  ]
              }
          ]
      }
  }'
  ```
</RequestExample>

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