Reference
Documents
List documents#
Authorization: API-Key · Rate limit 600 requests / 60 s (sandbox 10 in total)
Query parameters#
- qstringmax length 100
- statusstring
document.uploadeddocument.draftdocument.sentdocument.vieweddocument.completeddocument.declineddocument.voideddocument.expireddocument.error - tagstringmax length 50
- created_fromstring (date-time) | string
- created_tostring (date-time) | string
- pageintegermin 1 · max 100000 · default 1
- countintegermin 1 · max 100 · default 50
- order_bystring
date_created-date_createddefault "-date_created"
curl "https://macaaw.com/public/v1/documents" \
-H "Authorization: API-Key $MACAAW_API_KEY"Responses#
- 200OKapplication/json · DocumentList
- 400Validation errorapplication/json · Error
- 401Missing, unknown or revoked API keyapplication/json · Error
- 403Plan or permissionapplication/json · Error
- 404Not foundapplication/json · Error
- 429Rate limitedapplication/json · ErrorHeaders:
Retry-After
{
"results": [
{
"id": "string",
"name": "string",
"status": "document.uploaded",
"date_created": "2026-10-30T11:35:00.000000Z",
"date_modified": "2026-10-30T11:35:00.000000Z",
"expiration_date": "2026-10-30T11:35:00.000000Z",
"sandbox": true
}
]
}Create a document from a PDF#
Authorization: API-Key · Rate limit 100 requests / 60 s (sandbox 10 in total)
Multipart: file (PDF) and data (JSON string). Text tags such as {signature:Client} become fields (parse_text_tags, default true); AcroForm fields named Role.something become fields with parse_form_fields. Unknown role → 400.
Headers#
- Idempotency-Keystring
Replays the first response for 24 hours.
max length 255
Request body#
multipart/form-data · required
- filestring (binary)required
- dataobjectrequired
JSON string
- namestringrequiredmin length 1 · max length 255
- recipientsarray of objectrequiredmin items 1 · max items 50
- emailstring (email)requiredmax length 254
- first_namestringmax length 50
- last_namestringmax length 50
- rolestringrequiredmin length 1 · max length 60
- signing_orderintegermin 1 · max 100
- localestring
enzhhiesarfrbnptidurrudejapcmarzmrviteswhatrpnbtlta - typestring
signercc
- fieldsarray of objectmax items 500
- typestringrequired
signatureinitialsnamedatetextcheckbox - rolestringrequiredmin length 1 · max length 60
- pageintegerrequiredmin 1 · max 500
- xnumberrequiredmin 0 · max 100000
- ynumberrequiredmin 0 · max 100000
- widthnumberrequiredmin 0 · max 100000
- heightnumberrequiredmin 0 · max 100000
- requiredboolean
- namestringmax length 100
- parse_form_fieldsboolean
- parse_text_tagsboolean
- subjectstringmax length 200
- messagestringmax length 2000
- expires_in_daysany
71430 - remindersboolean
- access_codestringmin length 4 · max length 32
- tagsarray of stringmax items 20
- metadataobject
curl -X POST "https://macaaw.com/public/v1/documents" \
-H "Authorization: API-Key $MACAAW_API_KEY" \
-F "file=@document.pdf;type=application/pdf" \
-F 'data={"name":"string","recipients":[{"email":"client@example.com","first_name":"string","last_name":"string","role":"string","signing_order":1,"locale":"en","type":"signer"}],"fields":[{"type":"signature","role":"string","page":1,"x":0,"y":0,"width":0,"height":0,"required":true,"name":"string"}],"parse_form_fields":true,"parse_text_tags":true,"subject":"string","message":"string","expires_in_days":7,"reminders":true,"access_code":"string","tags":["string"],"metadata":{}}'Responses#
- 201OKapplication/json · DocumentCreated
- 400Validation errorapplication/json · Error
- 401Missing, unknown or revoked API keyapplication/json · Error
- 403Plan or permissionapplication/json · Error
- 404Not foundapplication/json · Error
- 409Wrong stateapplication/json · Error
- 413File too largeapplication/json · Error
- 422Unprocessable fileapplication/json · Error
- 429Rate limitedapplication/json · ErrorHeaders:
Retry-After
{
"id": "string",
"name": "string",
"status": "document.uploaded",
"date_created": "2026-10-30T11:35:00.000000Z",
"date_modified": "2026-10-30T11:35:00.000000Z",
"expiration_date": "2026-10-30T11:35:00.000000Z",
"sandbox": true,
"uuid": "string"
}Document status#
Authorization: API-Key · Rate limit 600 requests / 60 s (sandbox 10 in total)
Path parameters#
- idstringrequired
curl "https://macaaw.com/public/v1/documents/$ID" \
-H "Authorization: API-Key $MACAAW_API_KEY"Responses#
- 200OKapplication/json · DocumentStatus
- 400Validation errorapplication/json · Error
- 401Missing, unknown or revoked API keyapplication/json · Error
- 403Plan or permissionapplication/json · Error
- 404Not foundapplication/json · Error
- 429Rate limitedapplication/json · ErrorHeaders:
Retry-After
{
"id": "string",
"name": "string",
"status": "document.uploaded",
"date_created": "2026-10-30T11:35:00.000000Z",
"date_modified": "2026-10-30T11:35:00.000000Z",
"expiration_date": "2026-10-30T11:35:00.000000Z",
"sandbox": true
}Delete a document now (files and records)#
Authorization: API-Key · Rate limit 600 requests / 60 s (sandbox 10 in total)
Path parameters#
- idstringrequired
curl -X DELETE "https://macaaw.com/public/v1/documents/$ID" \
-H "Authorization: API-Key $MACAAW_API_KEY"Responses#
- 204No content
- 400Validation errorapplication/json · Error
- 401Missing, unknown or revoked API keyapplication/json · Error
- 403Plan or permissionapplication/json · Error
- 404Not foundapplication/json · Error
- 409Wrong stateapplication/json · Error
- 429Rate limitedapplication/json · ErrorHeaders:
Retry-After
Document details#
Authorization: API-Key · Rate limit 300 requests / 60 s (sandbox 10 in total)
Path parameters#
- idstringrequired
curl "https://macaaw.com/public/v1/documents/$ID/details" \
-H "Authorization: API-Key $MACAAW_API_KEY"Responses#
- 200OKapplication/json · DocumentDetails
- 400Validation errorapplication/json · Error
- 401Missing, unknown or revoked API keyapplication/json · Error
- 403Plan or permissionapplication/json · Error
- 404Not foundapplication/json · Error
- 429Rate limitedapplication/json · ErrorHeaders:
Retry-After
{
"id": "string",
"name": "string",
"status": "document.uploaded",
"date_created": "2026-10-30T11:35:00.000000Z",
"date_modified": "2026-10-30T11:35:00.000000Z",
"expiration_date": "2026-10-30T11:35:00.000000Z",
"sandbox": true,
"date_sent": "2026-10-30T11:35:00.000000Z",
"date_completed": "2026-10-30T11:35:00.000000Z",
"subject": "string",
"message": "string",
"signing_order": "sequential",
"silent": true,
"recipients": [
{
"id": "string",
"email": "client@example.com",
"first_name": "string",
"last_name": "string",
"role": "string",
"type": "signer",
"signing_order": 1,
"has_completed": true,
"status": "waiting",
"completed_at": "2026-10-30T11:35:00.000000Z",
"viewed_at": "2026-10-30T11:35:00.000000Z",
"declined_at": "2026-10-30T11:35:00.000000Z"
}
],
"fields": [
{
"id": "string",
"type": "signature",
"recipient_id": "string",
"role": "string",
"page": 1,
"x": 1,
"y": 1,
"width": 1,
"height": 1,
"required": true,
"name": "string",
"filled": true
}
],
"tags": [
"string"
],
"metadata": {},
"events": [
{
"type": "string",
"date": "2026-10-30T11:35:00.000000Z",
"recipient_id": "string"
}
],
"sent_by": {
"email": "string",
"first_name": "string",
"last_name": "string"
},
"download_available": true
}Send a draft for signature#
Authorization: API-Key · Rate limit 100 requests / 60 s (sandbox 10 in total)
silent: true sends no emails; use embedded signing sessions. 409 unless the document is a draft.
Path parameters#
- idstringrequired
Headers#
- Idempotency-Keystring
Replays the first response for 24 hours.
max length 255
Request body#
application/json
- subjectstringmax length 200
- messagestringmax length 2000
- silentboolean
curl -X POST "https://macaaw.com/public/v1/documents/$ID/send" \
-H "Authorization: API-Key $MACAAW_API_KEY" \
-H "Content-Type: application/json" \
-d '{"subject":"string","message":"string","silent":true}'Responses#
- 200OKapplication/json · DocumentStatus
- 400Validation errorapplication/json · Error
- 401Missing, unknown or revoked API keyapplication/json · Error
- 403Plan or permissionapplication/json · Error
- 404Not foundapplication/json · Error
- 409Wrong stateapplication/json · Error
- 429Rate limitedapplication/json · ErrorHeaders:
Retry-After
{
"id": "string",
"name": "string",
"status": "document.uploaded",
"date_created": "2026-10-30T11:35:00.000000Z",
"date_modified": "2026-10-30T11:35:00.000000Z",
"expiration_date": "2026-10-30T11:35:00.000000Z",
"sandbox": true
}Remind signers#
Authorization: API-Key · Rate limit 100 requests / 60 s (sandbox 10 in total)
Path parameters#
- idstringrequired
Request body#
application/json
- recipient_idstring (uuid)
curl -X POST "https://macaaw.com/public/v1/documents/$ID/remind" \
-H "Authorization: API-Key $MACAAW_API_KEY" \
-H "Content-Type: application/json" \
-d '{"recipient_id":"string"}'Responses#
- 200OKapplication/json · RemindResult
- 400Validation errorapplication/json · Error
- 401Missing, unknown or revoked API keyapplication/json · Error
- 403Plan or permissionapplication/json · Error
- 404Not foundapplication/json · Error
- 409Wrong stateapplication/json · Error
- 429Rate limitedapplication/json · ErrorHeaders:
Retry-After
{
"reminded": [
"string"
],
"skipped": [
{
"recipient_id": "string",
"reason": "string"
}
]
}Void a sent document#
Authorization: API-Key · Rate limit 100 requests / 60 s (sandbox 10 in total)
Path parameters#
- idstringrequired
Request body#
application/json
- status"document.voided"required
- notestringmax length 500
curl -X PATCH "https://macaaw.com/public/v1/documents/$ID/status" \
-H "Authorization: API-Key $MACAAW_API_KEY" \
-H "Content-Type: application/json" \
-d '{"status":"document.voided","note":"string"}'Responses#
- 200OKapplication/json · DocumentStatus
- 400Validation errorapplication/json · Error
- 401Missing, unknown or revoked API keyapplication/json · Error
- 403Plan or permissionapplication/json · Error
- 404Not foundapplication/json · Error
- 409Wrong stateapplication/json · Error
- 429Rate limitedapplication/json · ErrorHeaders:
Retry-After
{
"id": "string",
"name": "string",
"status": "document.uploaded",
"date_created": "2026-10-30T11:35:00.000000Z",
"date_modified": "2026-10-30T11:35:00.000000Z",
"expiration_date": "2026-10-30T11:35:00.000000Z",
"sandbox": true
}Download the PDF#
Authorization: API-Key · Rate limit 100 requests / 60 s (sandbox 10 in total)
Completed: the signed PDF with its signing certificate. Otherwise the original. 409 while the signed PDF is being prepared.
Path parameters#
- idstringrequired
Query parameters#
- separate_certificatestring
truefalse
curl "https://macaaw.com/public/v1/documents/$ID/download" \
-H "Authorization: API-Key $MACAAW_API_KEY" \
-o result.pdfResponses#
- 200Fileapplication/pdf · string (binary)
- 400Validation errorapplication/json · Error
- 401Missing, unknown or revoked API keyapplication/json · Error
- 403Plan or permissionapplication/json · Error
- 404Not foundapplication/json · Error
- 429Rate limitedapplication/json · ErrorHeaders:
Retry-After
Embedded signing session#
Authorization: API-Key · Rate limit 100 requests / 60 s (sandbox 10 in total)
For a sent document (silent or not). Open url in an iframe on one of your allowed embed origins; the page posts { type: "macaaw.signing", event: "completed"|"declined" } to the parent.
Path parameters#
- idstringrequired
Headers#
- Idempotency-Keystring
Replays the first response for 24 hours.
max length 255
Request body#
application/json
- recipientstring (email)requiredmax length 254
- lifetimeintegermin 900 · max 86400
curl -X POST "https://macaaw.com/public/v1/documents/$ID/session" \
-H "Authorization: API-Key $MACAAW_API_KEY" \
-H "Content-Type: application/json" \
-d '{"recipient":"client@example.com","lifetime":900}'Responses#
- 201OKapplication/json · Session
- 400Validation errorapplication/json · Error
- 401Missing, unknown or revoked API keyapplication/json · Error
- 403Plan or permissionapplication/json · Error
- 404Not foundapplication/json · Error
- 409Wrong stateapplication/json · Error
- 429Rate limitedapplication/json · ErrorHeaders:
Retry-After
{
"id": "string",
"expires_at": "2026-10-30T11:35:00.000000Z",
"url": "https://example.com/webhooks/macaaw"
}