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

# Get Signature Link

> Retrieve the contract signing links for each legal representative of a solicitation. Applies to the national onboarding flow, when the solicitation is in waiting_signature.

<Info>
  Part of the [Onboarding Documents flow](/account/onboarding-documents-flow). After compliance approves all documents in a **national** solicitation, its status becomes `waiting_signature` and a contract is issued for signature (via ZapSign). Use this endpoint to get each signer's `sign_url` and route the legal representatives to sign.

  **Cross-border** solicitations have no signature step — calling this endpoint for one returns `404`.
</Info>

## Path Parameters

<ParamField path="uuid" type="string" required>
  UUID of the solicitation (the `id` returned by [Create Company](/api-reference/account/create)).

  * Format: UUID
  * Example: `339074a8-1834-49c5-af94-4a044248d88d`
</ParamField>

## Response

<ResponseField name="status" type="string">
  Status of the signature request. One of `pending_signature`, `signed`, `expired`.
</ResponseField>

<ResponseField name="signers" type="array">
  The legal representatives who must sign the contract.

  <Expandable title="signer object">
    <ResponseField name="name" type="string">
      Signer's full name.
    </ResponseField>

    <ResponseField name="email" type="string">
      Signer's email address.
    </ResponseField>

    <ResponseField name="status" type="string">
      Signing status of this signer. One of `pending`, `signed`.
    </ResponseField>

    <ResponseField name="sign_url" type="string">
      The ZapSign signing link. Route the signer to this URL to sign the contract.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseExample>
  ```json 200 OK theme={null}
  {
    "status": "pending_signature",
    "signers": [
      {
        "name": "João Silva",
        "email": "joao.silva@companyx.com",
        "status": "pending",
        "sign_url": "https://app.zapsign.com.br/verificar/doc/xxxxxxxx"
      }
    ]
  }
  ```

  ```json 404 Signature not found theme={null}
  {
    "message": "Signature request not found"
  }
  ```

  ```json 404 Solicitation not found theme={null}
  {
    "message": "Solicitation not found"
  }
  ```
</ResponseExample>

## Errors

| Status | When                                                                                                                                                                       |
| ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `404`  | Solicitation not found / not accessible, or the solicitation has no signature request (e.g. a cross-border solicitation, or one that has not reached `waiting_signature`). |

## Download the signed contract

To download the contract document (the original, or the signed version once available), call:

```
GET /v2/register/companies/{uuid}/signature/file
```

The response streams the file as a binary download (with its original file name).

| Status | When                                                             |
| ------ | ---------------------------------------------------------------- |
| `200`  | File returned as a download.                                     |
| `404`  | Solicitation not found, or no signature document file available. |

```bash cURL theme={null}
curl -X GET "https://api.sandbox.wepayout.com.br/v2/register/companies/339074a8-1834-49c5-af94-4a044248d88d/signature/file" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -o contract.pdf
```

## Examples

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET "https://api.sandbox.wepayout.com.br/v2/register/companies/339074a8-1834-49c5-af94-4a044248d88d/signature/link" \
    -H "Authorization: Bearer YOUR_API_KEY"
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    "https://api.sandbox.wepayout.com.br/v2/register/companies/339074a8-1834-49c5-af94-4a044248d88d/signature/link",
    { headers: { Authorization: "Bearer YOUR_API_KEY" } }
  );

  const { signers } = await response.json();
  signers.forEach((s) => console.log(`${s.name}: ${s.sign_url}`));
  ```

  ```python Python theme={null}
  import requests

  url = "https://api.sandbox.wepayout.com.br/v2/register/companies/339074a8-1834-49c5-af94-4a044248d88d/signature/link"
  headers = {"Authorization": "Bearer YOUR_API_KEY"}

  response = requests.get(url, headers=headers)
  for signer in response.json()["signers"]:
      print(signer["name"], signer["sign_url"])
  ```
</CodeGroup>

## Related Resources

<CardGroup cols={2}>
  <Card title="Onboarding Documents Integration" icon="file-arrow-up" href="/account/onboarding-documents-flow">
    Understand the full flow
  </Card>

  <Card title="Onboarding Webhook" icon="webhook" href="/api-reference/account/webhook/onboarding-documents">
    Statuses delivered to your URL
  </Card>
</CardGroup>
