---
title: "Send the certified copy again"
method: POST
path: "/v1/sign/certified-copy"
tags: ["Signing"]
---

# Send the certified copy again

`POST /v1/sign/certified-copy`

## Request

- Base URL: `https://api.assinafy.com.br`
- URL: `https://api.assinafy.com.br/v1/sign/certified-copy`
- Auth: API key in query parameter `signer-access-code`
- TypeScript: <https://skmtc.dev/assinafy/apis/assinafy-api-reference/docs/v1/sign/certified-copy/post.ts> (a function with typed inputs; its response is checked against the schema)

Sends the signer their certified document again, with a download link valid for 30 minutes. It goes on the channel of the signature request (e-mail when the request used e-mail, otherwise WhatsApp) and only to the e-mail or number the signing messages went to, never to a changed signer record. Works with the signer's access code after they signed, including once the code is closed and after the workspace is deleted. E-mail: once every 2 minutes and 10 times in 24 hours. WhatsApp: once per signature request; after that the signer must ask the sender. `certified_copy` on `GET /v1/sign` says whether it is available.

[Copy as Markdown](https://api.assinafy.com.br/v1/docs/markdown?method=post&path=%2Fv1%2Fsign%2Fcertified-copy) [Open in ChatGPT](https://chatgpt.com/?q=Read%20the%20API%20documentation%20at%20https%3A%2F%2Fapi.assinafy.com.br%2Fv1%2Fdocs%2Fmarkdown%3Fmethod%3Dpost%26path%3D%252Fv1%252Fsign%252Fcertified-copy%20and%20help%20me%20integrate%20this%20endpoint.) [Open in Claude](https://claude.ai/new?q=Read%20the%20API%20documentation%20at%20https%3A%2F%2Fapi.assinafy.com.br%2Fv1%2Fdocs%2Fmarkdown%3Fmethod%3Dpost%26path%3D%252Fv1%252Fsign%252Fcertified-copy%20and%20help%20me%20integrate%20this%20endpoint.)

## Request body

- object
  - `document_id` string: With the code of a document of an envelope: another document of that envelope the signer is on, whose certified copy to send, in place of the code's own. A value that is no document id (a list, or empty) answers `400`. Ignored with any other code.

## Response `200`

Sent

- object: Standard success wrapper. Operations add their own `data`.
  - `status` integer: HTTP status code, mirrored in the body.
  - `message` string: Human-readable message; empty on success.
  - `data` object
    - `available` boolean: Whether it can be asked for again.
    - `notification_method` 'Email' | 'Whatsapp'
    - `resends_left` integer, nullable: WhatsApp re-sends left; null for e-mail.
    - `sent_to` string: The masked contact it went to.

## Other responses

- `400`: The signer's step has not started yet (sequential signing), or, with the code of a document of an envelope, `document_id` is no document id.
- `401`: Missing or invalid credentials.
- `404`: `document_id` names a document outside the code's envelope, or one the signer is not on.
- `409`: The signer has not signed, the document is not certified yet, or the request has no e-mail or WhatsApp to send to (ask the sender).
- `429`: E-mail: asked again within 2 minutes or more than 10 times in 24 hours. WhatsApp: already re-sent once (ask the sender).
- `500`: The message could not be sent; nothing was used up, so it can be asked again.

## Changes

> 20 revisions in range; 1 not diffed.

- **2026-11-11** `f4fa0790d9f8`: 6 info
  - added optional request body
  - added the media type `application/json` for the response with the status `409`
  - added the media type `application/json` for the response with the status `429`
  - added the media type `application/json` for the response with the status `500`
  - …2 more
- **2026-11-04** `5fcad067d962`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/assinafy/apis/assinafy-api-reference/changes/v1/sign/certified-copy/post.md)

---

[API](https://skmtc.dev/assinafy/apis/assinafy-api-reference.md) - [All operations](https://skmtc.dev/assinafy/apis/assinafy-api-reference/llms.txt) - [OpenAPI document](https://skmtc.dev/assinafy/apis/assinafy-api-reference/revisions/511261bfe294?raw)
