- List signature requests GET
- Create a signature request POST
- Retrieve a signature request GET
- Delete a signature request DELETE
- Send a draft signature request POST
- Cancel a signature request POST
- List a signature request's audit trail GET
- Remind signers POST
- Download the signed document GET
- Create a signing session POST
Cancel a signature request
Cancels a draft or sent request: its signers can no longer sign. An already canceled request is returned as is.
bearerAuthAuthorizationBearer <token>A secret API key from the dashboard: coss_live_… for production environments, coss_test_… for sandbox environments.
id*stringThe signature request's id.
Coss-Version?"2026-10-10"The API version (a date) to use for this request. Defaults to your organization's version, pinned to the latest one when it first used the API and upgraded from the dashboard. The SDK always sends the version it was built for.
"2026-10-10"The canceled request.
application/json- response
- response
- …
object*"sign_request""sign_request"id*stringstatus*stringdraft until sent, sent while signers sign, then completed (everyone signed), declined (a signer declined), canceled or expired.
"draft""sent""completed""declined""canceled""expired"title*stringmessage*string|nullsigning_order*string"parallel""sequential"documents*array<>signers*array<>fields*array<>metadata*sandbox*booleanreminder_interval_days*|Days between automatic reminders to email signers; null: none.
expires_at*|date-timeexpired_at*|date-timesent_at*|date-timecompleted_at*|date-timecanceled_at*|date-timedeclined_at*|date-timesigned_document*|The completed document, sealed by coss.com: every document with the signatures and values filled in, and a certificate of completion. null until it is ready (shortly after completed, announced by the sign_request.completed webhook); download it from GET /v1/sign/requests/{id}/signed_document.
created_at*stringdate-timeimport { Coss } from "coss";const coss = new Coss({ apiKey: process.env.COSS_API_KEY, baseUrl: "https://api.coss.com",});const { data, error } = await coss.sign.requests.cancel("sreq_01k7c8m4q2f3e9v6t5r1n0p8yz");{ "object": "sign_request", "id": "sreq_01k7c8m4q2f3e9v6t5r1n0p8yz", "status": "sent", "title": "Services agreement", "message": null, "signing_order": "parallel", "documents": [ { "id": "sdoc_01k7c8m4q2f3e9v6t5r1n0p8yz", "filename": "agreement.pdf", "sha256": "9f2c6c0f0e1d4b7a8c5e3f2a1b0c9d8e7f6a5b4c3d2e1f0a9b8c7d6e5f4a3b2c", "page_count": 2 } ], "signers": [ { "object": "sign_signer", "id": "ssgn_01k7c8m4q2f3e9v6t5r1n0p8yz", "name": "Ada Lovelace", "email": "ada@example.com", "order": 1, "delivery": "email", "authentication": "email_link", "status": "pending", "client_ref": null, "viewed_at": null, "signed_at": null, "declined_at": null, "decline_reason": null } ], "fields": [ { "object": "sign_field", "id": "sfld_01k7c8m4q2f3e9v6t5r1n0p8yz", "signer_id": "ssgn_01k7c8m4q2f3e9v6t5r1n0p8yz", "document_id": "sdoc_01k7c8m4q2f3e9v6t5r1n0p8yz", "type": "signature", "page": 2, "x": 72, "y": 640, "width": 140, "height": 12, "required": true, "label": null, "anchor": "{{signature:signer_1}}" } ], "metadata": {}, "sandbox": false, "reminder_interval_days": 3, "expires_at": null, "expired_at": null, "sent_at": "2026-10-26T15:04:05.000Z", "completed_at": null, "canceled_at": null, "declined_at": null, "signed_document": null, "created_at": "2026-10-26T15:04:05.000Z"}