POST /api/v1/contracts
Uploads a PDF and creates a contract in contracts + contract_files.
file (required) – PDFtitle (required)description (optional)curl -X POST "https://firmato.eu/sign/public/api/v1/contracts" \ -H "Authorization: Bearer <token>" \ -F "file=@contract.pdf" \ -F "title=Sales Contract" \ -F "description=Generated by Partner Platform"
{
"contract_id": 123,
"status": "draft",
"hash_sha256": "....",
"upload_name": "contract.pdf"
}
POST /api/v1/contracts/{id}/parties
curl -X POST "https://firmato.eu/sign/public/api/v1/contracts/123/parties" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"parties":[
{"name":"Alice Doe","email":"alice@example.com"},
{"name":"Bob Doe","email":"bob@example.com"}
]
}'
The response includes each recipient sign_url (tokenized URL) that can be opened in a browser.
POST /api/v1/contracts/{id}/send
curl -X POST "https://firmato.eu/sign/public/api/v1/contracts/123/send" \ -H "Authorization: Bearer <token>"
Add ?force=1 to resend invitations to all parties.
GET /api/v1/contracts/{id}
curl -X GET "https://firmato.eu/sign/public/api/v1/contracts/123" \ -H "Authorization: Bearer <token>"
Returns contract row, parties signing status, and helper links including a stamped download URL (works once fully signed).
GET /api/v1/contracts/{id}/download/original