Access & visibility
Allow signing.GetSigningDocument on your API key.
Workspace access by default. Private member data requires approved member delegation through Brigg-Act-As; the key supplies permissions while private ownership and project boundaries remain enforced.
Request fields
Send a JSON object with the following fields. Required fields must be included; omit optional fields you do not need.
signing_request_idstringRequiredKeep the signing_request_id returned when invitations were requested. A file_id or signer_id identifies something else. signing.RequestFileSignatures.
At least 1 character.
versionstringOptionalWhich document to download: the original source or the completed signed archive.
Allowed: "original", "signed". Default: "signed".
Follow one signing request through completion
Upload a readable PDF, then request signatures and keep signing_request_id. The request keeps a fixed source; replacing the original file later does not change what recipients sign.
Read Get signing request for per-recipient progress. completed means everyone signed, but the archive can still be preparing: wait for non-null file_id before requesting the signed PDF. Get signing document returns a short-lived URL for either the fixed original or the signed archive.
Notification failures do not undo the signing request. Remind the affected pending recipients instead of creating a duplicate request. Recipients sign themselves; a delegated API call cannot supply a recipient's signature. See the complete signing workflow.
Response
Returns 200 OK with a JSON body.
urlstringRequiredAbsolute URL, including its scheme.
filenamestringRequiredOriginal filename, including its extension.
expires_atnumberRequiredSigning deadline in Unix milliseconds.
Errors & retries
This operation reads data. It needs no idempotency key and can be retried after a transient failure.
For rate limits, follow the server’s retry guidance and back off. See HTTP errors and safe retries and limits.
| HTTP status | Code | What to do |
|---|---|---|
| 400 | invalid_json |
Send a JSON object with Content-Type: application/json. |
| 400 | invalid_input |
Check the request fields and types. |
| 401 | invalid_key |
The workspace API key is missing, invalid or revoked. |
| 403 | forbidden |
Check the key’s operation and resource grants. If Brigg-Act-As is supplied, the key must be authorized to delegate to that member. |
| 404 | not_found |
The requested operation or resource is not available to this credential. |
| 429 | rate_limited |
Wait for Retry-After before retrying. |
| 409 | document_not_ready |
The requested original or signed archive is not available yet; read GetSigningRequest before retrying. |
Next steps
JSON schemas
Use the complete schemas for validation or client generation.
Full request JSON schema
{
"type": "object",
"properties": {
"signing_request_id": {
"type": "string",
"minLength": 1,
"description": "Keep the signing_request_id returned when invitations were requested. A file_id or signer_id identifies something else. [signing.RequestFileSignatures](/developers/reference/signing/RequestFileSignatures)."
},
"version": {
"type": "string",
"enum": [
"original",
"signed"
],
"default": "signed",
"description": "Which document to download: the original source or the completed signed archive."
}
},
"required": [
"signing_request_id"
],
"additionalProperties": false,
"examples": [
{
"signing_request_id": "sig_example",
"version": "signed"
}
]
}Full response JSON schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Absolute URL, including its scheme."
},
"filename": {
"type": "string",
"description": "Original filename, including its extension."
},
"expires_at": {
"type": "number",
"description": "Signing deadline in Unix milliseconds."
}
},
"required": [
"url",
"filename",
"expires_at"
],
"additionalProperties": false,
"examples": [
{
"url": "https://example.com/temporary-signed-download",
"filename": "Consulting agreement.pdf",
"expires_at": 1794301500000
}
]
}