c.Docs & e-signature

Cincel API Reference

Automated machine-to-machine (M2M) API for Legal Timestamps (NOM-151 & Bitcoin Distributed Timestamp Server) and Digital Signatures across Mexico and Latin America.

Service Primary Use Cases Compliance & Proofs
Timestamps Data integrity, binary hashing, compliance archives NOM-151 (PSC Cert), Bitcoin Blockchain, RFC 3161
Digital Signatures Contracts, NDA agreements, onboarding workflows Advanced & Simple E-Signature, Audit Trail PDF, NOM-151

Timestamps

Certification for data messages and files with legally binding NOM-151 certificates and Bitcoin proof.

Quickstart:

  1. Create a Personal Access Token (PAT):

  2. Exchange PAT for a JWT:

    • Request a short-lived token via GET /tokens/jwt with Basic Auth using your PAT as the username and an empty password ({pat}:):
      curl -X GET "https://api.cincel.digital/v3/tokens/jwt" -u "{pat}:"

    Token Lifecycle & Rate Limits: JWTs remain valid for 2 hours. Cache and reuse the Bearer token across requests until expiration. Excessive token generation will trigger HTTP 429 (Too Many Requests).

  3. Request a NOM-151 Certificate (CCMD):

    • Compute the SHA-256 hash (64 hex characters) of your file and request certification via GET /timestamps/{hash}.asn1:
      curl -X GET "https://api.cincel.digital/v3/timestamps/{sha256_hash}.asn1" \
        -H "Authorization: Bearer {jwt}" \
        --output "{sha256_hash}.asn1"
    • Returns the official DER-encoded ASN.1 binary certificate issued by an accredited PSC.
    • For all available formats (.asn1, .asn1.pdf, .tsr, .xml), use GET /timestamps/{hash}.
  4. Public Verification:

    • Verify validity, legal timestamp, and blockchain record anytime at:
      https://audit.cincel.digital/timestamps/{sha256_hash}

Explore the full catalog: Timestamps Endpoints & Schema


Digital Signatures

End-to-end orchestration of legally binding electronic signature workflows with full legal evidence.

Quickstart:

  1. Authenticate via PAT & JWT:

  2. Prepare Team & Folder:

  3. Upload Document & Configure Signers:

  4. Dispatch Signing Invitations:

  5. Download Signed Assets & Evidence:

Explore the full catalog: Digital Signature Endpoints & Schema

🔑AUTHENTICATION REQUIRED
Server: https://api.cincel.digital/v3

Requests to the Cincel API require authorized credentials. Configure your credentials below and Try It Out will automatically inject them into all requests:

get

/documents/{document}.signed.pdf

Download final signed document PDF from R2 via redirect

Redirects to a temporary, presigned read-only URL of the final signed PDF in Cloudflare R2.

Behavior

  • Responds with HTTP 307 (Temporary Redirect) pointing directly to the secured object storage location.
  • The signed URL is time-limited for secure downloading.
  • Ensure your HTTP client follows redirects (e.g. use -L / --location with cURL).

Example cURL Request

# Follow redirect (-L) and save as output file
curl -L -X GET "https://api.cincel.digital/v3/documents/{document}.signed.pdf" \
  -H "Authorization: Bearer <jwt>" \
  --output "signed_contract.pdf"

Related Endpoints

PATH PARAMETERS
documentstringrequired

Document UUID

DEFINED RESPONSES
307Temporary Redirect to R2 presigned URL

Temporary Redirect to R2 presigned URL

JSON RESPONSE
"string"
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
401Unauthorized

Unauthorized

Request was rejected because it did not contain valid authentication credentials.

Possible reasons include:

  • Missing required Basic authentication header
  • Missing required Bearer authentication header
  • Invalid authentication credentials
  • Expired authentication credentials
  • Revoked authentication credentials
  • Disabled authentication credentials

If you are using Basic authentication

  • Ensure user account exists in this environment
  • Ensure that the username and password are correct
  • Keep in mind that user accounts are tied to their respective environment
  • Keep in mind that Basic authentication is case-sensitive

If you are using Bearer authentication

  • Ensure that the token is valid
  • Ensure that the token was issued by this environment
  • Ensure that the token is not expired
  • Keep in mind that tokens are tied to their respective environment
JSON RESPONSE
{
  "statusCode": 401,
  "error": "Unauthorized",
  "message": "Unauthorized",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
404Not found

Not found

Request was rejected because the requested resource does not exist.

Possible reasons include:

  • Requested resource does not exist
  • Default resource is being used instead of a custom resource
JSON RESPONSE
{
  "statusCode": 404,
  "error": "Not found",
  "message": "Not found",
  "validation": {}
}
500Internal server error

Internal server error

Server was not able to process the request due to an unexpected condition.

Please consider creating a support ticket to report this issue

  • Provide as much information as possible
  • Include the resource ID
  • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 500,
  "error": "Internal server error",
  "message": "Internal server error",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X GET "https://api.cincel.digital/v3/documents/{document}.signed.pdf"
get

/documents/{document}.unsigned.pdf

Download original unsigned document PDF from R2 via redirect

Redirects to a temporary presigned read-only URL of the original PDF in Cloudflare R2.

PATH PARAMETERS
documentstringrequired

Document UUID

DEFINED RESPONSES
307Temporary Redirect to R2 presigned URL

Temporary Redirect to R2 presigned URL

JSON RESPONSE
"string"
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
401Unauthorized

Unauthorized

Request was rejected because it did not contain valid authentication credentials.

Possible reasons include:

  • Missing required Basic authentication header
  • Missing required Bearer authentication header
  • Invalid authentication credentials
  • Expired authentication credentials
  • Revoked authentication credentials
  • Disabled authentication credentials

If you are using Basic authentication

  • Ensure user account exists in this environment
  • Ensure that the username and password are correct
  • Keep in mind that user accounts are tied to their respective environment
  • Keep in mind that Basic authentication is case-sensitive

If you are using Bearer authentication

  • Ensure that the token is valid
  • Ensure that the token was issued by this environment
  • Ensure that the token is not expired
  • Keep in mind that tokens are tied to their respective environment
JSON RESPONSE
{
  "statusCode": 401,
  "error": "Unauthorized",
  "message": "Unauthorized",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
404Not found

Not found

Request was rejected because the requested resource does not exist.

Possible reasons include:

  • Requested resource does not exist
  • Default resource is being used instead of a custom resource
JSON RESPONSE
{
  "statusCode": 404,
  "error": "Not found",
  "message": "Not found",
  "validation": {}
}
500Internal server error

Internal server error

Server was not able to process the request due to an unexpected condition.

Please consider creating a support ticket to report this issue

  • Provide as much information as possible
  • Include the resource ID
  • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 500,
  "error": "Internal server error",
  "message": "Internal server error",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X GET "https://api.cincel.digital/v3/documents/{document}.unsigned.pdf"
get

/documents/{document}.zip

Download all certificates of a fully signed document as a ZIP file

Downloads a consolidated ZIP archive containing all legal certificates, cryptographic proofs, and evidence generated for a fully signed document.

Archive Contents

  • Signed PDF: The final tamper-evident PDF with embedded visual badges and cryptographic signatures.
  • Audit Trail: Detailed certificate of completion (auditTrail.pdf) documenting all signers, IPs, and timestamps.
  • NOM-151 Proof: Data Message Conservation Certificate (.asn1 / .tsr).
  • Blockchain Evidence: Bitcoin / Ethereum blockchain certification receipts (.pdf and .xml).

Access Permissions

Requires authentication (Authorization: Bearer <jwt>). Accessible by:

  • Team members possessing access to the document's folder.
  • Verified signers and observers associated with the document.

Example cURL Request

curl -X GET "https://api.cincel.digital/v3/documents/{document}.zip" \
  -H "Authorization: Bearer <jwt>" \
  --output "document_evidence_package.zip"

Related Endpoints

PATH PARAMETERS
documentstringrequired

Document UUID

DEFINED RESPONSES
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
404Not found

Not found

Request was rejected because the requested resource does not exist.

Possible reasons include:

  • Requested resource does not exist
  • Default resource is being used instead of a custom resource
JSON RESPONSE
{
  "statusCode": 404,
  "error": "Not found",
  "message": "Not found",
  "validation": {}
}
500Internal server error

Internal server error

Server was not able to process the request due to an unexpected condition.

Please consider creating a support ticket to report this issue

  • Provide as much information as possible
  • Include the resource ID
  • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 500,
  "error": "Internal server error",
  "message": "Internal server error",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X GET "https://api.cincel.digital/v3/documents/{document}.zip"
get

/documents/{document}/signed-document.pdf

Get a signed document in PDF format

Document must be signed by all Signers to use this endpoint.
.

PATH PARAMETERS
documentstringrequired

doc uuid

DEFINED RESPONSES
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
401Unauthorized

Unauthorized

Request was rejected because it did not contain valid authentication credentials.

Possible reasons include:

  • Missing required Basic authentication header
  • Missing required Bearer authentication header
  • Invalid authentication credentials
  • Expired authentication credentials
  • Revoked authentication credentials
  • Disabled authentication credentials

If you are using Basic authentication

  • Ensure user account exists in this environment
  • Ensure that the username and password are correct
  • Keep in mind that user accounts are tied to their respective environment
  • Keep in mind that Basic authentication is case-sensitive

If you are using Bearer authentication

  • Ensure that the token is valid
  • Ensure that the token was issued by this environment
  • Ensure that the token is not expired
  • Keep in mind that tokens are tied to their respective environment
JSON RESPONSE
{
  "statusCode": 401,
  "error": "Unauthorized",
  "message": "Unauthorized",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
404Not found

Not found

Request was rejected because the requested resource does not exist.

Possible reasons include:

  • Requested resource does not exist
  • Default resource is being used instead of a custom resource
JSON RESPONSE
{
  "statusCode": 404,
  "error": "Not found",
  "message": "Not found",
  "validation": {}
}
410Gone

Gone

Request was rejected because the requested resource is no longer available.

Possible reasons include:

  • Owner of the resource deleted the resource
  • Staff member deleted the resource on behalf of the owner
JSON RESPONSE
{
  "statusCode": 410,
  "error": "Gone",
  "message": "Gone",
  "validation": {}
}
500Internal server error

Internal server error

Server was not able to process the request due to an unexpected condition.

Please consider creating a support ticket to report this issue

  • Provide as much information as possible
  • Include the resource ID
  • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 500,
  "error": "Internal server error",
  "message": "Internal server error",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X GET "https://api.cincel.digital/v3/documents/{document}/signed-document.pdf"
get

/identity-verifications/{identityVerification}/{docName}.jpeg

Get a doc/evidence of an identityVerification

Recover Evidence

To recover evidence in JPG format from identity verification for a document to sign, follow these steps:

1. Request Identity Verification

First, request identity verification with the following GET endpoint:

GET /identity-verifications

Ensure you have credits for identity verification.

2. Obtain Identity Verification UUID

If necessary, use this endpoint to obtain the identity verification UUID:

GET /teams/:team/folders/:folder/documents/:document/invites

Params:

  • team: UUID of the team
  • folder: UUID of the folder
  • document: UUID of the document

After validating the proof, you will obtain the identity_verification_uuid.

3. Recover Evidence

To recover evidence, use the following GET endpoint:

GET /identity-verifications/:identityVerification/:docName.jpeg

Possible Document Names:

  • credentialFrontImage
  • credentialBackImage
  • selfieImage
  • selfieLivenessImage

If the signer's document is not validated, you will receive a 404 HTTP response. This indicates that the process is yet to be completed, thus requested evidence was not (yet) found.

Params:

  • identityVerification: UUID of the identity verification
  • docName: Name of the document
PATH PARAMETERS
identityVerificationstringrequired
docNamestringrequired

Asset being requested

DEFINED RESPONSES
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
401Unauthorized

Unauthorized

Request was rejected because it did not contain valid authentication credentials.

Possible reasons include:

  • Missing required Basic authentication header
  • Missing required Bearer authentication header
  • Invalid authentication credentials
  • Expired authentication credentials
  • Revoked authentication credentials
  • Disabled authentication credentials

If you are using Basic authentication

  • Ensure user account exists in this environment
  • Ensure that the username and password are correct
  • Keep in mind that user accounts are tied to their respective environment
  • Keep in mind that Basic authentication is case-sensitive

If you are using Bearer authentication

  • Ensure that the token is valid
  • Ensure that the token was issued by this environment
  • Ensure that the token is not expired
  • Keep in mind that tokens are tied to their respective environment
JSON RESPONSE
{
  "statusCode": 401,
  "error": "Unauthorized",
  "message": "Unauthorized",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
404Not found

Not found

Request was rejected because the requested resource does not exist.

Possible reasons include:

  • Requested resource does not exist
  • Default resource is being used instead of a custom resource
JSON RESPONSE
{
  "statusCode": 404,
  "error": "Not found",
  "message": "Not found",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X GET "https://api.cincel.digital/v3/identity-verifications/{identityVerification}/{docName}.jpeg"
post

/teams

Create a new Team

Teams serve as containers for Documents, Folders and other assets on the system.

Each team can have multiple users, while each user can be a member of multiple teams at the same time.
Each user adopts a specific role on a team.

By using this endpoint, you'll be able to create a new Team.
To carry out this action, you must first authenticate yourself with the previously logged JWT token.

REQUEST BODY (JSON)
uuidstring (guid (uuid))optional
emojistringoptional
workspacestring (guid (uuid))optional
deleted_atstring (date)optional
created_atstring (date)optional
updated_atstring (date)optional
namestringrequired
Payload (JSON)
{
  "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "emoji": "string",
  "workspace": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "deleted_at": "2026-12-31",
  "created_at": "2026-10-12T22:57:34.072Z",
  "updated_at": "2026-10-12T22:57:34.072Z",
  "name": "team name"
}
DEFINED RESPONSES
201

Created

JSON RESPONSE
{
  "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "name": "string",
  "logo": "https://api.cincel.digital/v3",
  "emoji": "string",
  "workspace": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "deleted_at": "2026-12-31",
  "created_at": "2026-10-12T22:57:34.075Z",
  "updated_at": "2026-10-12T22:57:34.075Z"
}
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
500Internal server error

Internal server error

Server was not able to process the request due to an unexpected condition.

Please consider creating a support ticket to report this issue

  • Provide as much information as possible
  • Include the resource ID
  • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 500,
  "error": "Internal server error",
  "message": "Internal server error",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X POST "https://api.cincel.digital/v3/teams"
get

/teams/{team}/{takeout}.zip

Download signed documents for a team as a ZIP archive

Download all signed documents for a team as a ZIP archive, filtered by year or year-month.

URL patterns:

  • /teams/{team}/2024.zip — All signed documents from 2024
  • /teams/{team}/2024-01.zip — All signed documents from January 2024

Files inside the ZIP follow the naming convention:
{yyyy-mm-dd}_{uuid}_{type}.{ext}

Documents are streamed in batches — the archive can be arbitrarily large.

Requires JWT authentication. Access is granted to:

  • Staff or support users
  • Team members
PATH PARAMETERS
teamstringrequired

Team UUID

takeoutstringrequired

Year (e.g. 2024) or year-month (e.g. 2024-01)

DEFINED RESPONSES
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
401Unauthorized

Unauthorized

Request was rejected because it did not contain valid authentication credentials.

Possible reasons include:

  • Missing required Basic authentication header
  • Missing required Bearer authentication header
  • Invalid authentication credentials
  • Expired authentication credentials
  • Revoked authentication credentials
  • Disabled authentication credentials

If you are using Basic authentication

  • Ensure user account exists in this environment
  • Ensure that the username and password are correct
  • Keep in mind that user accounts are tied to their respective environment
  • Keep in mind that Basic authentication is case-sensitive

If you are using Bearer authentication

  • Ensure that the token is valid
  • Ensure that the token was issued by this environment
  • Ensure that the token is not expired
  • Keep in mind that tokens are tied to their respective environment
JSON RESPONSE
{
  "statusCode": 401,
  "error": "Unauthorized",
  "message": "Unauthorized",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
404Not found

Not found

Request was rejected because the requested resource does not exist.

Possible reasons include:

  • Requested resource does not exist
  • Default resource is being used instead of a custom resource
JSON RESPONSE
{
  "statusCode": 404,
  "error": "Not found",
  "message": "Not found",
  "validation": {}
}
500Internal server error

Internal server error

Server was not able to process the request due to an unexpected condition.

Please consider creating a support ticket to report this issue

  • Provide as much information as possible
  • Include the resource ID
  • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 500,
  "error": "Internal server error",
  "message": "Internal server error",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X GET "https://api.cincel.digital/v3/teams/{team}/{takeout}.zip"
get

/teams/{team}/contacts

List all contacts

Each Team is allowed to have an addressbook of frequently used contacts.
Use this endpoint to list all contacts owned by a specific Team.

Contacts are tied to its specific Team and all members of that specific Team can read the whole contacts list.

PATH PARAMETERS
teamstringrequired
QUERY PARAMETERS
limitintegeroptional
offsetintegeroptional
pageintegeroptional
sortstringoptional
orderstringoptional
include_deletedbooleanoptional
name_likestringoptional
email_likestringoptional
DEFINED RESPONSES
200

Successful

JSON RESPONSE
[
  {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "name": "string",
    "email": "developer@cincel.digital",
    "team": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "deleted_at": "2026-12-31",
    "created_at": "2026-10-12T22:57:34.243Z",
    "updated_at": "2026-10-12T22:57:34.243Z"
  }
]
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
404Not found

Not found

Request was rejected because the requested resource does not exist.

Possible reasons include:

  • Requested resource does not exist
  • Default resource is being used instead of a custom resource
JSON RESPONSE
{
  "statusCode": 404,
  "error": "Not found",
  "message": "Not found",
  "validation": {}
}
500Internal server error

Internal server error

Server was not able to process the request due to an unexpected condition.

Please consider creating a support ticket to report this issue

  • Provide as much information as possible
  • Include the resource ID
  • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 500,
  "error": "Internal server error",
  "message": "Internal server error",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X GET "https://api.cincel.digital/v3/teams/{team}/contacts"
post

/teams/{team}/contacts

Create or update a contact

Team Address Book — Contact Upsert

Upserts a contact within a team's address book using the contact's email as the unique identifier.

Key Highlights:

  • Upsert Logic: Automatically creates new contacts or updates existing ones (including reviving deleted contacts).
  • Permissions: Requires an admin or editor role to create or modify contacts. All team members can view the contact list.
  • Signer Independence: Contacts are a convenience feature; signers do not need to be saved as contacts to sign documents.
  • Methods: Supports both PATCH (recommended) and POST (legacy).
PATH PARAMETERS
teamstringrequired
REQUEST BODY (JSON)
namestringrequired
emailstringrequired
Payload (JSON)
{
  "name": "Contact name",
  "email": "email@cincel.digital"
}
DEFINED RESPONSES
200

Successful

JSON RESPONSE
{
  "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "name": "string",
  "email": "developer@cincel.digital",
  "team": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "deleted_at": "2026-12-31",
  "created_at": "2026-10-12T22:57:34.098Z",
  "updated_at": "2026-10-12T22:57:34.099Z"
}
201

Created

JSON RESPONSE
{
  "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "name": "string",
  "email": "developer@cincel.digital",
  "team": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "deleted_at": "2026-12-31",
  "created_at": "2026-10-12T22:57:34.098Z",
  "updated_at": "2026-10-12T22:57:34.099Z"
}
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
401Unauthorized

Unauthorized

Request was rejected because it did not contain valid authentication credentials.

Possible reasons include:

  • Missing required Basic authentication header
  • Missing required Bearer authentication header
  • Invalid authentication credentials
  • Expired authentication credentials
  • Revoked authentication credentials
  • Disabled authentication credentials

If you are using Basic authentication

  • Ensure user account exists in this environment
  • Ensure that the username and password are correct
  • Keep in mind that user accounts are tied to their respective environment
  • Keep in mind that Basic authentication is case-sensitive

If you are using Bearer authentication

  • Ensure that the token is valid
  • Ensure that the token was issued by this environment
  • Ensure that the token is not expired
  • Keep in mind that tokens are tied to their respective environment
JSON RESPONSE
{
  "statusCode": 401,
  "error": "Unauthorized",
  "message": "Unauthorized",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
404Not found

Not found

Request was rejected because the requested resource does not exist.

Possible reasons include:

  • Requested resource does not exist
  • Default resource is being used instead of a custom resource
JSON RESPONSE
{
  "statusCode": 404,
  "error": "Not found",
  "message": "Not found",
  "validation": {}
}
500Internal server error

Internal server error

Server was not able to process the request due to an unexpected condition.

Please consider creating a support ticket to report this issue

  • Provide as much information as possible
  • Include the resource ID
  • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 500,
  "error": "Internal server error",
  "message": "Internal server error",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X POST "https://api.cincel.digital/v3/teams/{team}/contacts"
patch

/teams/{team}/contacts

Create or update a contact

Team Address Book — Contact Upsert

Upserts a contact within a team's address book using the contact's email as the unique identifier.

Key Highlights:

  • Upsert Logic: Automatically creates new contacts or updates existing ones (including reviving deleted contacts).
  • Permissions: Requires an admin or editor role to create or modify contacts. All team members can view the contact list.
  • Signer Independence: Contacts are a convenience feature; signers do not need to be saved as contacts to sign documents.
  • Methods: Supports both PATCH (recommended) and POST (legacy).
PATH PARAMETERS
teamstringrequired
REQUEST BODY (JSON)
namestringrequired
emailstringrequired
Payload (JSON)
{
  "name": "Contact name",
  "email": "email@cincel.digital"
}
DEFINED RESPONSES
200

Successful

JSON RESPONSE
{
  "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "name": "string",
  "email": "developer@cincel.digital",
  "team": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "deleted_at": "2026-12-31",
  "created_at": "2026-10-12T22:57:34.098Z",
  "updated_at": "2026-10-12T22:57:34.099Z"
}
201

Created

JSON RESPONSE
{
  "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "name": "string",
  "email": "developer@cincel.digital",
  "team": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "deleted_at": "2026-12-31",
  "created_at": "2026-10-12T22:57:34.098Z",
  "updated_at": "2026-10-12T22:57:34.099Z"
}
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
401Unauthorized

Unauthorized

Request was rejected because it did not contain valid authentication credentials.

Possible reasons include:

  • Missing required Basic authentication header
  • Missing required Bearer authentication header
  • Invalid authentication credentials
  • Expired authentication credentials
  • Revoked authentication credentials
  • Disabled authentication credentials

If you are using Basic authentication

  • Ensure user account exists in this environment
  • Ensure that the username and password are correct
  • Keep in mind that user accounts are tied to their respective environment
  • Keep in mind that Basic authentication is case-sensitive

If you are using Bearer authentication

  • Ensure that the token is valid
  • Ensure that the token was issued by this environment
  • Ensure that the token is not expired
  • Keep in mind that tokens are tied to their respective environment
JSON RESPONSE
{
  "statusCode": 401,
  "error": "Unauthorized",
  "message": "Unauthorized",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
404Not found

Not found

Request was rejected because the requested resource does not exist.

Possible reasons include:

  • Requested resource does not exist
  • Default resource is being used instead of a custom resource
JSON RESPONSE
{
  "statusCode": 404,
  "error": "Not found",
  "message": "Not found",
  "validation": {}
}
500Internal server error

Internal server error

Server was not able to process the request due to an unexpected condition.

Please consider creating a support ticket to report this issue

  • Provide as much information as possible
  • Include the resource ID
  • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 500,
  "error": "Internal server error",
  "message": "Internal server error",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X PATCH "https://api.cincel.digital/v3/teams/{team}/contacts"
get

/teams/{team}/contacts/{contact}

Get a contact of a team

PATH PARAMETERS
teamstringrequired
contactstringrequired
DEFINED RESPONSES
200

Successful

JSON RESPONSE
{
  "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "name": "string",
  "email": "developer@cincel.digital",
  "team": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "deleted_at": "2026-12-31",
  "created_at": "2026-10-12T22:57:34.435Z",
  "updated_at": "2026-10-12T22:57:34.435Z"
}
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
401Unauthorized

Unauthorized

Request was rejected because it did not contain valid authentication credentials.

Possible reasons include:

  • Missing required Basic authentication header
  • Missing required Bearer authentication header
  • Invalid authentication credentials
  • Expired authentication credentials
  • Revoked authentication credentials
  • Disabled authentication credentials

If you are using Basic authentication

  • Ensure user account exists in this environment
  • Ensure that the username and password are correct
  • Keep in mind that user accounts are tied to their respective environment
  • Keep in mind that Basic authentication is case-sensitive

If you are using Bearer authentication

  • Ensure that the token is valid
  • Ensure that the token was issued by this environment
  • Ensure that the token is not expired
  • Keep in mind that tokens are tied to their respective environment
JSON RESPONSE
{
  "statusCode": 401,
  "error": "Unauthorized",
  "message": "Unauthorized",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
404Not found

Not found

Request was rejected because the requested resource does not exist.

Possible reasons include:

  • Requested resource does not exist
  • Default resource is being used instead of a custom resource
JSON RESPONSE
{
  "statusCode": 404,
  "error": "Not found",
  "message": "Not found",
  "validation": {}
}
500Internal server error

Internal server error

Server was not able to process the request due to an unexpected condition.

Please consider creating a support ticket to report this issue

  • Provide as much information as possible
  • Include the resource ID
  • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 500,
  "error": "Internal server error",
  "message": "Internal server error",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X GET "https://api.cincel.digital/v3/teams/{team}/contacts/{contact}"
patch

/teams/{team}/contacts/{contact}

Patch a Contact of a Team

PATH PARAMETERS
teamstringrequired
contactstringrequired
REQUEST BODY (JSON)
namestringoptional
emailstringoptional
Payload (JSON)
{
  "name": "string",
  "email": "developer@cincel.digital"
}
DEFINED RESPONSES
200

Successful

JSON RESPONSE
{
  "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "name": "string",
  "email": "developer@cincel.digital",
  "team": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "deleted_at": "2026-12-31",
  "created_at": "2026-10-12T22:57:34.548Z",
  "updated_at": "2026-10-12T22:57:34.548Z"
}
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
401Unauthorized

Unauthorized

Request was rejected because it did not contain valid authentication credentials.

Possible reasons include:

  • Missing required Basic authentication header
  • Missing required Bearer authentication header
  • Invalid authentication credentials
  • Expired authentication credentials
  • Revoked authentication credentials
  • Disabled authentication credentials

If you are using Basic authentication

  • Ensure user account exists in this environment
  • Ensure that the username and password are correct
  • Keep in mind that user accounts are tied to their respective environment
  • Keep in mind that Basic authentication is case-sensitive

If you are using Bearer authentication

  • Ensure that the token is valid
  • Ensure that the token was issued by this environment
  • Ensure that the token is not expired
  • Keep in mind that tokens are tied to their respective environment
JSON RESPONSE
{
  "statusCode": 401,
  "error": "Unauthorized",
  "message": "Unauthorized",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
404Not found

Not found

Request was rejected because the requested resource does not exist.

Possible reasons include:

  • Requested resource does not exist
  • Default resource is being used instead of a custom resource
JSON RESPONSE
{
  "statusCode": 404,
  "error": "Not found",
  "message": "Not found",
  "validation": {}
}
409Conflict

Conflict

JSON RESPONSE
{
  "statusCode": 409,
  "error": "Conflict",
  "message": "Conflict",
  "validation": {}
}
410Gone

Gone

Request was rejected because the requested resource is no longer available.

Possible reasons include:

  • Owner of the resource deleted the resource
  • Staff member deleted the resource on behalf of the owner
JSON RESPONSE
{
  "statusCode": 410,
  "error": "Gone",
  "message": "Gone",
  "validation": {}
}
500Internal server error

Internal server error

Server was not able to process the request due to an unexpected condition.

Please consider creating a support ticket to report this issue

  • Provide as much information as possible
  • Include the resource ID
  • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 500,
  "error": "Internal server error",
  "message": "Internal server error",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X PATCH "https://api.cincel.digital/v3/teams/{team}/contacts/{contact}"
delete

/teams/{team}/contacts/{contact}

Delete Contact

PATH PARAMETERS
teamstringrequired
contactstringrequired
DEFINED RESPONSES
200

Successful

JSON RESPONSE
{
  "statusCode": 200,
  "message": "Team {Contact:{1337}} deleted",
  "contact": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
401Unauthorized

Unauthorized

Request was rejected because it did not contain valid authentication credentials.

Possible reasons include:

  • Missing required Basic authentication header
  • Missing required Bearer authentication header
  • Invalid authentication credentials
  • Expired authentication credentials
  • Revoked authentication credentials
  • Disabled authentication credentials

If you are using Basic authentication

  • Ensure user account exists in this environment
  • Ensure that the username and password are correct
  • Keep in mind that user accounts are tied to their respective environment
  • Keep in mind that Basic authentication is case-sensitive

If you are using Bearer authentication

  • Ensure that the token is valid
  • Ensure that the token was issued by this environment
  • Ensure that the token is not expired
  • Keep in mind that tokens are tied to their respective environment
JSON RESPONSE
{
  "statusCode": 401,
  "error": "Unauthorized",
  "message": "Unauthorized",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
404Not found

Not found

Request was rejected because the requested resource does not exist.

Possible reasons include:

  • Requested resource does not exist
  • Default resource is being used instead of a custom resource
JSON RESPONSE
{
  "statusCode": 404,
  "error": "Not found",
  "message": "Not found",
  "validation": {}
}
410Gone

Gone

Request was rejected because the requested resource is no longer available.

Possible reasons include:

  • Owner of the resource deleted the resource
  • Staff member deleted the resource on behalf of the owner
JSON RESPONSE
{
  "statusCode": 410,
  "error": "Gone",
  "message": "Gone",
  "validation": {}
}
500Internal server error

Internal server error

Server was not able to process the request due to an unexpected condition.

Please consider creating a support ticket to report this issue

  • Provide as much information as possible
  • Include the resource ID
  • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 500,
  "error": "Internal server error",
  "message": "Internal server error",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X DELETE "https://api.cincel.digital/v3/teams/{team}/contacts/{contact}"
get

/teams/{team}/credits

Team's credits

Using this endpoint, you can review the number of credits assigned, spent, and those obtained through promotions (these promotional credits cannot be transferred to another team).

PATH PARAMETERS
teamstringrequired
DEFINED RESPONSES
200

Successful

JSON RESPONSE
{
  "docs": {
    "got": 0,
    "spent": 0,
    "promo": 0
  },
  "kyc": {
    "got": 0,
    "spent": 0,
    "promo": 0
  },
  "timestamps": {
    "got": 0,
    "spent": 0,
    "promo": 0
  },
  "gbg_verfications": {
    "got": 0,
    "spent": 0,
    "promo": 0
  }
}
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
401Unauthorized

Unauthorized

Request was rejected because it did not contain valid authentication credentials.

Possible reasons include:

  • Missing required Basic authentication header
  • Missing required Bearer authentication header
  • Invalid authentication credentials
  • Expired authentication credentials
  • Revoked authentication credentials
  • Disabled authentication credentials

If you are using Basic authentication

  • Ensure user account exists in this environment
  • Ensure that the username and password are correct
  • Keep in mind that user accounts are tied to their respective environment
  • Keep in mind that Basic authentication is case-sensitive

If you are using Bearer authentication

  • Ensure that the token is valid
  • Ensure that the token was issued by this environment
  • Ensure that the token is not expired
  • Keep in mind that tokens are tied to their respective environment
JSON RESPONSE
{
  "statusCode": 401,
  "error": "Unauthorized",
  "message": "Unauthorized",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
404Not found

Not found

Request was rejected because the requested resource does not exist.

Possible reasons include:

  • Requested resource does not exist
  • Default resource is being used instead of a custom resource
JSON RESPONSE
{
  "statusCode": 404,
  "error": "Not found",
  "message": "Not found",
  "validation": {}
}
500Internal server error

Internal server error

Server was not able to process the request due to an unexpected condition.

Please consider creating a support ticket to report this issue

  • Provide as much information as possible
  • Include the resource ID
  • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 500,
  "error": "Internal server error",
  "message": "Internal server error",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X GET "https://api.cincel.digital/v3/teams/{team}/credits"
get

/teams/{team}/folders

List all Folders

Folders are used to organize and manage Documents, providing a structured way to store and access files within a workspace.

This endpoint allows you to list all Folders owned by a specific Team

PATH PARAMETERS
teamstringrequired
QUERY PARAMETERS
limitintegeroptional
offsetintegeroptional
pageintegeroptional
sortstringoptional
orderstringoptional
include_deletedbooleanoptional
name_likestringoptional
DEFINED RESPONSES
200

Successful

JSON RESPONSE
[
  {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "name": "string",
    "team": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "deleted_at": "2026-12-31",
    "created_at": "2026-10-12T22:57:34.269Z",
    "updated_at": "2026-10-12T22:57:34.269Z"
  }
]
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
404Not found

Not found

Request was rejected because the requested resource does not exist.

Possible reasons include:

  • Requested resource does not exist
  • Default resource is being used instead of a custom resource
JSON RESPONSE
{
  "statusCode": 404,
  "error": "Not found",
  "message": "Not found",
  "validation": {}
}
500Internal server error

Internal server error

Server was not able to process the request due to an unexpected condition.

Please consider creating a support ticket to report this issue

  • Provide as much information as possible
  • Include the resource ID
  • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 500,
  "error": "Internal server error",
  "message": "Internal server error",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X GET "https://api.cincel.digital/v3/teams/{team}/folders"
post

/teams/{team}/folders

Create a new Folder

Creates a new organizational folder inside a specific team. Folders serve as the required parent containers for creating and grouping documents.

Example cURL Request

curl -X POST "https://api.cincel.digital/v3/teams/{team}/folders" \
  -H "Authorization: Bearer <jwt>" \
  -H "Content-Type: application/json" \
  -d '{"name": "Contracts 2026"}'

Related Endpoints

PATH PARAMETERS
teamstringrequired
REQUEST BODY (JSON)
namestringrequired
Payload (JSON)
{
  "name": "Folder name"
}
DEFINED RESPONSES
201

Created

JSON RESPONSE
{
  "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "name": "string",
  "team": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "deleted_at": "2026-12-31",
  "created_at": "2026-10-12T22:57:34.102Z",
  "updated_at": "2026-10-12T22:57:34.102Z"
}
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
401Unauthorized

Unauthorized

Request was rejected because it did not contain valid authentication credentials.

Possible reasons include:

  • Missing required Basic authentication header
  • Missing required Bearer authentication header
  • Invalid authentication credentials
  • Expired authentication credentials
  • Revoked authentication credentials
  • Disabled authentication credentials

If you are using Basic authentication

  • Ensure user account exists in this environment
  • Ensure that the username and password are correct
  • Keep in mind that user accounts are tied to their respective environment
  • Keep in mind that Basic authentication is case-sensitive

If you are using Bearer authentication

  • Ensure that the token is valid
  • Ensure that the token was issued by this environment
  • Ensure that the token is not expired
  • Keep in mind that tokens are tied to their respective environment
JSON RESPONSE
{
  "statusCode": 401,
  "error": "Unauthorized",
  "message": "Unauthorized",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
404Not found

Not found

Request was rejected because the requested resource does not exist.

Possible reasons include:

  • Requested resource does not exist
  • Default resource is being used instead of a custom resource
JSON RESPONSE
{
  "statusCode": 404,
  "error": "Not found",
  "message": "Not found",
  "validation": {}
}
500Internal server error

Internal server error

Server was not able to process the request due to an unexpected condition.

Please consider creating a support ticket to report this issue

  • Provide as much information as possible
  • Include the resource ID
  • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 500,
  "error": "Internal server error",
  "message": "Internal server error",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X POST "https://api.cincel.digital/v3/teams/{team}/folders"
get

/teams/{team}/folders/{folder}

Get a specific Folder

Get metadata and configuration for a specific folder within a team.

Example cURL Request

curl -X GET "https://api.cincel.digital/v3/teams/{team}/folders/{folder}" \
  -H "Authorization: Bearer <jwt>"

Related Endpoints

PATH PARAMETERS
teamstringrequired
folderstringrequired
DEFINED RESPONSES
200

Successful

JSON RESPONSE
{
  "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "name": "string",
  "team": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "deleted_at": "2026-12-31",
  "created_at": "2026-10-12T22:57:34.431Z",
  "updated_at": "2026-10-12T22:57:34.432Z"
}
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
401Unauthorized

Unauthorized

Request was rejected because it did not contain valid authentication credentials.

Possible reasons include:

  • Missing required Basic authentication header
  • Missing required Bearer authentication header
  • Invalid authentication credentials
  • Expired authentication credentials
  • Revoked authentication credentials
  • Disabled authentication credentials

If you are using Basic authentication

  • Ensure user account exists in this environment
  • Ensure that the username and password are correct
  • Keep in mind that user accounts are tied to their respective environment
  • Keep in mind that Basic authentication is case-sensitive

If you are using Bearer authentication

  • Ensure that the token is valid
  • Ensure that the token was issued by this environment
  • Ensure that the token is not expired
  • Keep in mind that tokens are tied to their respective environment
JSON RESPONSE
{
  "statusCode": 401,
  "error": "Unauthorized",
  "message": "Unauthorized",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
404Not found

Not found

Request was rejected because the requested resource does not exist.

Possible reasons include:

  • Requested resource does not exist
  • Default resource is being used instead of a custom resource
JSON RESPONSE
{
  "statusCode": 404,
  "error": "Not found",
  "message": "Not found",
  "validation": {}
}
500Internal server error

Internal server error

Server was not able to process the request due to an unexpected condition.

Please consider creating a support ticket to report this issue

  • Provide as much information as possible
  • Include the resource ID
  • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 500,
  "error": "Internal server error",
  "message": "Internal server error",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X GET "https://api.cincel.digital/v3/teams/{team}/folders/{folder}"
patch

/teams/{team}/folders/{folder}

Edit a Folder

Updates folder attributes (such as renaming) within a specific team.

Business Rules & Constraints

  • Name Uniqueness: Folder names must be unique within the team. If another folder in the team already uses the specified name, returns HTTP 409 Conflict ("{Folder: name} already exist").
  • Active Documents Lock: If the folder contains active documents, modifying it is rejected with HTTP 403 Forbidden ("folder has associated documents").
  • Cross-Team Moves: Moving a folder across teams requires the caller to be an Admin in both the source and target teams.
  • Permissions: Requires Team Admin, Team Editor, or Staff role.

Example cURL Request

curl -X PATCH "https://api.cincel.digital/v3/teams/{team}/folders/{folder}" \
  -H "Authorization: Bearer <jwt>" \
  -H "Content-Type: application/json" \
  -d '{"name": "Contracts Archive 2026"}'

Related Endpoints

PATH PARAMETERS
teamstringrequired
folderstringrequired
REQUEST BODY (JSON)
namestringoptional
teamstring (guid (uuid))optional
Payload (JSON)
{
  "name": "string",
  "team": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
DEFINED RESPONSES
200

Successful

JSON RESPONSE
{
  "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "name": "string",
  "team": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "deleted_at": "2026-12-31",
  "created_at": "2026-10-12T22:57:34.553Z",
  "updated_at": "2026-10-12T22:57:34.553Z"
}
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
401Unauthorized

Unauthorized

Request was rejected because it did not contain valid authentication credentials.

Possible reasons include:

  • Missing required Basic authentication header
  • Missing required Bearer authentication header
  • Invalid authentication credentials
  • Expired authentication credentials
  • Revoked authentication credentials
  • Disabled authentication credentials

If you are using Basic authentication

  • Ensure user account exists in this environment
  • Ensure that the username and password are correct
  • Keep in mind that user accounts are tied to their respective environment
  • Keep in mind that Basic authentication is case-sensitive

If you are using Bearer authentication

  • Ensure that the token is valid
  • Ensure that the token was issued by this environment
  • Ensure that the token is not expired
  • Keep in mind that tokens are tied to their respective environment
JSON RESPONSE
{
  "statusCode": 401,
  "error": "Unauthorized",
  "message": "Unauthorized",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
404Not found

Not found

Request was rejected because the requested resource does not exist.

Possible reasons include:

  • Requested resource does not exist
  • Default resource is being used instead of a custom resource
JSON RESPONSE
{
  "statusCode": 404,
  "error": "Not found",
  "message": "Not found",
  "validation": {}
}
409Conflict

Conflict

JSON RESPONSE
{
  "statusCode": 409,
  "error": "Conflict",
  "message": "Conflict",
  "validation": {}
}
410Gone

Gone

Request was rejected because the requested resource is no longer available.

Possible reasons include:

  • Owner of the resource deleted the resource
  • Staff member deleted the resource on behalf of the owner
JSON RESPONSE
{
  "statusCode": 410,
  "error": "Gone",
  "message": "Gone",
  "validation": {}
}
500Internal server error

Internal server error

Server was not able to process the request due to an unexpected condition.

Please consider creating a support ticket to report this issue

  • Provide as much information as possible
  • Include the resource ID
  • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 500,
  "error": "Internal server error",
  "message": "Internal server error",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X PATCH "https://api.cincel.digital/v3/teams/{team}/folders/{folder}"
delete

/teams/{team}/folders/{folder}

Delete Folder

PATH PARAMETERS
teamstringrequired
folderstringrequired
DEFINED RESPONSES
200

Successful

JSON RESPONSE
{
  "statusCode": 200,
  "message": "Team {Folder:{1337}} deleted",
  "folder": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
401Unauthorized

Unauthorized

Request was rejected because it did not contain valid authentication credentials.

Possible reasons include:

  • Missing required Basic authentication header
  • Missing required Bearer authentication header
  • Invalid authentication credentials
  • Expired authentication credentials
  • Revoked authentication credentials
  • Disabled authentication credentials

If you are using Basic authentication

  • Ensure user account exists in this environment
  • Ensure that the username and password are correct
  • Keep in mind that user accounts are tied to their respective environment
  • Keep in mind that Basic authentication is case-sensitive

If you are using Bearer authentication

  • Ensure that the token is valid
  • Ensure that the token was issued by this environment
  • Ensure that the token is not expired
  • Keep in mind that tokens are tied to their respective environment
JSON RESPONSE
{
  "statusCode": 401,
  "error": "Unauthorized",
  "message": "Unauthorized",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
404Not found

Not found

Request was rejected because the requested resource does not exist.

Possible reasons include:

  • Requested resource does not exist
  • Default resource is being used instead of a custom resource
JSON RESPONSE
{
  "statusCode": 404,
  "error": "Not found",
  "message": "Not found",
  "validation": {}
}
410Gone

Gone

Request was rejected because the requested resource is no longer available.

Possible reasons include:

  • Owner of the resource deleted the resource
  • Staff member deleted the resource on behalf of the owner
JSON RESPONSE
{
  "statusCode": 410,
  "error": "Gone",
  "message": "Gone",
  "validation": {}
}
500Internal server error

Internal server error

Server was not able to process the request due to an unexpected condition.

Please consider creating a support ticket to report this issue

  • Provide as much information as possible
  • Include the resource ID
  • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 500,
  "error": "Internal server error",
  "message": "Internal server error",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X DELETE "https://api.cincel.digital/v3/teams/{team}/folders/{folder}"
get

/teams/{team}/folders/{folder}/documents

Get all documents on a folder

Lists all documents within a specific folder, supporting pagination, sorting, and substring name search (name_like).

  • Results are ordered by created_at descending by default.
  • Use limit and offset or page to paginate through large document lists.

Example cURL Request

curl -X GET "https://api.cincel.digital/v3/teams/{team}/folders/{folder}/documents?limit=20&order=DESC" \
  -H "Authorization: Bearer <jwt>"

Related Endpoints

PATH PARAMETERS
teamstringrequired
folderstringrequired
QUERY PARAMETERS
limitintegeroptional
offsetintegeroptional
pageintegeroptional
sortstringoptional
orderstringoptional
include_deletedbooleanoptional
name_likestringoptional
DEFINED RESPONSES
200

Successful

JSON RESPONSE
[
  {
    "uuid": "eb35a850-773a-45f8-aea8-bc26ed26787a",
    "name": "string",
    "description": "string",
    "creation_ip": "string",
    "folder": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "doc": "https://api.cincel.digital/v3",
    "original_doc_hash": "string",
    "doc_signed": "https://api.cincel.digital/v3",
    "status": "unsigned",
    "stage": 1,
    "certified": false,
    "form": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "transaction": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "notify_creator": true,
    "disable_emails": false,
    "hide_certificate_pii": false,
    "deleted_at": "2026-12-31",
    "trashed_at": "2026-12-31",
    "created_at": "2026-10-12T22:57:34.459Z",
    "updated_at": "2026-10-12T22:57:34.460Z",
    "creator": {
      "id": "string",
      "email": "developer@cincel.digital",
      "name": "string"
    },
    "team": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
]
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
401Unauthorized

Unauthorized

Request was rejected because it did not contain valid authentication credentials.

Possible reasons include:

  • Missing required Basic authentication header
  • Missing required Bearer authentication header
  • Invalid authentication credentials
  • Expired authentication credentials
  • Revoked authentication credentials
  • Disabled authentication credentials

If you are using Basic authentication

  • Ensure user account exists in this environment
  • Ensure that the username and password are correct
  • Keep in mind that user accounts are tied to their respective environment
  • Keep in mind that Basic authentication is case-sensitive

If you are using Bearer authentication

  • Ensure that the token is valid
  • Ensure that the token was issued by this environment
  • Ensure that the token is not expired
  • Keep in mind that tokens are tied to their respective environment
JSON RESPONSE
{
  "statusCode": 401,
  "error": "Unauthorized",
  "message": "Unauthorized",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
404Not found

Not found

Request was rejected because the requested resource does not exist.

Possible reasons include:

  • Requested resource does not exist
  • Default resource is being used instead of a custom resource
JSON RESPONSE
{
  "statusCode": 404,
  "error": "Not found",
  "message": "Not found",
  "validation": {}
}
500Internal server error

Internal server error

Server was not able to process the request due to an unexpected condition.

Please consider creating a support ticket to report this issue

  • Provide as much information as possible
  • Include the resource ID
  • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 500,
  "error": "Internal server error",
  "message": "Internal server error",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X GET "https://api.cincel.digital/v3/teams/{team}/folders/{folder}/documents"
post

/teams/{team}/folders/{folder}/documents

Create a new document

Creates a new digital signature process for a PDF document inside a specific team folder.

Request Structure

This endpoint accepts a binary PDF file in the request payload and configuration structures via HTTP headers:

  • Payload: Raw binary PDF (Content-Type: application/pdf, up to 60 MB).
  • Headers:
    • Metadata (required): JSON object containing document metadata.
    • Signers (required): JSON array of participants required to sign the document (at least 1 signer).
    • Observers (optional): JSON array of users who can track document progress without signing.

Header Specifications

1. Metadata Header (Metadata)

JSON string containing document attributes:

Field Type Required Description
name string Yes Title or filename of the document.
description string No Optional description or notes regarding the document.
notify_creator boolean No Notify document creator upon completion (default: true).
disable_emails boolean No Disable all automated notification emails (default: false).
hide_certificate_pii boolean No Omit personally identifiable information from the final audit certificate (default: false).

2. Signers Header (Signers)

JSON array of signer objects. Each object supports:

Field Type Required Description
name string Yes Full name of the signer.
email string Yes Signer email address (must be unique per document).
stage integer No Signing workflow order / stage number (default: 1).
signature_allowed_types string No Allowed signature types: autograph, advanced (e.firma), name, or comma-separated combinations like autograph,advanced (default: autograph).
signature_coordinates array No Positions where the signature badge will be placed. Array of objects: { page, x, y, w, h } in PDF points (1/72 inch). page is 0-indexed.
identity_verification boolean No Require biometric/ID verification before signing (default: false).
user_coordinates boolean No Require GPS geolocation capture at signature time (default: false).
rfc string No Signer RFC (12-13 chars). When specified, requires signature_allowed_types: "advanced".

3. Observers Header (Observers)

JSON array of observer objects (name, email). Observers receive notifications and audit trail access but are not requested to sign.


Example cURL Request

curl -X POST "https://api.cincel.digital/v3/teams/{team}/folders/{folder}/documents" \
  -H "Authorization: Bearer <jwt>" \
  -H "Content-Type: application/pdf" \
  -H 'Metadata: {"name":"Service Contract","description":"Annual provider agreement","notify_creator":true}' \
  -H 'Signers: [{"name":"Jane Doe","email":"jane@example.com","stage":1,"signature_allowed_types":"autograph,advanced","signature_coordinates":[{"page":0,"x":100,"y":200,"w":200,"h":123}]}]' \
  -H 'Observers: [{"name":"Auditor","email":"audit@example.com"}]' \
  --data-binary @"./contract.pdf"

Related Endpoints

PATH PARAMETERS
teamstringrequired
folderstringrequired
DEFINED RESPONSES
201

Created

JSON RESPONSE
{
  "uuid": "eb35a850-773a-45f8-aea8-bc26ed26787a",
  "name": "string",
  "description": "string",
  "creation_ip": "string",
  "folder": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "doc": "https://api.cincel.digital/v3",
  "original_doc_hash": "string",
  "doc_signed": "https://api.cincel.digital/v3",
  "status": "unsigned",
  "stage": 1,
  "certified": false,
  "form": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "transaction": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "notify_creator": true,
  "disable_emails": false,
  "hide_certificate_pii": false,
  "deleted_at": "2026-12-31",
  "trashed_at": "2026-12-31",
  "created_at": "2026-10-12T22:57:34.143Z",
  "updated_at": "2026-10-12T22:57:34.143Z",
  "creator": {
    "id": "string",
    "email": "developer@cincel.digital",
    "name": "string"
  },
  "team": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
401Unauthorized

Unauthorized

Request was rejected because it did not contain valid authentication credentials.

Possible reasons include:

  • Missing required Basic authentication header
  • Missing required Bearer authentication header
  • Invalid authentication credentials
  • Expired authentication credentials
  • Revoked authentication credentials
  • Disabled authentication credentials

If you are using Basic authentication

  • Ensure user account exists in this environment
  • Ensure that the username and password are correct
  • Keep in mind that user accounts are tied to their respective environment
  • Keep in mind that Basic authentication is case-sensitive

If you are using Bearer authentication

  • Ensure that the token is valid
  • Ensure that the token was issued by this environment
  • Ensure that the token is not expired
  • Keep in mind that tokens are tied to their respective environment
JSON RESPONSE
{
  "statusCode": 401,
  "error": "Unauthorized",
  "message": "Unauthorized",
  "validation": {}
}
402Payment Required

Payment Required

Request was rejected because relevant account has an outstanding balance.

To fix this

  • Additional credits need to be purchased
  • If required, please consider opening a billing ticket to request a credit limit increase
JSON RESPONSE
{
  "statusCode": 402,
  "error": "Payment Required",
  "message": "Payment Required",
  "data": {},
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
404Not found

Not found

Request was rejected because the requested resource does not exist.

Possible reasons include:

  • Requested resource does not exist
  • Default resource is being used instead of a custom resource
JSON RESPONSE
{
  "statusCode": 404,
  "error": "Not found",
  "message": "Not found",
  "validation": {}
}
409Conflict

Conflict

JSON RESPONSE
{
  "statusCode": 409,
  "error": "Conflict",
  "message": "Conflict",
  "validation": {}
}
500Internal server error

Internal server error

Server was not able to process the request due to an unexpected condition.

Please consider creating a support ticket to report this issue

  • Provide as much information as possible
  • Include the resource ID
  • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 500,
  "error": "Internal server error",
  "message": "Internal server error",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X POST "https://api.cincel.digital/v3/teams/{team}/folders/{folder}/documents"
get

/teams/{team}/folders/{folder}/documents/{document}

Get a document

Fetch the complete lifecycle status, participant metadata, and audit metrics for a specific document.

Document Lifecycle

  • status progression:
    • unsigned: Created and pending signatures.
    • partially_signed: At least one signer has signed, awaiting remaining signers.
    • signed: All participants have completed signatures. The final tamper-evident PDF (doc_signed) and legal certifications become available.

Example cURL Request

curl -X GET "https://api.cincel.digital/v3/teams/{team}/folders/{folder}/documents/{document}" \
  -H "Authorization: Bearer <jwt>"

Next Steps & Related Endpoints

PATH PARAMETERS
teamstringrequired
folderstringrequired
documentstringrequired
DEFINED RESPONSES
200

Successful

JSON RESPONSE
{
  "uuid": "eb35a850-773a-45f8-aea8-bc26ed26787a",
  "name": "string",
  "description": "string",
  "creation_ip": "string",
  "folder": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "doc": "https://api.cincel.digital/v3",
  "original_doc_hash": "string",
  "doc_signed": "https://api.cincel.digital/v3",
  "status": "unsigned",
  "stage": 1,
  "certified": false,
  "form": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "transaction": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "notify_creator": true,
  "disable_emails": false,
  "hide_certificate_pii": false,
  "deleted_at": "2026-12-31",
  "trashed_at": "2026-12-31",
  "created_at": "2026-10-12T22:57:34.469Z",
  "updated_at": "2026-10-12T22:57:34.469Z",
  "creator": {
    "id": "string",
    "email": "developer@cincel.digital",
    "name": "string"
  },
  "team": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
401Unauthorized

Unauthorized

Request was rejected because it did not contain valid authentication credentials.

Possible reasons include:

  • Missing required Basic authentication header
  • Missing required Bearer authentication header
  • Invalid authentication credentials
  • Expired authentication credentials
  • Revoked authentication credentials
  • Disabled authentication credentials

If you are using Basic authentication

  • Ensure user account exists in this environment
  • Ensure that the username and password are correct
  • Keep in mind that user accounts are tied to their respective environment
  • Keep in mind that Basic authentication is case-sensitive

If you are using Bearer authentication

  • Ensure that the token is valid
  • Ensure that the token was issued by this environment
  • Ensure that the token is not expired
  • Keep in mind that tokens are tied to their respective environment
JSON RESPONSE
{
  "statusCode": 401,
  "error": "Unauthorized",
  "message": "Unauthorized",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
404Not found

Not found

Request was rejected because the requested resource does not exist.

Possible reasons include:

  • Requested resource does not exist
  • Default resource is being used instead of a custom resource
JSON RESPONSE
{
  "statusCode": 404,
  "error": "Not found",
  "message": "Not found",
  "validation": {}
}
500Internal server error

Internal server error

Server was not able to process the request due to an unexpected condition.

Please consider creating a support ticket to report this issue

  • Provide as much information as possible
  • Include the resource ID
  • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 500,
  "error": "Internal server error",
  "message": "Internal server error",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X GET "https://api.cincel.digital/v3/teams/{team}/folders/{folder}/documents/{document}"
patch

/teams/{team}/folders/{folder}/documents/{document}

Update a document

Updates metadata or organizational folder for an existing document.

Business Rules & Constraints

  • Document Status Restriction: Documents in signed status cannot be modified. Any attempt to update a finalized document returns HTTP 403 Forbidden.
  • Moving Across Folders: If passing a new folder UUID, the destination folder must exist and belong to the same team.
  • Permissions: Caller must have Team Admin or Team Editor permissions.

Example cURL Request

curl -X PATCH "https://api.cincel.digital/v3/teams/{team}/folders/{folder}/documents/{document}" \
  -H "Authorization: Bearer <jwt>" \
  -H "Content-Type: application/json" \
  -d '{"name": "Contract v2", "description": "Updated commercial terms"}'

Related Endpoints

PATH PARAMETERS
teamstringrequired
folderstringrequired
documentstringrequired
REQUEST BODY (JSON)
namestringoptional
descriptionstringoptional
statusstringoptional
Allowed values:unsignedpartially_signedsigned
Payload (JSON)
{
  "name": "string",
  "description": "string",
  "status": "unsigned"
}
DEFINED RESPONSES
200

Successful

JSON RESPONSE
{
  "uuid": "eb35a850-773a-45f8-aea8-bc26ed26787a",
  "name": "string",
  "description": "string",
  "creation_ip": "string",
  "folder": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "doc": "https://api.cincel.digital/v3",
  "original_doc_hash": "string",
  "doc_signed": "https://api.cincel.digital/v3",
  "status": "unsigned",
  "stage": 1,
  "certified": false,
  "form": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "transaction": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "notify_creator": true,
  "disable_emails": false,
  "hide_certificate_pii": false,
  "deleted_at": "2026-12-31",
  "trashed_at": "2026-12-31",
  "created_at": "2026-10-12T22:57:34.573Z",
  "updated_at": "2026-10-12T22:57:34.573Z",
  "creator": {
    "id": "string",
    "email": "developer@cincel.digital",
    "name": "string"
  },
  "team": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
401Unauthorized

Unauthorized

Request was rejected because it did not contain valid authentication credentials.

Possible reasons include:

  • Missing required Basic authentication header
  • Missing required Bearer authentication header
  • Invalid authentication credentials
  • Expired authentication credentials
  • Revoked authentication credentials
  • Disabled authentication credentials

If you are using Basic authentication

  • Ensure user account exists in this environment
  • Ensure that the username and password are correct
  • Keep in mind that user accounts are tied to their respective environment
  • Keep in mind that Basic authentication is case-sensitive

If you are using Bearer authentication

  • Ensure that the token is valid
  • Ensure that the token was issued by this environment
  • Ensure that the token is not expired
  • Keep in mind that tokens are tied to their respective environment
JSON RESPONSE
{
  "statusCode": 401,
  "error": "Unauthorized",
  "message": "Unauthorized",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
404Not found

Not found

Request was rejected because the requested resource does not exist.

Possible reasons include:

  • Requested resource does not exist
  • Default resource is being used instead of a custom resource
JSON RESPONSE
{
  "statusCode": 404,
  "error": "Not found",
  "message": "Not found",
  "validation": {}
}
500Internal server error

Internal server error

Server was not able to process the request due to an unexpected condition.

Please consider creating a support ticket to report this issue

  • Provide as much information as possible
  • Include the resource ID
  • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 500,
  "error": "Internal server error",
  "message": "Internal server error",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X PATCH "https://api.cincel.digital/v3/teams/{team}/folders/{folder}/documents/{document}"
delete

/teams/{team}/folders/{folder}/documents/{document}

Delete a document

This endpoint is designed to delete a previously created document.
To carry out this action, follow these steps: first, authenticate yourself using the JWT
token obtained during the login process. Next, in the parameters section (params), enter the UUID
of the team, as well as the UUID of the folder where it is located, and the UUID of the document you want to delete.

PATH PARAMETERS
teamstringrequired
folderstringrequired
documentstringrequired
DEFINED RESPONSES
200

Successful

JSON RESPONSE
{
  "statusCode": 200,
  "message": "string",
  "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
401Unauthorized

Unauthorized

Request was rejected because it did not contain valid authentication credentials.

Possible reasons include:

  • Missing required Basic authentication header
  • Missing required Bearer authentication header
  • Invalid authentication credentials
  • Expired authentication credentials
  • Revoked authentication credentials
  • Disabled authentication credentials

If you are using Basic authentication

  • Ensure user account exists in this environment
  • Ensure that the username and password are correct
  • Keep in mind that user accounts are tied to their respective environment
  • Keep in mind that Basic authentication is case-sensitive

If you are using Bearer authentication

  • Ensure that the token is valid
  • Ensure that the token was issued by this environment
  • Ensure that the token is not expired
  • Keep in mind that tokens are tied to their respective environment
JSON RESPONSE
{
  "statusCode": 401,
  "error": "Unauthorized",
  "message": "Unauthorized",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
404Not found

Not found

Request was rejected because the requested resource does not exist.

Possible reasons include:

  • Requested resource does not exist
  • Default resource is being used instead of a custom resource
JSON RESPONSE
{
  "statusCode": 404,
  "error": "Not found",
  "message": "Not found",
  "validation": {}
}
500Internal server error

Internal server error

Server was not able to process the request due to an unexpected condition.

Please consider creating a support ticket to report this issue

  • Provide as much information as possible
  • Include the resource ID
  • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 500,
  "error": "Internal server error",
  "message": "Internal server error",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X DELETE "https://api.cincel.digital/v3/teams/{team}/folders/{folder}/documents/{document}"
get

/teams/{team}/folders/{folder}/documents/{document}.pdf

Get document binary

PATH PARAMETERS
teamstringrequired
folderstringrequired
documentstringrequired
DEFINED RESPONSES
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
401Unauthorized

Unauthorized

Request was rejected because it did not contain valid authentication credentials.

Possible reasons include:

  • Missing required Basic authentication header
  • Missing required Bearer authentication header
  • Invalid authentication credentials
  • Expired authentication credentials
  • Revoked authentication credentials
  • Disabled authentication credentials

If you are using Basic authentication

  • Ensure user account exists in this environment
  • Ensure that the username and password are correct
  • Keep in mind that user accounts are tied to their respective environment
  • Keep in mind that Basic authentication is case-sensitive

If you are using Bearer authentication

  • Ensure that the token is valid
  • Ensure that the token was issued by this environment
  • Ensure that the token is not expired
  • Keep in mind that tokens are tied to their respective environment
JSON RESPONSE
{
  "statusCode": 401,
  "error": "Unauthorized",
  "message": "Unauthorized",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
404Not found

Not found

Request was rejected because the requested resource does not exist.

Possible reasons include:

  • Requested resource does not exist
  • Default resource is being used instead of a custom resource
JSON RESPONSE
{
  "statusCode": 404,
  "error": "Not found",
  "message": "Not found",
  "validation": {}
}
500Internal server error

Internal server error

Server was not able to process the request due to an unexpected condition.

Please consider creating a support ticket to report this issue

  • Provide as much information as possible
  • Include the resource ID
  • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 500,
  "error": "Internal server error",
  "message": "Internal server error",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X GET "https://api.cincel.digital/v3/teams/{team}/folders/{folder}/documents/{document}.pdf"
get

/teams/{team}/folders/{folder}/documents/{document}/{timestamp*}

Obtain timestamps from a signed document

Downloads a specific legal certificate or cryptographic timestamp generated for a fully signed document.

Prerequisites & Business Rules

  • Document Status: The document must be fully executed (status: signed). Requesting certificates for unsigned or partially signed documents returns HTTP 400 Bad Request ("Document is not fully signed").
  • Certification Completion: Certificates are generated asynchronously upon document execution using the final signed PDF's hash (doc_signed_sha256). If certification is still settling, returns HTTP 404 Not Found.

Supported Formats (timestamp path suffix)

Format File Content Type Certificate Standard
timestamp.asn1 application/octet-stream Official NOM-151 Data Message Conservation Certificate (CCMD) in binary DER format.
timestamp.asn1.pdf application/pdf Human-readable one-page representation of the NOM-151 CCMD.
timestamp.tsr application/octet-stream RFC 3161 Time-Stamp Response binary token.
timestamp.xml application/xml Bitcoin blockchain transaction receipt and cryptographic proof in XML.
timestamp.pdf application/pdf Human-readable blockchain audit certificate PDF.

Example cURL Request

# Download official NOM-151 ASN.1 certificate
curl -X GET "https://api.cincel.digital/v3/teams/{team}/folders/{folder}/documents/{document}/timestamp.asn1" \
  -H "Authorization: Bearer <jwt>" \
  --output "nom151_certificate.asn1"

Related Endpoints

PATH PARAMETERS
teamstringrequired
folderstringrequired
documentstringrequired
timestampstringrequired
DEFINED RESPONSES
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
404Not found

Not found

Request was rejected because the requested resource does not exist.

Possible reasons include:

  • Requested resource does not exist
  • Default resource is being used instead of a custom resource
JSON RESPONSE
{
  "statusCode": 404,
  "error": "Not found",
  "message": "Not found",
  "validation": {}
}
500Internal server error

Internal server error

Server was not able to process the request due to an unexpected condition.

Please consider creating a support ticket to report this issue

  • Provide as much information as possible
  • Include the resource ID
  • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 500,
  "error": "Internal server error",
  "message": "Internal server error",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X GET "https://api.cincel.digital/v3/teams/{team}/folders/{folder}/documents/{document}/{timestamp*}"
get

/teams/{team}/folders/{folder}/documents/{document}/audit-trail.pdf

Get audit trail of a signed document

Get audit trail of a signed document in PDF format.

PATH PARAMETERS
teamstringrequired

Team UUID

folderstringrequired

Folder UUID

documentstringrequired

Document UUID

DEFINED RESPONSES
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
401Unauthorized

Unauthorized

Request was rejected because it did not contain valid authentication credentials.

Possible reasons include:

  • Missing required Basic authentication header
  • Missing required Bearer authentication header
  • Invalid authentication credentials
  • Expired authentication credentials
  • Revoked authentication credentials
  • Disabled authentication credentials

If you are using Basic authentication

  • Ensure user account exists in this environment
  • Ensure that the username and password are correct
  • Keep in mind that user accounts are tied to their respective environment
  • Keep in mind that Basic authentication is case-sensitive

If you are using Bearer authentication

  • Ensure that the token is valid
  • Ensure that the token was issued by this environment
  • Ensure that the token is not expired
  • Keep in mind that tokens are tied to their respective environment
JSON RESPONSE
{
  "statusCode": 401,
  "error": "Unauthorized",
  "message": "Unauthorized",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
404Not found

Not found

Request was rejected because the requested resource does not exist.

Possible reasons include:

  • Requested resource does not exist
  • Default resource is being used instead of a custom resource
JSON RESPONSE
{
  "statusCode": 404,
  "error": "Not found",
  "message": "Not found",
  "validation": {}
}
500Internal server error

Internal server error

Server was not able to process the request due to an unexpected condition.

Please consider creating a support ticket to report this issue

  • Provide as much information as possible
  • Include the resource ID
  • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 500,
  "error": "Internal server error",
  "message": "Internal server error",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X GET "https://api.cincel.digital/v3/teams/{team}/folders/{folder}/documents/{document}/audit-trail.pdf"
get

/teams/{team}/folders/{folder}/documents/{document}/invites

Get all invites of a document

PATH PARAMETERS
teamstringrequired
folderstringrequired
documentstringrequired
QUERY PARAMETERS
limitintegeroptional
offsetintegeroptional
pageintegeroptional
sortstringoptional
orderstringoptional
include_deletedbooleanoptional
name_likestringoptional
DEFINED RESPONSES
200

Successful

JSON RESPONSE
[
  {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "document": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "name": "string",
    "email": "developer@cincel.digital",
    "type": "signer",
    "stage": 1,
    "identity_verification": false,
    "identity_verification_uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "identity_verification_attempts_limit": null,
    "user_coordinates": false,
    "rfc_validation": false,
    "expected_rfc": "string",
    "rfc_validated": false,
    "signature_coordinates": [
      {
        "page": 0,
        "x": 0,
        "y": 0,
        "w": 0,
        "h": 0
      }
    ],
    "signature_allowed_types": "autograph",
    "signature_type": "autograph",
    "signature_notify_creator": false,
    "status": "idle",
    "reminder_frequency": null,
    "sent_at": "2026-12-31",
    "deleted_at": "2026-12-31",
    "created_at": "2026-10-12T22:57:34.495Z",
    "updated_at": "2026-10-12T22:57:34.496Z"
  }
]
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
401Unauthorized

Unauthorized

Request was rejected because it did not contain valid authentication credentials.

Possible reasons include:

  • Missing required Basic authentication header
  • Missing required Bearer authentication header
  • Invalid authentication credentials
  • Expired authentication credentials
  • Revoked authentication credentials
  • Disabled authentication credentials

If you are using Basic authentication

  • Ensure user account exists in this environment
  • Ensure that the username and password are correct
  • Keep in mind that user accounts are tied to their respective environment
  • Keep in mind that Basic authentication is case-sensitive

If you are using Bearer authentication

  • Ensure that the token is valid
  • Ensure that the token was issued by this environment
  • Ensure that the token is not expired
  • Keep in mind that tokens are tied to their respective environment
JSON RESPONSE
{
  "statusCode": 401,
  "error": "Unauthorized",
  "message": "Unauthorized",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
404Not found

Not found

Request was rejected because the requested resource does not exist.

Possible reasons include:

  • Requested resource does not exist
  • Default resource is being used instead of a custom resource
JSON RESPONSE
{
  "statusCode": 404,
  "error": "Not found",
  "message": "Not found",
  "validation": {}
}
500Internal server error

Internal server error

Server was not able to process the request due to an unexpected condition.

Please consider creating a support ticket to report this issue

  • Provide as much information as possible
  • Include the resource ID
  • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 500,
  "error": "Internal server error",
  "message": "Internal server error",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X GET "https://api.cincel.digital/v3/teams/{team}/folders/{folder}/documents/{document}/invites"
post

/teams/{team}/folders/{folder}/documents/{document}/invites

Create an invite for a document

Invites an additional observer to monitor an active document.

Business Rules & Constraints

  • Observer Only: Once a document is created, new signers cannot be added (type: "signer" is rejected with HTTP 403 Forbidden). This endpoint is exclusively for adding participants with type: "observer".
  • Document Status: Participants cannot be added if the document is already in signed status.
  • Idempotency: Email comparison is case-insensitive. If an active invite already exists for this email on the document, the existing record is returned without duplicating or re-charging.
  • Automated Delivery: Creating the invitation automatically dispatches an email notification to the recipient with access instructions.
  • Permissions: Requires Team Admin or Team Editor privileges.

Example cURL Request

curl -X POST "https://api.cincel.digital/v3/teams/{team}/folders/{folder}/documents/{document}/invites" \
  -H "Authorization: Bearer <jwt>" \
  -H "Content-Type: application/json" \
  -d '{"name": "Legal Auditor", "email": "auditor@example.com", "type": "observer"}'

Related Endpoints

PATH PARAMETERS
teamstringrequired
folderstringrequired
documentstringrequired
REQUEST BODY (JSON)
namestringrequired
emailstringrequired
reminder_frequencyintegeroptional
typestringoptional
Allowed values:signerobserver
Payload (JSON)
{
  "name": "string",
  "email": "developer@cincel.digital",
  "reminder_frequency": null,
  "type": "signer"
}
DEFINED RESPONSES
200

Successful

JSON RESPONSE
{
  "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "document": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "name": "string",
  "email": "developer@cincel.digital",
  "type": "signer",
  "stage": 1,
  "identity_verification": false,
  "identity_verification_uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "identity_verification_attempts_limit": null,
  "user_coordinates": false,
  "rfc_validation": false,
  "expected_rfc": "string",
  "rfc_validated": false,
  "signature_coordinates": [
    {
      "page": 0,
      "x": 0,
      "y": 0,
      "w": 0,
      "h": 0
    }
  ],
  "signature_allowed_types": "autograph",
  "signature_type": "autograph",
  "signature_notify_creator": false,
  "status": "idle",
  "reminder_frequency": null,
  "sent_at": "2026-12-31",
  "deleted_at": "2026-12-31",
  "created_at": "2026-10-12T22:57:34.167Z",
  "updated_at": "2026-10-12T22:57:34.167Z"
}
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
401Unauthorized

Unauthorized

Request was rejected because it did not contain valid authentication credentials.

Possible reasons include:

  • Missing required Basic authentication header
  • Missing required Bearer authentication header
  • Invalid authentication credentials
  • Expired authentication credentials
  • Revoked authentication credentials
  • Disabled authentication credentials

If you are using Basic authentication

  • Ensure user account exists in this environment
  • Ensure that the username and password are correct
  • Keep in mind that user accounts are tied to their respective environment
  • Keep in mind that Basic authentication is case-sensitive

If you are using Bearer authentication

  • Ensure that the token is valid
  • Ensure that the token was issued by this environment
  • Ensure that the token is not expired
  • Keep in mind that tokens are tied to their respective environment
JSON RESPONSE
{
  "statusCode": 401,
  "error": "Unauthorized",
  "message": "Unauthorized",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
404Not found

Not found

Request was rejected because the requested resource does not exist.

Possible reasons include:

  • Requested resource does not exist
  • Default resource is being used instead of a custom resource
JSON RESPONSE
{
  "statusCode": 404,
  "error": "Not found",
  "message": "Not found",
  "validation": {}
}
500Internal server error

Internal server error

Server was not able to process the request due to an unexpected condition.

Please consider creating a support ticket to report this issue

  • Provide as much information as possible
  • Include the resource ID
  • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 500,
  "error": "Internal server error",
  "message": "Internal server error",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X POST "https://api.cincel.digital/v3/teams/{team}/folders/{folder}/documents/{document}/invites"
get

/teams/{team}/folders/{folder}/documents/{document}/invites/{invite}

Get an invite from a document

Inspect the signing progress, recipient configuration, and audit trail parameters for an invitation.

Example cURL Request

curl -X GET "https://api.cincel.digital/v3/teams/{team}/folders/{folder}/documents/{document}/invites/{invite}" \
  -H "Authorization: Bearer <jwt>"

Related Endpoints

PATH PARAMETERS
teamstringrequired
folderstringrequired
documentstringrequired
invitestringrequired
DEFINED RESPONSES
200

Successful

JSON RESPONSE
{
  "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "document": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "name": "string",
  "email": "developer@cincel.digital",
  "type": "signer",
  "stage": 1,
  "identity_verification": false,
  "identity_verification_uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "identity_verification_attempts_limit": null,
  "user_coordinates": false,
  "rfc_validation": false,
  "expected_rfc": "string",
  "rfc_validated": false,
  "signature_coordinates": [
    {
      "page": 0,
      "x": 0,
      "y": 0,
      "w": 0,
      "h": 0
    }
  ],
  "signature_allowed_types": "autograph",
  "signature_type": "autograph",
  "signature_notify_creator": false,
  "status": "idle",
  "reminder_frequency": null,
  "sent_at": "2026-12-31",
  "deleted_at": "2026-12-31",
  "created_at": "2026-10-12T22:57:34.516Z",
  "updated_at": "2026-10-12T22:57:34.516Z"
}
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
401Unauthorized

Unauthorized

Request was rejected because it did not contain valid authentication credentials.

Possible reasons include:

  • Missing required Basic authentication header
  • Missing required Bearer authentication header
  • Invalid authentication credentials
  • Expired authentication credentials
  • Revoked authentication credentials
  • Disabled authentication credentials

If you are using Basic authentication

  • Ensure user account exists in this environment
  • Ensure that the username and password are correct
  • Keep in mind that user accounts are tied to their respective environment
  • Keep in mind that Basic authentication is case-sensitive

If you are using Bearer authentication

  • Ensure that the token is valid
  • Ensure that the token was issued by this environment
  • Ensure that the token is not expired
  • Keep in mind that tokens are tied to their respective environment
JSON RESPONSE
{
  "statusCode": 401,
  "error": "Unauthorized",
  "message": "Unauthorized",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
404Not found

Not found

Request was rejected because the requested resource does not exist.

Possible reasons include:

  • Requested resource does not exist
  • Default resource is being used instead of a custom resource
JSON RESPONSE
{
  "statusCode": 404,
  "error": "Not found",
  "message": "Not found",
  "validation": {}
}
500Internal server error

Internal server error

Server was not able to process the request due to an unexpected condition.

Please consider creating a support ticket to report this issue

  • Provide as much information as possible
  • Include the resource ID
  • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 500,
  "error": "Internal server error",
  "message": "Internal server error",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X GET "https://api.cincel.digital/v3/teams/{team}/folders/{folder}/documents/{document}/invites/{invite}"
patch

/teams/{team}/folders/{folder}/documents/{document}/invites/{invite}

Update an invite from a document

PATH PARAMETERS
teamstringrequired
folderstringrequired
documentstringrequired
invitestringrequired
REQUEST BODY (JSON)
namestringoptional
emailstringoptional
reminder_frequencyintegeroptional
Payload (JSON)
{
  "name": "string",
  "email": "developer@cincel.digital",
  "reminder_frequency": null
}
DEFINED RESPONSES
200

Successful

JSON RESPONSE
{
  "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "document": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "name": "string",
  "email": "developer@cincel.digital",
  "type": "signer",
  "stage": 1,
  "identity_verification": false,
  "identity_verification_uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "identity_verification_attempts_limit": null,
  "user_coordinates": false,
  "rfc_validation": false,
  "expected_rfc": "string",
  "rfc_validated": false,
  "signature_coordinates": [
    {
      "page": 0,
      "x": 0,
      "y": 0,
      "w": 0,
      "h": 0
    }
  ],
  "signature_allowed_types": "autograph",
  "signature_type": "autograph",
  "signature_notify_creator": false,
  "status": "idle",
  "reminder_frequency": null,
  "sent_at": "2026-12-31",
  "deleted_at": "2026-12-31",
  "created_at": "2026-10-12T22:57:34.592Z",
  "updated_at": "2026-10-12T22:57:34.592Z"
}
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
401Unauthorized

Unauthorized

Request was rejected because it did not contain valid authentication credentials.

Possible reasons include:

  • Missing required Basic authentication header
  • Missing required Bearer authentication header
  • Invalid authentication credentials
  • Expired authentication credentials
  • Revoked authentication credentials
  • Disabled authentication credentials

If you are using Basic authentication

  • Ensure user account exists in this environment
  • Ensure that the username and password are correct
  • Keep in mind that user accounts are tied to their respective environment
  • Keep in mind that Basic authentication is case-sensitive

If you are using Bearer authentication

  • Ensure that the token is valid
  • Ensure that the token was issued by this environment
  • Ensure that the token is not expired
  • Keep in mind that tokens are tied to their respective environment
JSON RESPONSE
{
  "statusCode": 401,
  "error": "Unauthorized",
  "message": "Unauthorized",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
404Not found

Not found

Request was rejected because the requested resource does not exist.

Possible reasons include:

  • Requested resource does not exist
  • Default resource is being used instead of a custom resource
JSON RESPONSE
{
  "statusCode": 404,
  "error": "Not found",
  "message": "Not found",
  "validation": {}
}
500Internal server error

Internal server error

Server was not able to process the request due to an unexpected condition.

Please consider creating a support ticket to report this issue

  • Provide as much information as possible
  • Include the resource ID
  • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 500,
  "error": "Internal server error",
  "message": "Internal server error",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X PATCH "https://api.cincel.digital/v3/teams/{team}/folders/{folder}/documents/{document}/invites/{invite}"
delete

/teams/{team}/folders/{folder}/documents/{document}/invites/{invite}

Delete an invite from a document

Cancels and removes a participant invitation from a document.

Business Rules & Constraints

  • Document Status Constraint: Invitations can only be deleted while the document is in unsigned status. If the document is partially signed or fully signed, deleting invites is rejected with HTTP 403 Forbidden.
  • Minimum Signer Integrity: A document must always retain at least one signer. If attempting to delete the last remaining signer, the request is rejected with HTTP 403 Forbidden ("The document must have at least one signer").
  • Audit Persistence: Deleted invitations undergo soft-deletion (deleted_at) to preserve legal audit trail integrity.
  • Permissions: Requires Team Admin or Team Editor role.

Example cURL Request

curl -X DELETE "https://api.cincel.digital/v3/teams/{team}/folders/{folder}/documents/{document}/invites/{invite}" \
  -H "Authorization: Bearer <jwt>"

Related Endpoints

PATH PARAMETERS
teamstringrequired
folderstringrequired
documentstringrequired
invitestringrequired
DEFINED RESPONSES
200

Successful

JSON RESPONSE
{
  "statusCode": 200,
  "message": "string",
  "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
401Unauthorized

Unauthorized

Request was rejected because it did not contain valid authentication credentials.

Possible reasons include:

  • Missing required Basic authentication header
  • Missing required Bearer authentication header
  • Invalid authentication credentials
  • Expired authentication credentials
  • Revoked authentication credentials
  • Disabled authentication credentials

If you are using Basic authentication

  • Ensure user account exists in this environment
  • Ensure that the username and password are correct
  • Keep in mind that user accounts are tied to their respective environment
  • Keep in mind that Basic authentication is case-sensitive

If you are using Bearer authentication

  • Ensure that the token is valid
  • Ensure that the token was issued by this environment
  • Ensure that the token is not expired
  • Keep in mind that tokens are tied to their respective environment
JSON RESPONSE
{
  "statusCode": 401,
  "error": "Unauthorized",
  "message": "Unauthorized",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
404Not found

Not found

Request was rejected because the requested resource does not exist.

Possible reasons include:

  • Requested resource does not exist
  • Default resource is being used instead of a custom resource
JSON RESPONSE
{
  "statusCode": 404,
  "error": "Not found",
  "message": "Not found",
  "validation": {}
}
500Internal server error

Internal server error

Server was not able to process the request due to an unexpected condition.

Please consider creating a support ticket to report this issue

  • Provide as much information as possible
  • Include the resource ID
  • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 500,
  "error": "Internal server error",
  "message": "Internal server error",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X DELETE "https://api.cincel.digital/v3/teams/{team}/folders/{folder}/documents/{document}/invites/{invite}"
get

/teams/{team}/folders/{folder}/documents/{document}/invites/{invite}/notification

Send a reminder

Action: Send a Reminder

To use this endpoint, its purpose is to send a reminder to invite someone to sign a document.

PATH PARAMETERS
teamstringrequired
folderstringrequired
documentstringrequired
invitestringrequired
DEFINED RESPONSES
200

Successful

JSON RESPONSE
{
  "statusCode": 200,
  "message": "Invite sended to: {email@example.cincel}."
}
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
401Unauthorized

Unauthorized

Request was rejected because it did not contain valid authentication credentials.

Possible reasons include:

  • Missing required Basic authentication header
  • Missing required Bearer authentication header
  • Invalid authentication credentials
  • Expired authentication credentials
  • Revoked authentication credentials
  • Disabled authentication credentials

If you are using Basic authentication

  • Ensure user account exists in this environment
  • Ensure that the username and password are correct
  • Keep in mind that user accounts are tied to their respective environment
  • Keep in mind that Basic authentication is case-sensitive

If you are using Bearer authentication

  • Ensure that the token is valid
  • Ensure that the token was issued by this environment
  • Ensure that the token is not expired
  • Keep in mind that tokens are tied to their respective environment
JSON RESPONSE
{
  "statusCode": 401,
  "error": "Unauthorized",
  "message": "Unauthorized",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
404Not found

Not found

Request was rejected because the requested resource does not exist.

Possible reasons include:

  • Requested resource does not exist
  • Default resource is being used instead of a custom resource
JSON RESPONSE
{
  "statusCode": 404,
  "error": "Not found",
  "message": "Not found",
  "validation": {}
}
500Internal server error

Internal server error

Server was not able to process the request due to an unexpected condition.

Please consider creating a support ticket to report this issue

  • Provide as much information as possible
  • Include the resource ID
  • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 500,
  "error": "Internal server error",
  "message": "Internal server error",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X GET "https://api.cincel.digital/v3/teams/{team}/folders/{folder}/documents/{document}/invites/{invite}/notification"
get

/teams/{team}/folders/{folder}/documents/{document}/invites/{invite}/token

Get Token needed to sign a Document

Signing a document requires a unique token. Use this endpoint to generate that token.

Use case:
Alice previously used another endpoint to send a document for signing.
That document must be signed by:

  • Bob (invitation with UUID abcd)
  • Carol (invitation with UUID efgh)

Bob can call this endpoint using the UUID abcd to obtain the token
corresponding to his own invitation.

Carol can call the same endpoint using the UUID efgh to obtain the token
corresponding to her own invitation.

However, Alice cannot use this endpoint to access Bob's invitation or Carol's invitation,
since only the recipient of an invitation is authorized to retrieve its token.

PATH PARAMETERS
teamstringrequired
folderstringrequired
documentstringrequired
invitestringrequired
DEFINED RESPONSES
200

Successful

JSON RESPONSE
"string"
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
401Unauthorized

Unauthorized

Request was rejected because it did not contain valid authentication credentials.

Possible reasons include:

  • Missing required Basic authentication header
  • Missing required Bearer authentication header
  • Invalid authentication credentials
  • Expired authentication credentials
  • Revoked authentication credentials
  • Disabled authentication credentials

If you are using Basic authentication

  • Ensure user account exists in this environment
  • Ensure that the username and password are correct
  • Keep in mind that user accounts are tied to their respective environment
  • Keep in mind that Basic authentication is case-sensitive

If you are using Bearer authentication

  • Ensure that the token is valid
  • Ensure that the token was issued by this environment
  • Ensure that the token is not expired
  • Keep in mind that tokens are tied to their respective environment
JSON RESPONSE
{
  "statusCode": 401,
  "error": "Unauthorized",
  "message": "Unauthorized",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
404Not found

Not found

Request was rejected because the requested resource does not exist.

Possible reasons include:

  • Requested resource does not exist
  • Default resource is being used instead of a custom resource
JSON RESPONSE
{
  "statusCode": 404,
  "error": "Not found",
  "message": "Not found",
  "validation": {}
}
500Internal server error

Internal server error

Server was not able to process the request due to an unexpected condition.

Please consider creating a support ticket to report this issue

  • Provide as much information as possible
  • Include the resource ID
  • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 500,
  "error": "Internal server error",
  "message": "Internal server error",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X GET "https://api.cincel.digital/v3/teams/{team}/folders/{folder}/documents/{document}/invites/{invite}/token"
get

/teams/{team}/folders/{folder}/documents/{document}/signed-document.pdf

[Deprecated] Get a signed document in PDF format

Document must be signed by all Signers to use this endpoint.
.

PATH PARAMETERS
teamstringrequired
folderstringrequired
documentstringrequired
DEFINED RESPONSES
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
401Unauthorized

Unauthorized

Request was rejected because it did not contain valid authentication credentials.

Possible reasons include:

  • Missing required Basic authentication header
  • Missing required Bearer authentication header
  • Invalid authentication credentials
  • Expired authentication credentials
  • Revoked authentication credentials
  • Disabled authentication credentials

If you are using Basic authentication

  • Ensure user account exists in this environment
  • Ensure that the username and password are correct
  • Keep in mind that user accounts are tied to their respective environment
  • Keep in mind that Basic authentication is case-sensitive

If you are using Bearer authentication

  • Ensure that the token is valid
  • Ensure that the token was issued by this environment
  • Ensure that the token is not expired
  • Keep in mind that tokens are tied to their respective environment
JSON RESPONSE
{
  "statusCode": 401,
  "error": "Unauthorized",
  "message": "Unauthorized",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
404Not found

Not found

Request was rejected because the requested resource does not exist.

Possible reasons include:

  • Requested resource does not exist
  • Default resource is being used instead of a custom resource
JSON RESPONSE
{
  "statusCode": 404,
  "error": "Not found",
  "message": "Not found",
  "validation": {}
}
410Gone

Gone

Request was rejected because the requested resource is no longer available.

Possible reasons include:

  • Owner of the resource deleted the resource
  • Staff member deleted the resource on behalf of the owner
JSON RESPONSE
{
  "statusCode": 410,
  "error": "Gone",
  "message": "Gone",
  "validation": {}
}
500Internal server error

Internal server error

Server was not able to process the request due to an unexpected condition.

Please consider creating a support ticket to report this issue

  • Provide as much information as possible
  • Include the resource ID
  • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 500,
  "error": "Internal server error",
  "message": "Internal server error",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X GET "https://api.cincel.digital/v3/teams/{team}/folders/{folder}/documents/{document}/signed-document.pdf"
get

/teams/{team}/users

List all users on a Team

Each Team is required to have at least one User.
By default, the user who creates a new Team becomes administrator of that new Team and is automatically added as a member it.

Given a specific Team, administrators can use this endpoint to query the whole list of Users that are members of it.

PATH PARAMETERS
teamstringrequired
QUERY PARAMETERS
limitintegeroptional
offsetintegeroptional
pageintegeroptional
sortstringoptional
orderstringoptional
include_deletedbooleanoptional
name_likestringoptional
email_likestringoptional
DEFINED RESPONSES
200

Successful

JSON RESPONSE
[
  {
    "id": "string",
    "email": "developer@cincel.digital",
    "name": "string",
    "created_at": "2026-10-12T22:57:34.284Z",
    "updated_at": "2026-10-12T22:57:34.284Z",
    "deleted_at": "2026-12-31",
    "rfc": "string",
    "curp": "string",
    "job": "string",
    "active": true,
    "role": "string",
    "invited_at": "2026-12-31"
  }
]
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
401Unauthorized

Unauthorized

Request was rejected because it did not contain valid authentication credentials.

Possible reasons include:

  • Missing required Basic authentication header
  • Missing required Bearer authentication header
  • Invalid authentication credentials
  • Expired authentication credentials
  • Revoked authentication credentials
  • Disabled authentication credentials

If you are using Basic authentication

  • Ensure user account exists in this environment
  • Ensure that the username and password are correct
  • Keep in mind that user accounts are tied to their respective environment
  • Keep in mind that Basic authentication is case-sensitive

If you are using Bearer authentication

  • Ensure that the token is valid
  • Ensure that the token was issued by this environment
  • Ensure that the token is not expired
  • Keep in mind that tokens are tied to their respective environment
JSON RESPONSE
{
  "statusCode": 401,
  "error": "Unauthorized",
  "message": "Unauthorized",
  "validation": {}
}
404Not found

Not found

Request was rejected because the requested resource does not exist.

Possible reasons include:

  • Requested resource does not exist
  • Default resource is being used instead of a custom resource
JSON RESPONSE
{
  "statusCode": 404,
  "error": "Not found",
  "message": "Not found",
  "validation": {}
}
500Internal server error

Internal server error

Server was not able to process the request due to an unexpected condition.

Please consider creating a support ticket to report this issue

  • Provide as much information as possible
  • Include the resource ID
  • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 500,
  "error": "Internal server error",
  "message": "Internal server error",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X GET "https://api.cincel.digital/v3/teams/{team}/users"
post

/teams/{team}/users

Add a user to a team

Adds a member to a team and assigns their organizational role, automatically handling user onboarding if the account does not yet exist.

Business Rules & User Provisioning

  • Existing Users: If an account with the given email already exists, it is immediately linked to the team with the specified role and sent a team invitation email.
  • New Users: If the email is not registered in Cincel, a new account is automatically provisioned with a secure random password and an email confirmation code (OTP). An onboarding email is dispatched with activation and login links.
  • Supported Roles:
    • admin: Full administrative control over team settings, users, folders, webhooks, and billing.
    • editor: Can create folders, upload documents, and manage signature requests.
    • lector: Read-only access to documents within team folders.
  • Authorization: Caller must have team management authority (teams:{params.team}:admin or staff).

Example cURL Request

curl -X POST "https://api.cincel.digital/v3/teams/{team}/users" \
  -H "Authorization: Bearer <jwt>" \
  -H "Content-Type: application/json" \
  -d '{"name": "Sofia Reyes", "email": "sofia@example.com", "role": "editor"}'

Related Endpoints

PATH PARAMETERS
teamstringrequired
REQUEST BODY (JSON)
namestringoptional
emailstringrequired
rolestringoptional
Allowed values:admineditorlector
Payload (JSON)
{
  "name": "string",
  "email": "developer@cincel.digital",
  "role": "admin"
}
DEFINED RESPONSES
201

Created

JSON RESPONSE
{
  "team": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "user": 0,
  "role": "string",
  "is_default_team": false,
  "deleted_at": "2026-12-31",
  "created_at": "2026-10-12T22:57:34.107Z",
  "updated_at": "2026-10-12T22:57:34.107Z"
}
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
401Unauthorized

Unauthorized

Request was rejected because it did not contain valid authentication credentials.

Possible reasons include:

  • Missing required Basic authentication header
  • Missing required Bearer authentication header
  • Invalid authentication credentials
  • Expired authentication credentials
  • Revoked authentication credentials
  • Disabled authentication credentials

If you are using Basic authentication

  • Ensure user account exists in this environment
  • Ensure that the username and password are correct
  • Keep in mind that user accounts are tied to their respective environment
  • Keep in mind that Basic authentication is case-sensitive

If you are using Bearer authentication

  • Ensure that the token is valid
  • Ensure that the token was issued by this environment
  • Ensure that the token is not expired
  • Keep in mind that tokens are tied to their respective environment
JSON RESPONSE
{
  "statusCode": 401,
  "error": "Unauthorized",
  "message": "Unauthorized",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
404Not found

Not found

Request was rejected because the requested resource does not exist.

Possible reasons include:

  • Requested resource does not exist
  • Default resource is being used instead of a custom resource
JSON RESPONSE
{
  "statusCode": 404,
  "error": "Not found",
  "message": "Not found",
  "validation": {}
}
500Internal server error

Internal server error

Server was not able to process the request due to an unexpected condition.

Please consider creating a support ticket to report this issue

  • Provide as much information as possible
  • Include the resource ID
  • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 500,
  "error": "Internal server error",
  "message": "Internal server error",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X POST "https://api.cincel.digital/v3/teams/{team}/users"
post

/teams/{team}/users/{user}

Add a user to a team

This API allows you to add an existing user to a specific team
within the Cincel digital signature platform. It is a fundamental operation for
team management, enabling administrators or authorized personnel to grant access
to team resources and collaboration features

PATH PARAMETERS
rolestringrequired
is_default_teambooleanrequired
deleted_atstringrequired
created_atstringrequired
updated_atstringrequired
teamstringrequired
userintegerrequired
REQUEST BODY (JSON)
rolestringrequired
Allowed values:adminlectoreditor
Payload (JSON)
{
  "role": "admin"
}
DEFINED RESPONSES
201

Created

JSON RESPONSE
{
  "team": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "user": 0,
  "role": "string",
  "is_default_team": false,
  "deleted_at": "2026-12-31",
  "created_at": "2026-10-12T22:57:34.133Z",
  "updated_at": "2026-10-12T22:57:34.133Z"
}
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
500Internal server error

Internal server error

Server was not able to process the request due to an unexpected condition.

Please consider creating a support ticket to report this issue

  • Provide as much information as possible
  • Include the resource ID
  • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 500,
  "error": "Internal server error",
  "message": "Internal server error",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X POST "https://api.cincel.digital/v3/teams/{team}/users/{user}"
patch

/teams/{team}/users/{user}

Modify User's role on a Team

Each User can belong to many different Teams, having a variety of roles on each of them. Use this endpoint to modify User role on a specific Team.

PATH PARAMETERS
rolestringrequired
is_default_teambooleanrequired
deleted_atstringrequired
created_atstringrequired
updated_atstringrequired
teamstringrequired
userintegerrequired
REQUEST BODY (JSON)
rolestringoptional
Allowed values:adminlectoreditor
is_default_teambooleanoptional
Payload (JSON)
{
  "role": "admin",
  "is_default_team": false
}
DEFINED RESPONSES
200

Successful

JSON RESPONSE
{
  "team": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "user": 0,
  "role": "string",
  "is_default_team": false,
  "deleted_at": "2026-12-31",
  "created_at": "2026-10-12T22:57:34.541Z",
  "updated_at": "2026-10-12T22:57:34.542Z"
}
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
500Internal server error

Internal server error

Server was not able to process the request due to an unexpected condition.

Please consider creating a support ticket to report this issue

  • Provide as much information as possible
  • Include the resource ID
  • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 500,
  "error": "Internal server error",
  "message": "Internal server error",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X PATCH "https://api.cincel.digital/v3/teams/{team}/users/{user}"
delete

/teams/{team}/users/{user}

Remove User from Team

Each Team can have as many member Users as desired.
This route allows a Team admin to remove other Users from the Team.

PATH PARAMETERS
rolestringrequired
is_default_teambooleanrequired
deleted_atstringrequired
created_atstringrequired
updated_atstringrequired
teamstringrequired

Team UUID

userintegerrequired

ID of User that will be removed from Team

DEFINED RESPONSES
200

Successful

JSON RESPONSE
{
  "team": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "user": 0,
  "role": "string",
  "is_default_team": false,
  "deleted_at": "2026-12-31",
  "created_at": "2026-10-12T22:57:34.611Z",
  "updated_at": "2026-10-12T22:57:34.611Z"
}
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
500Internal server error

Internal server error

Server was not able to process the request due to an unexpected condition.

Please consider creating a support ticket to report this issue

  • Provide as much information as possible
  • Include the resource ID
  • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 500,
  "error": "Internal server error",
  "message": "Internal server error",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X DELETE "https://api.cincel.digital/v3/teams/{team}/users/{user}"
get

/teams/{uuid}

Get a team

Teams are used to group users, folders, documents and other assets. A Team can be used to represent a company, a department, a project, etc.

Use this endpoint to get details of a specific Team.

PATH PARAMETERS
uuidstringrequired
DEFINED RESPONSES
200

Successful

JSON RESPONSE
{
  "name": "string",
  "logo_url": "string",
  "emoji": "string",
  "workspace": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "deleted_at": "2026-12-31",
  "created_at": "2026-10-12T22:57:34.210Z",
  "updated_at": "2026-10-12T22:57:34.210Z",
  "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "role": "admin",
  "plan": "free",
  "avatar": "https://api.cincel.digital/v3",
  "light_logo": "https://api.cincel.digital/v3",
  "dark_logo": "https://api.cincel.digital/v3"
}
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
401Unauthorized

Unauthorized

Request was rejected because it did not contain valid authentication credentials.

Possible reasons include:

  • Missing required Basic authentication header
  • Missing required Bearer authentication header
  • Invalid authentication credentials
  • Expired authentication credentials
  • Revoked authentication credentials
  • Disabled authentication credentials

If you are using Basic authentication

  • Ensure user account exists in this environment
  • Ensure that the username and password are correct
  • Keep in mind that user accounts are tied to their respective environment
  • Keep in mind that Basic authentication is case-sensitive

If you are using Bearer authentication

  • Ensure that the token is valid
  • Ensure that the token was issued by this environment
  • Ensure that the token is not expired
  • Keep in mind that tokens are tied to their respective environment
JSON RESPONSE
{
  "statusCode": 401,
  "error": "Unauthorized",
  "message": "Unauthorized",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
404Not found

Not found

Request was rejected because the requested resource does not exist.

Possible reasons include:

  • Requested resource does not exist
  • Default resource is being used instead of a custom resource
JSON RESPONSE
{
  "statusCode": 404,
  "error": "Not found",
  "message": "Not found",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X GET "https://api.cincel.digital/v3/teams/{uuid}"
patch

/teams/{uuid}

Patch a team

Teams are used to group users, folders, documents and other assets. A Team can be used to represent a company, a department, a project, etc.

Use this endpoint to rename a Team or modify its branding.

PATH PARAMETERS
uuidstringrequired
REQUEST BODY (JSON)
namestringrequired
logostring (binary)optional
emojistringoptional
Payload (JSON)
{
  "name": "string",
  "logo": "string",
  "emoji": "string"
}
DEFINED RESPONSES
200

Successful

JSON RESPONSE
{
  "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "name": "string",
  "logo": "https://api.cincel.digital/v3",
  "emoji": "string",
  "workspace": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "deleted_at": "2026-12-31",
  "created_at": "2026-10-12T22:57:34.530Z",
  "updated_at": "2026-10-12T22:57:34.530Z"
}
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
401Unauthorized

Unauthorized

Request was rejected because it did not contain valid authentication credentials.

Possible reasons include:

  • Missing required Basic authentication header
  • Missing required Bearer authentication header
  • Invalid authentication credentials
  • Expired authentication credentials
  • Revoked authentication credentials
  • Disabled authentication credentials

If you are using Basic authentication

  • Ensure user account exists in this environment
  • Ensure that the username and password are correct
  • Keep in mind that user accounts are tied to their respective environment
  • Keep in mind that Basic authentication is case-sensitive

If you are using Bearer authentication

  • Ensure that the token is valid
  • Ensure that the token was issued by this environment
  • Ensure that the token is not expired
  • Keep in mind that tokens are tied to their respective environment
JSON RESPONSE
{
  "statusCode": 401,
  "error": "Unauthorized",
  "message": "Unauthorized",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
404Not found

Not found

Request was rejected because the requested resource does not exist.

Possible reasons include:

  • Requested resource does not exist
  • Default resource is being used instead of a custom resource
JSON RESPONSE
{
  "statusCode": 404,
  "error": "Not found",
  "message": "Not found",
  "validation": {}
}
500Internal server error

Internal server error

Server was not able to process the request due to an unexpected condition.

Please consider creating a support ticket to report this issue

  • Provide as much information as possible
  • Include the resource ID
  • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 500,
  "error": "Internal server error",
  "message": "Internal server error",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X PATCH "https://api.cincel.digital/v3/teams/{uuid}"
delete

/teams/{uuid}

Delete a team

Teams are used to group users, folders, documents and other assets. A Team can be used to represent a company, a department, a project, etc.

Use this endpoint to delete a specific Team. Teams can only be deleted by users with write access to the Team.

PATH PARAMETERS
uuidstringrequired
DEFINED RESPONSES
200

Successful

JSON RESPONSE
{
  "statusCode": 200,
  "message": "{team:{e290d662-f288-4ab8-b679-6218ae09f1cd}} deleted",
  "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
401Unauthorized

Unauthorized

Request was rejected because it did not contain valid authentication credentials.

Possible reasons include:

  • Missing required Basic authentication header
  • Missing required Bearer authentication header
  • Invalid authentication credentials
  • Expired authentication credentials
  • Revoked authentication credentials
  • Disabled authentication credentials

If you are using Basic authentication

  • Ensure user account exists in this environment
  • Ensure that the username and password are correct
  • Keep in mind that user accounts are tied to their respective environment
  • Keep in mind that Basic authentication is case-sensitive

If you are using Bearer authentication

  • Ensure that the token is valid
  • Ensure that the token was issued by this environment
  • Ensure that the token is not expired
  • Keep in mind that tokens are tied to their respective environment
JSON RESPONSE
{
  "statusCode": 401,
  "error": "Unauthorized",
  "message": "Unauthorized",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
404Not found

Not found

Request was rejected because the requested resource does not exist.

Possible reasons include:

  • Requested resource does not exist
  • Default resource is being used instead of a custom resource
JSON RESPONSE
{
  "statusCode": 404,
  "error": "Not found",
  "message": "Not found",
  "validation": {}
}
500Internal server error

Internal server error

Server was not able to process the request due to an unexpected condition.

Please consider creating a support ticket to report this issue

  • Provide as much information as possible
  • Include the resource ID
  • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 500,
  "error": "Internal server error",
  "message": "Internal server error",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X DELETE "https://api.cincel.digital/v3/teams/{uuid}"
get

/users

Get all users

Search and list user accounts across the directory with profile filters.

Search Filters

Supports partial substring searches across user profile fields:

  • email_like, name_like, rfc_like, curp_like.
  • Standard pagination via limit, offset, and page.

Example cURL Request

curl -X GET "https://api.cincel.digital/v3/users?email_like=cincel.digital&limit=20" \
  -H "Authorization: Bearer <jwt>"
QUERY PARAMETERS
limitintegeroptional
offsetintegeroptional
pageintegeroptional
sortstringoptional
orderstringoptional
id_likestringoptional
name_likestringoptional
email_likestringoptional
role_likestringoptional
rfc_likestringoptional
curp_likestringoptional
job_likestringoptional
DEFINED RESPONSES
200

Successful

JSON RESPONSE
[
  {
    "id": "string",
    "email": "developer@cincel.digital",
    "name": "string",
    "role": "staff",
    "created_at": "2026-10-12T22:57:34.183Z",
    "updated_at": "2026-10-12T22:57:34.184Z",
    "deleted_at": "2026-12-31",
    "rfc": "string",
    "curp": "string",
    "job": "string",
    "active": true
  }
]
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X GET "https://api.cincel.digital/v3/users"
post

/users

Create a new user (Staff/Support only)

This endpoint allows Staff or Support administrators to manually create a new user account.

Authentication

Requires a valid JWT Bearer token with staff or support scope.

Parameters

  • email (required): User's email address.
  • name (optional): Full name of the user.
  • role (optional): Administrative role assignment (staff, support, etc.).
REQUEST BODY (JSON)
namestringoptional
rolestringoptional
Allowed values:staffsupportmarketing
created_atstring (date)optional
updated_atstring (date)optional
deleted_atstring (date)optional
rfcstringoptional
curpstringoptional
jobstringoptional
activebooleanoptional
emailstringrequired
passwordstringoptional
Payload (JSON)
{
  "name": "string",
  "role": "staff",
  "created_at": "2026-10-12T22:57:34.081Z",
  "updated_at": "2026-10-12T22:57:34.082Z",
  "deleted_at": "2026-12-31",
  "rfc": "string",
  "curp": "string",
  "job": "string",
  "active": true,
  "email": "pruebacincel@outlook.com",
  "password": "battery horse staple"
}
DEFINED RESPONSES
201

Created

JSON RESPONSE
{
  "id": "string",
  "email": "developer@cincel.digital",
  "name": "string",
  "role": "staff",
  "created_at": "2026-10-12T22:57:34.087Z",
  "updated_at": "2026-10-12T22:57:34.087Z",
  "deleted_at": "2026-12-31",
  "rfc": "string",
  "curp": "string",
  "job": "string",
  "active": true
}
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
401Unauthorized

Unauthorized

Request was rejected because it did not contain valid authentication credentials.

Possible reasons include:

  • Missing required Basic authentication header
  • Missing required Bearer authentication header
  • Invalid authentication credentials
  • Expired authentication credentials
  • Revoked authentication credentials
  • Disabled authentication credentials

If you are using Basic authentication

  • Ensure user account exists in this environment
  • Ensure that the username and password are correct
  • Keep in mind that user accounts are tied to their respective environment
  • Keep in mind that Basic authentication is case-sensitive

If you are using Bearer authentication

  • Ensure that the token is valid
  • Ensure that the token was issued by this environment
  • Ensure that the token is not expired
  • Keep in mind that tokens are tied to their respective environment
JSON RESPONSE
{
  "statusCode": 401,
  "error": "Unauthorized",
  "message": "Unauthorized",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
500Internal server error

Internal server error

Server was not able to process the request due to an unexpected condition.

Please consider creating a support ticket to report this issue

  • Provide as much information as possible
  • Include the resource ID
  • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 500,
  "error": "Internal server error",
  "message": "Internal server error",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X POST "https://api.cincel.digital/v3/users"
get

/users/{user}/documents

Get all users' documents.

Lists documents associated with a user account, acting as the primary dashboard inbox and tracking feed.

Smart Feeds (feed parameter)

Instead of manually composing query filters, use pre-computed feeds tailored for document dashboards:

  • feed=inbox: Documents pending user signature where it is currently the user's turn to sign (stage <= doc.stage).
  • feed=upcoming: Documents where the user is invited to sign, but preceding stages are not yet completed (stage > doc.stage).
  • feed=tracking: Documents created by the user within teams where they hold admin or editor roles, excluding fully completed documents unless explicitly filtered by status.
  • feed=certified: Fully executed documents (status=signed) where the user participated either as creator or invitee.

Scoping & Filtering

  • Workspace Filtering: Pass workspace={uuid} to constrain results to documents belonging to teams inside that workspace.
  • Participation Role: When not using feed, filter by invite_type (none for documents created by the user, or signer / observer for invited documents).
  • Date Range: Filter by creation date using ISO strings in created_at_gte and created_at_lte.
  • Search: Supports substring title search via name_like or full-text query via q.

Example cURL Request

# List pending signature inbox for user 153
curl -X GET "https://api.cincel.digital/v3/users/153/documents?feed=inbox" \
  -H "Authorization: Bearer <jwt>"
PATH PARAMETERS
userintegerrequired
QUERY PARAMETERS
limitintegeroptional
offsetintegeroptional
pageintegeroptional
sortstringoptional
orderstringoptional
qstringoptional
name_likestringoptional
statusarrayoptional
feedstringoptional
workspacestringoptional
invite_typearrayoptional
include_deletedbooleanoptional
created_at_gtestringoptional
created_at_ltestringoptional
DEFINED RESPONSES
200

Successful

JSON RESPONSE
[
  {
    "uuid": "eb35a850-773a-45f8-aea8-bc26ed26787a",
    "name": "string",
    "description": "string",
    "creation_ip": "string",
    "folder": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "doc": "https://api.cincel.digital/v3",
    "original_doc_hash": "string",
    "doc_signed": "https://api.cincel.digital/v3",
    "status": "unsigned",
    "stage": 1,
    "certified": false,
    "form": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "transaction": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "notify_creator": true,
    "disable_emails": false,
    "hide_certificate_pii": false,
    "deleted_at": "2026-12-31",
    "trashed_at": "2026-12-31",
    "created_at": "2026-10-12T22:57:34.342Z",
    "updated_at": "2026-10-12T22:57:34.342Z",
    "creator": {
      "id": "string",
      "email": "developer@cincel.digital",
      "name": "string"
    },
    "team": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "invites": [
      {
        "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
        "document": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
        "name": "string",
        "email": "developer@cincel.digital",
        "type": "signer",
        "stage": 1,
        "identity_verification": false,
        "identity_verification_uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
        "identity_verification_attempts_limit": null,
        "user_coordinates": false,
        "rfc_validation": false,
        "expected_rfc": "string",
        "rfc_validated": false,
        "signature_coordinates": [
          {
            "page": 0,
            "x": 0,
            "y": 0,
            "w": 0,
            "h": 0
          }
        ],
        "signature_allowed_types": "autograph",
        "signature_type": "autograph",
        "signature_notify_creator": false,
        "status": "idle",
        "reminder_frequency": null,
        "sent_at": "2026-12-31",
        "deleted_at": "2026-12-31",
        "created_at": "2026-10-12T22:57:34.368Z",
        "updated_at": "2026-10-12T22:57:34.368Z"
      }
    ]
  }
]
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
401Unauthorized

Unauthorized

Request was rejected because it did not contain valid authentication credentials.

Possible reasons include:

  • Missing required Basic authentication header
  • Missing required Bearer authentication header
  • Invalid authentication credentials
  • Expired authentication credentials
  • Revoked authentication credentials
  • Disabled authentication credentials

If you are using Basic authentication

  • Ensure user account exists in this environment
  • Ensure that the username and password are correct
  • Keep in mind that user accounts are tied to their respective environment
  • Keep in mind that Basic authentication is case-sensitive

If you are using Bearer authentication

  • Ensure that the token is valid
  • Ensure that the token was issued by this environment
  • Ensure that the token is not expired
  • Keep in mind that tokens are tied to their respective environment
JSON RESPONSE
{
  "statusCode": 401,
  "error": "Unauthorized",
  "message": "Unauthorized",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
500Internal server error

Internal server error

Server was not able to process the request due to an unexpected condition.

Please consider creating a support ticket to report this issue

  • Provide as much information as possible
  • Include the resource ID
  • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 500,
  "error": "Internal server error",
  "message": "Internal server error",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X GET "https://api.cincel.digital/v3/users/{user}/documents"
get

/users/{user}/limits

User's credits and limits

This is a deprecated endpoint

Using this endpoint should be avoided whenever possible.
It is maintained for backwards-compatibillity but is deprecated and may be removed in future versions. Please use the /teams/{team}/credits instead.

count_timestamps: amount of NOM-151 timestamps that have been created by this user
max_timestamps: max amount of NOM-151 timestamps that can be created by this user
PATH PARAMETERS
usernumberrequired

User ID

HEADER PARAMETERS
count_timestampsstringrequired

Header count_timestamps requerido por la operación.

max_timestampsstringrequired

Header max_timestamps requerido por la operación.

DEFINED RESPONSES
200

Successful

JSON RESPONSE
{
  "id": 0,
  "max_users": 0,
  "count_users": 0,
  "max_storage": 0,
  "count_storage": 0,
  "count_documents": 0,
  "max_signed_documents": 0,
  "count_signed_documents": 0,
  "max_organizations": 0,
  "count_organizations": 0,
  "organizations_availability": false,
  "expirable_signers_availability": false,
  "api_token_availability": false,
  "custom_branding_availability": false,
  "advanced_search_availability": false,
  "blockchain_availability": false,
  "extra_users_availability": false,
  "created_at": "2026-12-31",
  "updated_at": "2026-12-31",
  "user_id": 0,
  "count_documents_vobo": 0,
  "documents_vobo_availability": false,
  "count_documents_vobo_nom151": 0,
  "max_documents_vobo_nom151": 0,
  "signers_validation_availability": false,
  "count_kyc_validations": 0,
  "max_kyc_validations": 0,
  "requested_documents_availability": false,
  "count_timestamps": 0,
  "max_timestamps": 0,
  "forms_availability": false,
  "rewards_availability": false
}
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
404Not found

Not found

Request was rejected because the requested resource does not exist.

Possible reasons include:

  • Requested resource does not exist
  • Default resource is being used instead of a custom resource
JSON RESPONSE
{
  "statusCode": 404,
  "error": "Not found",
  "message": "Not found",
  "validation": {}
}
500Internal server error

Internal server error

Server was not able to process the request due to an unexpected condition.

Please consider creating a support ticket to report this issue

  • Provide as much information as possible
  • Include the resource ID
  • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 500,
  "error": "Internal server error",
  "message": "Internal server error",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X GET "https://api.cincel.digital/v3/users/{user}/limits"
get

/users/{user}/pats

List active Personal Access Tokens for a specific user

PATH PARAMETERS
userintegerrequired
DEFINED RESPONSES
200

Successful

JSON RESPONSE
[
  {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "name": "string",
    "token_last_four": "string",
    "expires_at": "2026-12-31",
    "last_used_at": "2026-12-31",
    "created_at": "2026-10-12T22:57:34.375Z"
  }
]
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
401Unauthorized

Unauthorized

Request was rejected because it did not contain valid authentication credentials.

Possible reasons include:

  • Missing required Basic authentication header
  • Missing required Bearer authentication header
  • Invalid authentication credentials
  • Expired authentication credentials
  • Revoked authentication credentials
  • Disabled authentication credentials

If you are using Basic authentication

  • Ensure user account exists in this environment
  • Ensure that the username and password are correct
  • Keep in mind that user accounts are tied to their respective environment
  • Keep in mind that Basic authentication is case-sensitive

If you are using Bearer authentication

  • Ensure that the token is valid
  • Ensure that the token was issued by this environment
  • Ensure that the token is not expired
  • Keep in mind that tokens are tied to their respective environment
JSON RESPONSE
{
  "statusCode": 401,
  "error": "Unauthorized",
  "message": "Unauthorized",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
404Not found

Not found

Request was rejected because the requested resource does not exist.

Possible reasons include:

  • Requested resource does not exist
  • Default resource is being used instead of a custom resource
JSON RESPONSE
{
  "statusCode": 404,
  "error": "Not found",
  "message": "Not found",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X GET "https://api.cincel.digital/v3/users/{user}/pats"
post

/users/{user}/pats

Create a new Personal Access Token for a specific user

Generates a Personal Access Token (PAT) for machine-to-machine (M2M) integrations, automated workflows, or non-interactive system access.

How to create a PAT:

  1. Interactive Setup: Authenticate initially using your account credentials (interactive JWT via GET /tokens/otp and GET /tokens/jwt).
  2. Submit request: Send a POST request to /users/{user}/pats with your numerical user ID and token metadata:
    curl -X POST "https://api.cincel.digital/v3/users/{userId}/pats" \
      -H "Authorization: Bearer <interactive_jwt>" \
      -H "Content-Type: application/json" \
      -d '{
        "name": "M2M Production Integration",
        "expires_at": null
      }'
    • name (string, required): Descriptive label for the token.
    • expires_at (ISO 8601 date or null, optional): Expiration timestamp. Set to null for a non-expiring token.

Lifecycle & Revocation:

Important:

  • One-time display: The raw unhashed token secret (token field) is returned in the response only once. Store it securely immediately.
  • Usage: Personal Access Tokens (PATs) are long-lived credentials designed for machine-to-machine (M2M) and automated systems. A PAT is used in Basic Auth (Basic base64(pat:), with an empty password) exclusively to acquire short-lived JWTs via GET /tokens/jwt.
PATH PARAMETERS
userintegerrequired
REQUEST BODY (JSON)
namestringrequired
expires_atstring (date)optional
Payload (JSON)
{
  "name": "CI/CD Deployment Token",
  "expires_at": "2026-12-31"
}
DEFINED RESPONSES
200

Successful

JSON RESPONSE
{
  "token": "string",
  "pat": {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "name": "string",
    "token_last_four": "string",
    "expires_at": "2026-12-31",
    "last_used_at": "2026-12-31",
    "created_at": "2026-10-12T22:57:34.112Z"
  }
}
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
401Unauthorized

Unauthorized

Request was rejected because it did not contain valid authentication credentials.

Possible reasons include:

  • Missing required Basic authentication header
  • Missing required Bearer authentication header
  • Invalid authentication credentials
  • Expired authentication credentials
  • Revoked authentication credentials
  • Disabled authentication credentials

If you are using Basic authentication

  • Ensure user account exists in this environment
  • Ensure that the username and password are correct
  • Keep in mind that user accounts are tied to their respective environment
  • Keep in mind that Basic authentication is case-sensitive

If you are using Bearer authentication

  • Ensure that the token is valid
  • Ensure that the token was issued by this environment
  • Ensure that the token is not expired
  • Keep in mind that tokens are tied to their respective environment
JSON RESPONSE
{
  "statusCode": 401,
  "error": "Unauthorized",
  "message": "Unauthorized",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
404Not found

Not found

Request was rejected because the requested resource does not exist.

Possible reasons include:

  • Requested resource does not exist
  • Default resource is being used instead of a custom resource
JSON RESPONSE
{
  "statusCode": 404,
  "error": "Not found",
  "message": "Not found",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X POST "https://api.cincel.digital/v3/users/{user}/pats"
get

/users/{user}/search

Universal Search across a User account

Universal search endpoint optimized for Cmd+K modals.
Allows a user to search globally across their Teams, Folders, and Documents — regardless of whether those teams belong to a Workspace.
This is the account-scoped analogue of the Workspace search: it spans every team the user is a member of, so users with no Workspace still get results.
Only returns items the user has access to (via team membership).
Use q for the search term, and optionally limit to cap results.

PATH PARAMETERS
userintegerrequired
QUERY PARAMETERS
qstringoptional
limitintegeroptional
DEFINED RESPONSES
200

Successful

JSON RESPONSE
[
  {
    "id": "string",
    "kind": "team",
    "title": "string",
    "url": "string",
    "search_text": "string",
    "rank": 0,
    "status": "string",
    "created_at": "2026-12-31",
    "updated_at": "2026-12-31"
  }
]
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
401Unauthorized

Unauthorized

Request was rejected because it did not contain valid authentication credentials.

Possible reasons include:

  • Missing required Basic authentication header
  • Missing required Bearer authentication header
  • Invalid authentication credentials
  • Expired authentication credentials
  • Revoked authentication credentials
  • Disabled authentication credentials

If you are using Basic authentication

  • Ensure user account exists in this environment
  • Ensure that the username and password are correct
  • Keep in mind that user accounts are tied to their respective environment
  • Keep in mind that Basic authentication is case-sensitive

If you are using Bearer authentication

  • Ensure that the token is valid
  • Ensure that the token was issued by this environment
  • Ensure that the token is not expired
  • Keep in mind that tokens are tied to their respective environment
JSON RESPONSE
{
  "statusCode": 401,
  "error": "Unauthorized",
  "message": "Unauthorized",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
404Not found

Not found

Request was rejected because the requested resource does not exist.

Possible reasons include:

  • Requested resource does not exist
  • Default resource is being used instead of a custom resource
JSON RESPONSE
{
  "statusCode": 404,
  "error": "Not found",
  "message": "Not found",
  "validation": {}
}
500Internal server error

Internal server error

Server was not able to process the request due to an unexpected condition.

Please consider creating a support ticket to report this issue

  • Provide as much information as possible
  • Include the resource ID
  • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 500,
  "error": "Internal server error",
  "message": "Internal server error",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X GET "https://api.cincel.digital/v3/users/{user}/search"
get

/users/{user}/teams

Get all teams {user} is part of

Overview

A Team (historically referred to as Organization) is the foundational boundary in Cincel. It acts as the primary workspace container for all assets, including digital documents, folders, contacts, and signature workflows.

A user can belong to multiple Teams simultaneously, with distinct roles per team (admin, editor, etc.). Every user is guaranteed to have exactly one default personal team (is_default_team: true).

Usage & Core References

Calling GET /users/{user}/teams retrieves all active teams the specified user is a member of.

The returned uuid of each Team is required as a primary scoped identifier across all dependent APIs:

Response Metadata

Each item in the list includes:

  • uuid: Unique identifier of the Team
  • name: Display name of the Team
  • role: The authenticated user's access role within the Team
  • is_default_team: Boolean flag indicating if this is the user's primary default team
PATH PARAMETERS
usernumberrequired

User ID

QUERY PARAMETERS
limitintegeroptional
offsetintegeroptional
pageintegeroptional
sortstringoptional
orderstringoptional
include_deletedbooleanoptional
name_likestringoptional
DEFINED RESPONSES
200

Successful

JSON RESPONSE
[
  {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "name": "string",
    "logo": "https://api.cincel.digital/v3",
    "emoji": "string",
    "workspace": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "deleted_at": "2026-12-31",
    "created_at": "2026-10-12T22:57:34.383Z",
    "updated_at": "2026-10-12T22:57:34.383Z",
    "role": "string",
    "is_default_team": false
  }
]
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
401Unauthorized

Unauthorized

Request was rejected because it did not contain valid authentication credentials.

Possible reasons include:

  • Missing required Basic authentication header
  • Missing required Bearer authentication header
  • Invalid authentication credentials
  • Expired authentication credentials
  • Revoked authentication credentials
  • Disabled authentication credentials

If you are using Basic authentication

  • Ensure user account exists in this environment
  • Ensure that the username and password are correct
  • Keep in mind that user accounts are tied to their respective environment
  • Keep in mind that Basic authentication is case-sensitive

If you are using Bearer authentication

  • Ensure that the token is valid
  • Ensure that the token was issued by this environment
  • Ensure that the token is not expired
  • Keep in mind that tokens are tied to their respective environment
JSON RESPONSE
{
  "statusCode": 401,
  "error": "Unauthorized",
  "message": "Unauthorized",
  "validation": {}
}
404Not found

Not found

Request was rejected because the requested resource does not exist.

Possible reasons include:

  • Requested resource does not exist
  • Default resource is being used instead of a custom resource
JSON RESPONSE
{
  "statusCode": 404,
  "error": "Not found",
  "message": "Not found",
  "validation": {}
}
500Internal server error

Internal server error

Server was not able to process the request due to an unexpected condition.

Please consider creating a support ticket to report this issue

  • Provide as much information as possible
  • Include the resource ID
  • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 500,
  "error": "Internal server error",
  "message": "Internal server error",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X GET "https://api.cincel.digital/v3/users/{user}/teams"
get

/workspaces

Get all workspaces

QUERY PARAMETERS
limitintegeroptional
offsetintegeroptional
pageintegeroptional
sortstringoptional
orderstringoptional
uuid_likestringoptional
name_likestringoptional
DEFINED RESPONSES
200

Successful

JSON RESPONSE
[
  {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "name": "string",
    "logo_url": "string",
    "plan": "free",
    "emoji": "string",
    "timezone": "string",
    "language": "string",
    "deleted_at": "2026-12-31",
    "created_at": "2026-10-12T22:57:34.198Z",
    "updated_at": "2026-10-12T22:57:34.198Z"
  }
]
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X GET "https://api.cincel.digital/v3/workspaces"
post

/workspaces

Create a new Workspace

Workspaces serve as containers for Teams and provide organization-level management.

Each workspace can have multiple teams and users with hierarchical permissions.
Each user can be a member of multiple workspaces at the same time.
Each user adopts a specific role in a workspace.

By using this endpoint, you'll be able to create a new Workspace.
To carry out this action, you must first authenticate yourself with the previously logged JWT token.

REQUEST BODY (JSON)
uuidstring (guid (uuid))optional
emojistringoptional
timezonestringoptional
languagestringoptional
deleted_atstring (date)optional
created_atstring (date)optional
updated_atstring (date)optional
namestringrequired
Payload (JSON)
{
  "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "emoji": "string",
  "timezone": "string",
  "language": "string",
  "deleted_at": "2026-12-31",
  "created_at": "2026-10-12T22:57:34.092Z",
  "updated_at": "2026-10-12T22:57:34.092Z",
  "name": "workspace name"
}
DEFINED RESPONSES
201

Created

JSON RESPONSE
{
  "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "name": "string",
  "logo": "https://api.cincel.digital/v3",
  "emoji": "string",
  "timezone": "string",
  "language": "string",
  "deleted_at": "2026-12-31",
  "created_at": "2026-10-12T22:57:34.095Z",
  "updated_at": "2026-10-12T22:57:34.095Z"
}
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
500Internal server error

Internal server error

Server was not able to process the request due to an unexpected condition.

Please consider creating a support ticket to report this issue

  • Provide as much information as possible
  • Include the resource ID
  • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 500,
  "error": "Internal server error",
  "message": "Internal server error",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X POST "https://api.cincel.digital/v3/workspaces"
get

/workspaces/{workspace}

Get a workspace

Workspaces are used to group teams, users and provide organization-level management.
A Workspace can be used to represent a company, organization, department, etc.

Use this endpoint to get details of a specific Workspace.

PATH PARAMETERS
workspacestringrequired
DEFINED RESPONSES
200

Successful

JSON RESPONSE
{
  "name": "string",
  "logo_url": "string",
  "plan": "free",
  "emoji": "string",
  "timezone": "string",
  "language": "string",
  "deleted_at": "2026-12-31",
  "created_at": "2026-10-12T22:57:34.228Z",
  "updated_at": "2026-10-12T22:57:34.228Z",
  "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
401Unauthorized

Unauthorized

Request was rejected because it did not contain valid authentication credentials.

Possible reasons include:

  • Missing required Basic authentication header
  • Missing required Bearer authentication header
  • Invalid authentication credentials
  • Expired authentication credentials
  • Revoked authentication credentials
  • Disabled authentication credentials

If you are using Basic authentication

  • Ensure user account exists in this environment
  • Ensure that the username and password are correct
  • Keep in mind that user accounts are tied to their respective environment
  • Keep in mind that Basic authentication is case-sensitive

If you are using Bearer authentication

  • Ensure that the token is valid
  • Ensure that the token was issued by this environment
  • Ensure that the token is not expired
  • Keep in mind that tokens are tied to their respective environment
JSON RESPONSE
{
  "statusCode": 401,
  "error": "Unauthorized",
  "message": "Unauthorized",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
404Not found

Not found

Request was rejected because the requested resource does not exist.

Possible reasons include:

  • Requested resource does not exist
  • Default resource is being used instead of a custom resource
JSON RESPONSE
{
  "statusCode": 404,
  "error": "Not found",
  "message": "Not found",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X GET "https://api.cincel.digital/v3/workspaces/{workspace}"
patch

/workspaces/{workspace}

Patch a workspace

Workspaces are used to group teams, users and provide organization-level management.
A Workspace can be used to represent a company, organization, department, etc.

Use this endpoint to rename a Workspace or modify its branding.

PATH PARAMETERS
workspacestringrequired
REQUEST BODY (JSON)
namestringoptional
logostring (binary)optional
emojistringoptional
timezonestringoptional
languagestringoptional
Payload (JSON)
{
  "name": "string",
  "logo": "string",
  "emoji": "string",
  "timezone": "string",
  "language": "string"
}
DEFINED RESPONSES
200

Successful

JSON RESPONSE
{
  "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "name": "string",
  "logo": "https://api.cincel.digital/v3",
  "emoji": "string",
  "timezone": "string",
  "language": "string",
  "deleted_at": "2026-12-31",
  "created_at": "2026-10-12T22:57:34.535Z",
  "updated_at": "2026-10-12T22:57:34.535Z"
}
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
401Unauthorized

Unauthorized

Request was rejected because it did not contain valid authentication credentials.

Possible reasons include:

  • Missing required Basic authentication header
  • Missing required Bearer authentication header
  • Invalid authentication credentials
  • Expired authentication credentials
  • Revoked authentication credentials
  • Disabled authentication credentials

If you are using Basic authentication

  • Ensure user account exists in this environment
  • Ensure that the username and password are correct
  • Keep in mind that user accounts are tied to their respective environment
  • Keep in mind that Basic authentication is case-sensitive

If you are using Bearer authentication

  • Ensure that the token is valid
  • Ensure that the token was issued by this environment
  • Ensure that the token is not expired
  • Keep in mind that tokens are tied to their respective environment
JSON RESPONSE
{
  "statusCode": 401,
  "error": "Unauthorized",
  "message": "Unauthorized",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
404Not found

Not found

Request was rejected because the requested resource does not exist.

Possible reasons include:

  • Requested resource does not exist
  • Default resource is being used instead of a custom resource
JSON RESPONSE
{
  "statusCode": 404,
  "error": "Not found",
  "message": "Not found",
  "validation": {}
}
500Internal server error

Internal server error

Server was not able to process the request due to an unexpected condition.

Please consider creating a support ticket to report this issue

  • Provide as much information as possible
  • Include the resource ID
  • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 500,
  "error": "Internal server error",
  "message": "Internal server error",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X PATCH "https://api.cincel.digital/v3/workspaces/{workspace}"
delete

/workspaces/{workspace}

Delete a workspace

Workspaces are used to group teams, users and provide organization-level management.
A Workspace can be used to represent a company, organization, department, etc.

Use this endpoint to delete a specific Workspace. Workspaces can only be deleted by users with admin access to the Workspace.

PATH PARAMETERS
workspacestringrequired
DEFINED RESPONSES
200

Successful

JSON RESPONSE
{
  "statusCode": 200,
  "message": "{workspace:{e290d662-f288-4ab8-b679-6218ae09f1cd}} deleted",
  "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
401Unauthorized

Unauthorized

Request was rejected because it did not contain valid authentication credentials.

Possible reasons include:

  • Missing required Basic authentication header
  • Missing required Bearer authentication header
  • Invalid authentication credentials
  • Expired authentication credentials
  • Revoked authentication credentials
  • Disabled authentication credentials

If you are using Basic authentication

  • Ensure user account exists in this environment
  • Ensure that the username and password are correct
  • Keep in mind that user accounts are tied to their respective environment
  • Keep in mind that Basic authentication is case-sensitive

If you are using Bearer authentication

  • Ensure that the token is valid
  • Ensure that the token was issued by this environment
  • Ensure that the token is not expired
  • Keep in mind that tokens are tied to their respective environment
JSON RESPONSE
{
  "statusCode": 401,
  "error": "Unauthorized",
  "message": "Unauthorized",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
404Not found

Not found

Request was rejected because the requested resource does not exist.

Possible reasons include:

  • Requested resource does not exist
  • Default resource is being used instead of a custom resource
JSON RESPONSE
{
  "statusCode": 404,
  "error": "Not found",
  "message": "Not found",
  "validation": {}
}
500Internal server error

Internal server error

Server was not able to process the request due to an unexpected condition.

Please consider creating a support ticket to report this issue

  • Provide as much information as possible
  • Include the resource ID
  • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 500,
  "error": "Internal server error",
  "message": "Internal server error",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X DELETE "https://api.cincel.digital/v3/workspaces/{workspace}"
get

/workspaces/{workspace}/credits

Workspace's credits

PATH PARAMETERS
workspacestringrequired
DEFINED RESPONSES
200

Successful

JSON RESPONSE
{
  "docs": {
    "got": 0,
    "spent": 0,
    "promo": 0
  },
  "timestamps": {
    "got": 0,
    "spent": 0,
    "promo": 0
  },
  "kyc": {
    "got": 0,
    "spent": 0,
    "promo": 0
  },
  "gbg_verifications": {
    "got": 0,
    "spent": 0,
    "promo": 0
  },
  "ine": {
    "got": 0,
    "spent": 0,
    "promo": 0
  },
  "rfc": {
    "got": 0,
    "spent": 0,
    "promo": 0
  },
  "curp": {
    "got": 0,
    "spent": 0,
    "promo": 0
  }
}
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
401Unauthorized

Unauthorized

Request was rejected because it did not contain valid authentication credentials.

Possible reasons include:

  • Missing required Basic authentication header
  • Missing required Bearer authentication header
  • Invalid authentication credentials
  • Expired authentication credentials
  • Revoked authentication credentials
  • Disabled authentication credentials

If you are using Basic authentication

  • Ensure user account exists in this environment
  • Ensure that the username and password are correct
  • Keep in mind that user accounts are tied to their respective environment
  • Keep in mind that Basic authentication is case-sensitive

If you are using Bearer authentication

  • Ensure that the token is valid
  • Ensure that the token was issued by this environment
  • Ensure that the token is not expired
  • Keep in mind that tokens are tied to their respective environment
JSON RESPONSE
{
  "statusCode": 401,
  "error": "Unauthorized",
  "message": "Unauthorized",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
404Not found

Not found

Request was rejected because the requested resource does not exist.

Possible reasons include:

  • Requested resource does not exist
  • Default resource is being used instead of a custom resource
JSON RESPONSE
{
  "statusCode": 404,
  "error": "Not found",
  "message": "Not found",
  "validation": {}
}
500Internal server error

Internal server error

Server was not able to process the request due to an unexpected condition.

Please consider creating a support ticket to report this issue

  • Provide as much information as possible
  • Include the resource ID
  • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 500,
  "error": "Internal server error",
  "message": "Internal server error",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X GET "https://api.cincel.digital/v3/workspaces/{workspace}/credits"
get

/workspaces/{workspace}/search

Universal Search in Workspace

Universal search endpoint optimized for Cmd+K modals.
Allows a user to search globally across Teams, Folders, and Documents within the context of a Workspace.
Only returns items the user has access to (via team membership).
Use q for the search term, and optionally limit to cap results.

PATH PARAMETERS
workspacestringrequired
QUERY PARAMETERS
qstringoptional
limitintegeroptional
DEFINED RESPONSES
200

Successful

JSON RESPONSE
[
  {
    "id": "string",
    "kind": "team",
    "title": "string",
    "url": "string",
    "search_text": "string",
    "rank": 0,
    "status": "string",
    "created_at": "2026-12-31",
    "updated_at": "2026-12-31"
  }
]
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
401Unauthorized

Unauthorized

Request was rejected because it did not contain valid authentication credentials.

Possible reasons include:

  • Missing required Basic authentication header
  • Missing required Bearer authentication header
  • Invalid authentication credentials
  • Expired authentication credentials
  • Revoked authentication credentials
  • Disabled authentication credentials

If you are using Basic authentication

  • Ensure user account exists in this environment
  • Ensure that the username and password are correct
  • Keep in mind that user accounts are tied to their respective environment
  • Keep in mind that Basic authentication is case-sensitive

If you are using Bearer authentication

  • Ensure that the token is valid
  • Ensure that the token was issued by this environment
  • Ensure that the token is not expired
  • Keep in mind that tokens are tied to their respective environment
JSON RESPONSE
{
  "statusCode": 401,
  "error": "Unauthorized",
  "message": "Unauthorized",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
404Not found

Not found

Request was rejected because the requested resource does not exist.

Possible reasons include:

  • Requested resource does not exist
  • Default resource is being used instead of a custom resource
JSON RESPONSE
{
  "statusCode": 404,
  "error": "Not found",
  "message": "Not found",
  "validation": {}
}
500Internal server error

Internal server error

Server was not able to process the request due to an unexpected condition.

Please consider creating a support ticket to report this issue

  • Provide as much information as possible
  • Include the resource ID
  • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 500,
  "error": "Internal server error",
  "message": "Internal server error",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X GET "https://api.cincel.digital/v3/workspaces/{workspace}/search"
get

/workspaces/{workspace}/teams

Get teams under a workspace

PATH PARAMETERS
workspacestringrequired
QUERY PARAMETERS
limitintegeroptional
offsetintegeroptional
pageintegeroptional
sortstringoptional
orderstringoptional
name_likestringoptional
uuid_likestringoptional
DEFINED RESPONSES
200

Successful

JSON RESPONSE
[
  {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "name": "string",
    "logo_url": "string",
    "emoji": "string",
    "role": "string",
    "workspace": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "deleted_at": "2026-12-31",
    "created_at": "2026-10-12T22:57:34.412Z",
    "updated_at": "2026-10-12T22:57:34.412Z",
    "members": 0
  }
]
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X GET "https://api.cincel.digital/v3/workspaces/{workspace}/teams"
post

/workspaces/{workspace}/teams

Add a team to a workspace

This API allows you to add an existing team to a specific workspace
within the Cincel digital signature platform. Only users who are administrators
of both the workspace and the team can perform this operation.

PATH PARAMETERS
workspacestringrequired
REQUEST BODY (JSON)
teamstring (guid (uuid))required
Payload (JSON)
{
  "team": "a1b2c3d4-5678-90ab-cdef-1234567890ab"
}
DEFINED RESPONSES
201

Created

JSON RESPONSE
{
  "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "name": "string",
  "logo_url": "string",
  "emoji": "string",
  "role": "string",
  "workspace": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "deleted_at": "2026-12-31",
  "created_at": "2026-10-12T22:57:34.118Z",
  "updated_at": "2026-10-12T22:57:34.118Z"
}
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
404Not found

Not found

Request was rejected because the requested resource does not exist.

Possible reasons include:

  • Requested resource does not exist
  • Default resource is being used instead of a custom resource
JSON RESPONSE
{
  "statusCode": 404,
  "error": "Not found",
  "message": "Not found",
  "validation": {}
}
500Internal server error

Internal server error

Server was not able to process the request due to an unexpected condition.

Please consider creating a support ticket to report this issue

  • Provide as much information as possible
  • Include the resource ID
  • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 500,
  "error": "Internal server error",
  "message": "Internal server error",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X POST "https://api.cincel.digital/v3/workspaces/{workspace}/teams"
get

/workspaces/{workspace}/users

List all users in a Workspace

Each Workspace is required to have at least one User.
By default, the user who creates a new Workspace becomes administrator of that new Workspace and is automatically added as a member of it.

Given a specific Workspace, administrators can use this endpoint to query the whole list of Users that are members of it.

PATH PARAMETERS
workspacestringrequired
QUERY PARAMETERS
limitintegeroptional
offsetintegeroptional
pageintegeroptional
sortstringoptional
orderstringoptional
include_deletedbooleanoptional
name_likestringoptional
email_likestringoptional
DEFINED RESPONSES
200

Successful

JSON RESPONSE
[
  {
    "id": "string",
    "email": "developer@cincel.digital",
    "name": "string",
    "created_at": "2026-10-12T22:57:34.422Z",
    "updated_at": "2026-10-12T22:57:34.422Z",
    "deleted_at": "2026-12-31",
    "rfc": "string",
    "curp": "string",
    "job": "string",
    "active": true,
    "role": "member",
    "teams": [
      {
        "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
        "name": "string",
        "emoji": "string",
        "role": "string",
        "is_default_team": false
      }
    ]
  }
]
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
401Unauthorized

Unauthorized

Request was rejected because it did not contain valid authentication credentials.

Possible reasons include:

  • Missing required Basic authentication header
  • Missing required Bearer authentication header
  • Invalid authentication credentials
  • Expired authentication credentials
  • Revoked authentication credentials
  • Disabled authentication credentials

If you are using Basic authentication

  • Ensure user account exists in this environment
  • Ensure that the username and password are correct
  • Keep in mind that user accounts are tied to their respective environment
  • Keep in mind that Basic authentication is case-sensitive

If you are using Bearer authentication

  • Ensure that the token is valid
  • Ensure that the token was issued by this environment
  • Ensure that the token is not expired
  • Keep in mind that tokens are tied to their respective environment
JSON RESPONSE
{
  "statusCode": 401,
  "error": "Unauthorized",
  "message": "Unauthorized",
  "validation": {}
}
404Not found

Not found

Request was rejected because the requested resource does not exist.

Possible reasons include:

  • Requested resource does not exist
  • Default resource is being used instead of a custom resource
JSON RESPONSE
{
  "statusCode": 404,
  "error": "Not found",
  "message": "Not found",
  "validation": {}
}
500Internal server error

Internal server error

Server was not able to process the request due to an unexpected condition.

Please consider creating a support ticket to report this issue

  • Provide as much information as possible
  • Include the resource ID
  • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 500,
  "error": "Internal server error",
  "message": "Internal server error",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X GET "https://api.cincel.digital/v3/workspaces/{workspace}/users"
post

/workspaces/{workspace}/users

Add a user to a workspace by email

This API allows you to add a user to a specific workspace within the Cincel
digital signature platform. If the user does not exist, they will be created automatically
and receive an invitation email with their credentials.

PATH PARAMETERS
workspacestringrequired
REQUEST BODY (JSON)
emailstringrequired
namestringoptional
rolestringoptional
Allowed values:adminmember
Payload (JSON)
{
  "email": "user@example.com",
  "name": "John Doe",
  "role": "member"
}
DEFINED RESPONSES
201

Created

JSON RESPONSE
{
  "workspace": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "user": 0,
  "role": "member",
  "deleted_at": "2026-12-31",
  "created_at": "2026-10-12T22:57:34.127Z",
  "updated_at": "2026-10-12T22:57:34.127Z"
}
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
401Unauthorized

Unauthorized

Request was rejected because it did not contain valid authentication credentials.

Possible reasons include:

  • Missing required Basic authentication header
  • Missing required Bearer authentication header
  • Invalid authentication credentials
  • Expired authentication credentials
  • Revoked authentication credentials
  • Disabled authentication credentials

If you are using Basic authentication

  • Ensure user account exists in this environment
  • Ensure that the username and password are correct
  • Keep in mind that user accounts are tied to their respective environment
  • Keep in mind that Basic authentication is case-sensitive

If you are using Bearer authentication

  • Ensure that the token is valid
  • Ensure that the token was issued by this environment
  • Ensure that the token is not expired
  • Keep in mind that tokens are tied to their respective environment
JSON RESPONSE
{
  "statusCode": 401,
  "error": "Unauthorized",
  "message": "Unauthorized",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
404Not found

Not found

Request was rejected because the requested resource does not exist.

Possible reasons include:

  • Requested resource does not exist
  • Default resource is being used instead of a custom resource
JSON RESPONSE
{
  "statusCode": 404,
  "error": "Not found",
  "message": "Not found",
  "validation": {}
}
409Conflict

Conflict

JSON RESPONSE
{
  "statusCode": 409,
  "error": "Conflict",
  "message": "Conflict",
  "validation": {}
}
500Internal server error

Internal server error

Server was not able to process the request due to an unexpected condition.

Please consider creating a support ticket to report this issue

  • Provide as much information as possible
  • Include the resource ID
  • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 500,
  "error": "Internal server error",
  "message": "Internal server error",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X POST "https://api.cincel.digital/v3/workspaces/{workspace}/users"
get

/workspaces/{workspace}/users/{user}

Get a specific User's profile in a Workspace

Each Workspace is required to have at least one User.
Given a specific Workspace and a member of it, they can use this endpoint to query the profile of any other User that is a member of the same Workspace.

PATH PARAMETERS
workspacestringrequired
userintegerrequired
DEFINED RESPONSES
200

Successful

JSON RESPONSE
{
  "id": "string",
  "email": "developer@cincel.digital",
  "name": "string",
  "created_at": "2026-10-12T22:57:34.439Z",
  "updated_at": "2026-10-12T22:57:34.439Z",
  "deleted_at": "2026-12-31",
  "rfc": "string",
  "curp": "string",
  "job": "string",
  "active": true,
  "role": "member",
  "teams": [
    {
      "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "name": "string",
      "emoji": "string",
      "role": "string",
      "is_default_team": false
    }
  ]
}
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
401Unauthorized

Unauthorized

Request was rejected because it did not contain valid authentication credentials.

Possible reasons include:

  • Missing required Basic authentication header
  • Missing required Bearer authentication header
  • Invalid authentication credentials
  • Expired authentication credentials
  • Revoked authentication credentials
  • Disabled authentication credentials

If you are using Basic authentication

  • Ensure user account exists in this environment
  • Ensure that the username and password are correct
  • Keep in mind that user accounts are tied to their respective environment
  • Keep in mind that Basic authentication is case-sensitive

If you are using Bearer authentication

  • Ensure that the token is valid
  • Ensure that the token was issued by this environment
  • Ensure that the token is not expired
  • Keep in mind that tokens are tied to their respective environment
JSON RESPONSE
{
  "statusCode": 401,
  "error": "Unauthorized",
  "message": "Unauthorized",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
404Not found

Not found

Request was rejected because the requested resource does not exist.

Possible reasons include:

  • Requested resource does not exist
  • Default resource is being used instead of a custom resource
JSON RESPONSE
{
  "statusCode": 404,
  "error": "Not found",
  "message": "Not found",
  "validation": {}
}
500Internal server error

Internal server error

Server was not able to process the request due to an unexpected condition.

Please consider creating a support ticket to report this issue

  • Provide as much information as possible
  • Include the resource ID
  • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 500,
  "error": "Internal server error",
  "message": "Internal server error",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X GET "https://api.cincel.digital/v3/workspaces/{workspace}/users/{user}"
patch

/workspaces/{workspace}/users/{user}

Modify User's role on a Workspace

Each User can belong to many different Workspaces, having a variety of roles on each of them. Use this endpoint to modify User role on a specific Workspace.

PATH PARAMETERS
workspacestringrequired
userintegerrequired
REQUEST BODY (JSON)
rolestringoptional
Allowed values:adminmember
Payload (JSON)
{
  "role": "admin"
}
DEFINED RESPONSES
200

Successful

JSON RESPONSE
{
  "workspace": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "user": 0,
  "role": "member",
  "deleted_at": "2026-12-31",
  "created_at": "2026-10-12T22:57:34.559Z",
  "updated_at": "2026-10-12T22:57:34.559Z"
}
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
500Internal server error

Internal server error

Server was not able to process the request due to an unexpected condition.

Please consider creating a support ticket to report this issue

  • Provide as much information as possible
  • Include the resource ID
  • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 500,
  "error": "Internal server error",
  "message": "Internal server error",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X PATCH "https://api.cincel.digital/v3/workspaces/{workspace}/users/{user}"
delete

/workspaces/{workspace}/users/{user}

Remove User from Workspace

Each Workspace can have as many member Users as desired.
This route allows a Workspace admin to remove other Users from the Workspace.

PATH PARAMETERS
workspacestringrequired

Workspace UUID

userintegerrequired

ID of User that will be removed from Workspace

DEFINED RESPONSES
200

Successful

JSON RESPONSE
{
  "workspace": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "user": 0,
  "role": "member",
  "deleted_at": "2026-12-31",
  "created_at": "2026-10-12T22:57:34.615Z",
  "updated_at": "2026-10-12T22:57:34.615Z"
}
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
401Unauthorized

Unauthorized

Request was rejected because it did not contain valid authentication credentials.

Possible reasons include:

  • Missing required Basic authentication header
  • Missing required Bearer authentication header
  • Invalid authentication credentials
  • Expired authentication credentials
  • Revoked authentication credentials
  • Disabled authentication credentials

If you are using Basic authentication

  • Ensure user account exists in this environment
  • Ensure that the username and password are correct
  • Keep in mind that user accounts are tied to their respective environment
  • Keep in mind that Basic authentication is case-sensitive

If you are using Bearer authentication

  • Ensure that the token is valid
  • Ensure that the token was issued by this environment
  • Ensure that the token is not expired
  • Keep in mind that tokens are tied to their respective environment
JSON RESPONSE
{
  "statusCode": 401,
  "error": "Unauthorized",
  "message": "Unauthorized",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
500Internal server error

Internal server error

Server was not able to process the request due to an unexpected condition.

Please consider creating a support ticket to report this issue

  • Provide as much information as possible
  • Include the resource ID
  • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 500,
  "error": "Internal server error",
  "message": "Internal server error",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X DELETE "https://api.cincel.digital/v3/workspaces/{workspace}/users/{user}"
patch

/pats/{pat}

Update the name of a Personal Access Token

PATH PARAMETERS
patstringrequired
REQUEST BODY (JSON)
namestringrequired
Payload (JSON)
{
  "name": "Updated Token Name"
}
DEFINED RESPONSES
200

Successful

JSON RESPONSE
{
  "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "name": "string",
  "token_last_four": "string",
  "expires_at": "2026-12-31",
  "last_used_at": "2026-12-31",
  "created_at": "2026-10-12T22:57:34.524Z"
}
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
401Unauthorized

Unauthorized

Request was rejected because it did not contain valid authentication credentials.

Possible reasons include:

  • Missing required Basic authentication header
  • Missing required Bearer authentication header
  • Invalid authentication credentials
  • Expired authentication credentials
  • Revoked authentication credentials
  • Disabled authentication credentials

If you are using Basic authentication

  • Ensure user account exists in this environment
  • Ensure that the username and password are correct
  • Keep in mind that user accounts are tied to their respective environment
  • Keep in mind that Basic authentication is case-sensitive

If you are using Bearer authentication

  • Ensure that the token is valid
  • Ensure that the token was issued by this environment
  • Ensure that the token is not expired
  • Keep in mind that tokens are tied to their respective environment
JSON RESPONSE
{
  "statusCode": 401,
  "error": "Unauthorized",
  "message": "Unauthorized",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
404Not found

Not found

Request was rejected because the requested resource does not exist.

Possible reasons include:

  • Requested resource does not exist
  • Default resource is being used instead of a custom resource
JSON RESPONSE
{
  "statusCode": 404,
  "error": "Not found",
  "message": "Not found",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X PATCH "https://api.cincel.digital/v3/pats/{pat}"
delete

/pats/{pat}

Revoke a Personal Access Token

PATH PARAMETERS
patstringrequired
DEFINED RESPONSES
200

Successful

JSON RESPONSE
{
  "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "name": "string",
  "token_last_four": "string",
  "expires_at": "2026-12-31",
  "last_used_at": "2026-12-31",
  "created_at": "2026-10-12T22:57:34.595Z"
}
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
401Unauthorized

Unauthorized

Request was rejected because it did not contain valid authentication credentials.

Possible reasons include:

  • Missing required Basic authentication header
  • Missing required Bearer authentication header
  • Invalid authentication credentials
  • Expired authentication credentials
  • Revoked authentication credentials
  • Disabled authentication credentials

If you are using Basic authentication

  • Ensure user account exists in this environment
  • Ensure that the username and password are correct
  • Keep in mind that user accounts are tied to their respective environment
  • Keep in mind that Basic authentication is case-sensitive

If you are using Bearer authentication

  • Ensure that the token is valid
  • Ensure that the token was issued by this environment
  • Ensure that the token is not expired
  • Keep in mind that tokens are tied to their respective environment
JSON RESPONSE
{
  "statusCode": 401,
  "error": "Unauthorized",
  "message": "Unauthorized",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
404Not found

Not found

Request was rejected because the requested resource does not exist.

Possible reasons include:

  • Requested resource does not exist
  • Default resource is being used instead of a custom resource
JSON RESPONSE
{
  "statusCode": 404,
  "error": "Not found",
  "message": "Not found",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X DELETE "https://api.cincel.digital/v3/pats/{pat}"
get

/tokens/jwt

Generate a JSON Web Token

Generates a short-lived JSON Web Token (JWT) required to authenticate all subsequent API calls across documents, digital signatures, and timestamps.

Authentication Methods:

  • Machine-to-Machine (M2M / Recommended): Authenticate using HTTP Basic Auth with your Personal Access Token (PAT) as username and an empty password (<pat>:), created via POST /users/{user}/pats.
  • Interactive: Authenticate using HTTP Basic Auth with your registered email and a one-time passcode (OTP/TOTP) as password (requested via GET /tokens/otp).

M2M Example:

Credential encoding: echo -n "<pat>:" | base64 (the trailing colon indicates an empty password).

# Option 1: Explicit Authorization Basic header
curl -X GET "https://api.cincel.digital/v3/tokens/jwt" \
  -H "Authorization: Basic <pat_base64>"

# Option 2: cURL shorthand
curl -X GET "https://api.cincel.digital/v3/tokens/jwt" -u "<pat>:"

Rate Limits & Token Caching Policy:

  • The issued JWT is valid for 2 hours and should be passed as Authorization: Bearer <jwt> on authenticated endpoints.
  • Do not request a new JWT per transaction. You must cache and reuse the token in memory until close to its expiration. Calling this endpoint excessively will trigger HTTP 429 (Too Many Requests).
DEFINED RESPONSES
200

Successful response

JSON Web Token (JWT) is delivered in plain text

JSON RESPONSE
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIzIiwiaWF0IjoxNjkwMDAwMDAwfQ.fAdjO6lCzML
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
401Unauthorized

Unauthorized

Request was rejected because it did not contain valid authentication credentials.

Possible reasons include:

  • Missing required Basic authentication header
  • Missing required Bearer authentication header
  • Invalid authentication credentials
  • Expired authentication credentials
  • Revoked authentication credentials
  • Disabled authentication credentials

If you are using Basic authentication

  • Ensure user account exists in this environment
  • Ensure that the username and password are correct
  • Keep in mind that user accounts are tied to their respective environment
  • Keep in mind that Basic authentication is case-sensitive

If you are using Bearer authentication

  • Ensure that the token is valid
  • Ensure that the token was issued by this environment
  • Ensure that the token is not expired
  • Keep in mind that tokens are tied to their respective environment
JSON RESPONSE
{
  "statusCode": 401,
  "error": "Unauthorized",
  "message": "Unauthorized",
  "validation": {}
}
403Forbidden

Forbidden

Request contained known credentials, however it was rejected because provided credentials do not have sufficient permissions to access the requested resource.

Possible reasons include:

  • User does not have sufficient permissions to access the requested resource
JSON RESPONSE
{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "Forbidden",
  "data": {},
  "validation": {}
}
410Gone

Gone

Request was rejected because the requested resource is no longer available.

Possible reasons include:

  • Owner of the resource deleted the resource
  • Staff member deleted the resource on behalf of the owner
JSON RESPONSE
{
  "statusCode": 410,
  "error": "Gone",
  "message": "Gone",
  "validation": {}
}
502Bad Gateway

Bad Gateway

Server was not able to process the request because it received an invalid response from an upstream server.#### Most of the time, this should be a temporary issue and automatically resolve itself

  • Please try again in a few minutes
  • If the issue persists, please consider creating a support ticket to report this issue
    • Provide as much information as possible
    • Include the resource ID
    • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 502,
  "error": "Bad Gateway",
  "message": "Bad Gateway",
  "validation": {}
}
503Service Unavailable

Service Unavailable

Server is currently not available to handle the request due to scheduled maintenance or a temporary rollout process.#### Most of the time, this should be a temporary issue and automatically resolve itself

  • Please try again in a few minutes
  • If the issue persists, please consider creating a support ticket to report this issue
    • Provide as much information as possible
    • Include the resource ID
    • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 503,
  "error": "Service Unavailable",
  "message": "Service Unavailable",
  "validation": {}
}
504Gateway Timeout

Gateway Timeout

Server was not able to process the request because it did not receive a response from an upstream server (e.g. an external provider or a server on a different region)#### Most of the time, this should be a temporary issue and automatically resolve itself

  • Please try again in a few minutes
  • If the issue persists, please consider creating a support ticket to report this issue
    • Provide as much information as possible
    • Include the resource ID
    • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 504,
  "error": "Gateway Timeout",
  "message": "Gateway Timeout",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X GET "https://api.cincel.digital/v3/tokens/jwt"
get

/tokens/otp

Get an email-delivered OTP

Request a passwordless authentication attempt for interactive users.

How it works:

  1. Primary Method (Magic Link): An email is sent containing a secure, direct-access Magic Link valid until the end of the next natural day.
  2. Fallback Method (OTP / TOTP): The email also includes a 6-digit One-Time Password (OTP) valid for a short temporal window, useful if opening the Magic Link directly is not possible. Once received, exchange it for a session JWT at GET /tokens/jwt.

Note: This endpoint is strictly for interactive users. Machine-to-machine integrations must generate a Personal Access Token via POST /users/{user}/pats.

Call this endpoint attaching a Basic Auth header with the user email as username (password can be omitted).

DEFINED RESPONSES
201

Successful response

OTP is sent to user email

JSON RESPONSE
{
  "statusCode": 201,
  "message": "OTP sent to foo@bar.com",
  "otp_expires_at": "2023-01-01T00:00:00.000Z",
  "host": "app.cincel.digital",
  "isPro": true
}
400Bad Request

Bad Request

Request was rejected because it was malformed.

Possible reasons include:

  • Missing required payload
  • Missing required parameters
  • Missing required headers
  • Missing required query parameters
  • Unexpected payload, parameters, headers, or query parameters
JSON RESPONSE
{
  "statusCode": 400,
  "error": "Bad request",
  "message": "Bad request",
  "validation": {}
}
402Payment Required

Payment Required

Request was rejected because relevant account has an outstanding balance.

To fix this

  • Additional credits need to be purchased
  • If required, please consider opening a billing ticket to request a credit limit increase
JSON RESPONSE
{
  "statusCode": 402,
  "error": "Payment Required",
  "message": "Payment Required",
  "data": {},
  "validation": {}
}
410Gone

Gone

Request was rejected because the requested resource is no longer available.

Possible reasons include:

  • Owner of the resource deleted the resource
  • Staff member deleted the resource on behalf of the owner
JSON RESPONSE
{
  "statusCode": 410,
  "error": "Gone",
  "message": "Gone",
  "validation": {}
}
502Bad Gateway

Bad Gateway

Server was not able to process the request because it received an invalid response from an upstream server.#### Most of the time, this should be a temporary issue and automatically resolve itself

  • Please try again in a few minutes
  • If the issue persists, please consider creating a support ticket to report this issue
    • Provide as much information as possible
    • Include the resource ID
    • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 502,
  "error": "Bad Gateway",
  "message": "Bad Gateway",
  "validation": {}
}
503Service Unavailable

Service Unavailable

Server is currently not available to handle the request due to scheduled maintenance or a temporary rollout process.#### Most of the time, this should be a temporary issue and automatically resolve itself

  • Please try again in a few minutes
  • If the issue persists, please consider creating a support ticket to report this issue
    • Provide as much information as possible
    • Include the resource ID
    • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 503,
  "error": "Service Unavailable",
  "message": "Service Unavailable",
  "validation": {}
}
504Gateway Timeout

Gateway Timeout

Server was not able to process the request because it did not receive a response from an upstream server (e.g. an external provider or a server on a different region)#### Most of the time, this should be a temporary issue and automatically resolve itself

  • Please try again in a few minutes
  • If the issue persists, please consider creating a support ticket to report this issue
    • Provide as much information as possible
    • Include the resource ID
    • Include steps to reproduce the issue
JSON RESPONSE
{
  "statusCode": 504,
  "error": "Gateway Timeout",
  "message": "Gateway Timeout",
  "validation": {}
}
⚡TRY IT OUT
cURL
Generated cURL Command:
curl -X GET "https://api.cincel.digital/v3/tokens/otp"