> ## 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.

# Send to recipients

> Send an existing contract to recipients for signing, approval and more.

One way to send a contract to recipients is when you create a contract.
[See this page](/api-reference/contract/create-send) to learn more.

If you need to send an existing contract to recipients, use the request below.

### 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="userKey" type="string">
      ID of the user who is sending the contract. If not specified, the default user credentials will be used.
    </ParamField>

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

    <ParamField body="recipients" type="array">
      Array of recipients, optional. If no array of recipients is provided,
      the system will send the contract to those recipients who were added previously.

      <Expandable title="child attribute">
        <ParamField body="recipientKey" type="string">
          A recipient key corresponds to an existing recipient in the contract you are sending.
          Use this parameter if you need to update any parameter of this specific recipient.
        </ParamField>

        <ParamField body="action" type="string">
          What the recipient needs to do with the contract. Available options: `view`, `sign`, `approve`, and `lock`.
        </ParamField>

        <ParamField body="customMessage" type="string">
          Custom note to the recipient. If not specified, the default message will be sent.
        </ParamField>

        <ParamField body="fullname" type="string">
          Full name of the recipient.
        </ParamField>

        <ParamField body="email" type="string" required>
          Email of the recipient.
        </ParamField>

        <ParamField body="position" type="number">
          Signing order. If not specified, all requests will be sent simultaneously.
        </ParamField>
      </Expandable>
    </ParamField>
  </Expandable>
</ParamField>

### Response

<ResponseField name="result" type="boolean">
  Status.
</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/recipient' \
       -H 'X-Sendforsign-Key: YOUR_API_KEY' \
       -H 'Content-Type: application/json' \
       -d '{ 
  		  "data": {
  				   "action": "send",
  				   "clientKey": "YOUR_CLIENT_KEY",
                     "userKey": "USER_KEY", 
  				   "contractKey": "CONTRACT_KEY",
             "recipients":[
              {
                  "recipientKey": "RECIPIENT_KEY",
                  "action": "sign",
                  "clientKey": "YOUR_CLIENT_KEY",
                  "customMessage": "Custom message text",
                  "fullname": "John Johnson", 
                  "email": "john_johnson1@mail.com", 
                  "position": 1
              },
              {
                  "action": "view",
                  "clientKey": "YOUR_CLIENT_KEY",
                  "customMessage": "Custom message text",
                  "fullname": "John Johnson", 
                  "email": "john_johnson2@mail.com", 
                  "position": 2
              }
                 ], 
  				  }
         }'
  ```
</RequestExample>

<ResponseExample>
  ```json Response theme={null}
       {
         "result": true,
         "code": "200",
         "message": "Contract sent"
      }
  ```
</ResponseExample>
