---
title: "Sign assignment items"
method: POST
path: "/v1/documents/{documentId}/assignments/{assignmentId}"
tags: ["Signing"]
---

# Sign assignment items

`POST /v1/documents/{documentId}/assignments/{assignmentId}`

Sign a document with input fields (collect method): submit the signer's item values, completing their items. For **virtual** assignments the signer must first confirm their data via `PUT /v1/documents/{documentId}/signers/confirm-data`, otherwise this returns `400` (Signer data must be confirmed before signing). Signers whose verification method is `DigitalCertificate` cannot use this endpoint — their signature must be produced through `POST /v1/signers/certificate/start` + `/complete`, and this returns `400`. The request body is a JSON array of item entries. Uses the signer access code.

[Copy as Markdown](https://api.assinafy.com.br/v1/docs/markdown?method=post&path=%2Fv1%2Fdocuments%2F%7BdocumentId%7D%2Fassignments%2F%7BassignmentId%7D) [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%252Fdocuments%252F%257BdocumentId%257D%252Fassignments%252F%257BassignmentId%257D%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%252Fdocuments%252F%257BdocumentId%257D%252Fassignments%252F%257BassignmentId%257D%20and%20help%20me%20integrate%20this%20endpoint.)

## Path parameters

- `documentId` string, required
- `assignmentId` string, required

## Request body

- object[]
  - `itemId` string, required — The assignment item ID.
  - `fieldId` string, required — Field associated with the item.
  - `pageId` string, required — The page ID.
  - `value` string, required — String representation of the value.

## Response `200`

Signing result

- 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

## Other responses

- `400` — Signer data must be confirmed before signing (virtual assignments), or the signer must sign with a digital certificate through the digital certificate endpoints.
- `401` — Missing or invalid credentials.
- `409` — The document is not ready to be signed yet.
- `500` — Unexpected server error.

---

[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-service-production.skmtc.workers.dev/v1/apis/assinafy/assinafy-api-reference/revisions/f479941d10e9/schema)
