Revoke user's refresh token and logout
Request Body
Fields
Responses
Example 200 response
{
"data": null,
"metadata": {
"page": 0,
"limit": 0,
"total": 0,
"requestId": "string",
"timestamp": "2026-04-07T15:56:49.999Z"
}
}
Get Started
Use the tmsign API to create signing requests, deliver signature journeys, track status changes, and retrieve final signed documents inside your own application.
This portal is built for third-party teams integrating tmsign signing journeys. The focus is on clear workflow guidance, consistent request patterns, and production-ready event tracking.
Partners, platform teams, and internal product teams embedding signing.
Onboarding, contracts, identity verification, and regulated approvals.
One click nav, clear flows, and concrete payload examples.
Get Started
If you integrate using the company scope (`client_credentials`), you will receive a company ID plus a client ID and client secret from the tmsign team. Use those to request an access token and start creating signing requests.
Request a `client_id` and `client_secret` if you will use the `client_credentials` grant. You will also need `x-company-id` for most company-scoped endpoints.
Call `POST /v1/auth/token` with `grant_type=client_credentials` when using client credentials. Other supported grants are `otp`, `password`, and `refresh_token`.
Use `POST /v1/documents` with files and signer data to start a signing flow.
Poll document status with `GET /v1/documents/{id}` or receive webhook events, then download the document file from `GET /v1/documents/{id}/download`.
Get Started
A clear end-to-end path from authentication to signed PDFs.
Exchange client credentials for an access token.
Upload PDFs or use templates with signer details.
Signers receive email/SMS based on delivery settings.
Poll `/v1/documents/{id}` or receive webhooks.
Get the signed document when status is `Completed`.
Development
The API follows OAuth-style token exchange. The recommended integration grant is `client_credentials`.
curl -X POST https://dev.api.tmsign.co.uk/v1/auth/token \
-H "Content-Type: application/json" \
-d '{
"grant_type": "client_credentials",
"client_id": "YOUR_CLIENT_ID",
"client_secret": "YOUR_CLIENT_SECRET"
}'
{
"access_token": "eyJhbGciOi...",
"token_type": "Bearer",
"expires_in": 86400
}
curl -X POST https://dev.api.tmsign.co.uk/v1/auth/token \
-H "Content-Type: application/json" \
-d '{
"grant_type": "otp",
"username": "user@example.com",
"scope": "company-admin"
}'
curl -X POST https://dev.api.tmsign.co.uk/v1/auth/token \
-H "Content-Type: application/json" \
-d '{
"grant_type": "password",
"username": "user@example.com",
"password": "Password123!",
"scope": "company-admin"
}'
curl -X POST https://dev.api.tmsign.co.uk/v1/auth/token \
-H "Content-Type: application/json" \
-d '{
"grant_type": "refresh_token",
"refresh_token": "YOUR_REFRESH_TOKEN",
"scope": "company-admin"
}'
Using the API
Quick lookup for the primary endpoints used in integrations.
Most endpoints return `{ data, metadata }`. List endpoints return `{ data, metadata }` with pagination.
Using the API
All endpoints grouped by controller/tag. Each entry lists parameters, request bodies, and responses.
6 endpoints
Revoke user's refresh token and logout
{
"data": null,
"metadata": {
"page": 0,
"limit": 0,
"total": 0,
"requestId": "string",
"timestamp": "2026-04-07T15:56:49.999Z"
}
}
{
"data": {
"message": "string"
},
"metadata": {
"page": 0,
"limit": 0,
"total": 0,
"requestId": "string",
"timestamp": "2026-04-07T15:56:49.999Z"
}
}
{
"data": {
"message": "string"
},
"metadata": {
"page": 0,
"limit": 0,
"total": 0,
"requestId": "string",
"timestamp": "2026-04-07T15:56:49.999Z"
}
}
Register a new user with email verification
{
"data": {
"status": "string",
"email": "string",
"message": "string"
},
"metadata": {
"page": 0,
"limit": 0,
"total": 0,
"requestId": "string",
"timestamp": "2026-04-07T15:56:49.999Z"
}
}
OAuth 2.0 token endpoint supporting multiple grant types
{
"data": {
"access_token": "string",
"refresh_token": "string",
"token_type": "string",
"expires_in": 0,
"forcePasswordChange": true
},
"metadata": {
"page": 0,
"limit": 0,
"total": 0,
"requestId": "string",
"timestamp": "2026-04-07T15:56:49.999Z"
}
}
Verify OTP code for user authentication
{
"data": {
"access_token": "string",
"refresh_token": "string",
"token_type": "string",
"expires_in": 0,
"forcePasswordChange": true
},
"metadata": {
"page": 0,
"limit": 0,
"total": 0,
"requestId": "string",
"timestamp": "2026-04-07T15:56:49.999Z"
}
}
13 endpoints
Retrieve all users within a specific company
{
"data": [
{
"id": "string",
"email": "string",
"name": "string",
"telephoneNumber": "string",
"isActive": true,
"createdAt": "2026-04-07T15:56:49.999Z",
"updatedAt": "2026-04-07T15:56:49.999Z",
"verified": true,
"nationality": "string",
"transactionID": "string",
"transactionExpiresAt": "2026-04-07T15:56:49.999Z",
"securityContext": "string",
"isGrantAccess": true
}
],
"metadata": {
"requestId": "string",
"timestamp": "2026-04-07T15:56:49.999Z",
"totalPages": 0,
"limit": 0,
"page": 0,
"total": 0
}
}
Create a new user
{
"data": {
"id": "string",
"email": "string",
"name": "string",
"telephoneNumber": "string",
"isActive": true,
"createdAt": "2026-04-07T15:56:49.999Z",
"updatedAt": "2026-04-07T15:56:49.999Z",
"verified": true,
"nationality": "string",
"transactionID": "string",
"transactionExpiresAt": "2026-04-07T15:56:49.999Z",
"securityContext": "string",
"isGrantAccess": true
},
"metadata": {
"page": 0,
"limit": 0,
"total": 0,
"requestId": "string",
"timestamp": "2026-04-07T15:56:49.999Z"
}
}
Get the current user's details
{
"data": {
"id": "string",
"email": "string",
"name": "string",
"telephoneNumber": "string",
"isActive": true,
"createdAt": "2026-04-07T15:56:49.999Z",
"updatedAt": "2026-04-07T15:56:49.999Z",
"verified": true,
"nationality": "string",
"transactionID": "string",
"transactionExpiresAt": "2026-04-07T15:56:49.999Z",
"securityContext": "string",
"isGrantAccess": true
},
"metadata": {
"page": 0,
"limit": 0,
"total": 0,
"requestId": "string",
"timestamp": "2026-04-07T15:56:49.999Z"
}
}
{
"data": {
"id": "string",
"email": "string",
"name": "string",
"telephoneNumber": "string",
"isActive": true,
"createdAt": "2026-04-07T15:56:49.999Z",
"updatedAt": "2026-04-07T15:56:49.999Z",
"verified": true,
"nationality": "string",
"transactionID": "string",
"transactionExpiresAt": "2026-04-07T15:56:49.999Z",
"securityContext": "string",
"isGrantAccess": true
},
"metadata": {
"page": 0,
"limit": 0,
"total": 0,
"requestId": "string",
"timestamp": "2026-04-07T15:56:49.999Z"
}
}
Get the current user's details and associated companies
{
"data": {
"companies": [
{
"id": "string",
"name": "string",
"scopes": [
"string"
]
}
],
"user": {
"id": "string",
"email": "string",
"name": "string",
"telephoneNumber": "string",
"isActive": true,
"createdAt": "2026-04-07T15:56:49.999Z",
"updatedAt": "2026-04-07T15:56:49.999Z",
"verified": true,
"nationality": "string",
"transactionID": "string",
"transactionExpiresAt": "2026-04-07T15:56:49.999Z",
"securityContext": "string",
"isGrantAccess": true
}
},
"metadata": {
"page": 0,
"limit": 0,
"total": 0,
"requestId": "string",
"timestamp": "2026-04-07T15:56:49.999Z"
}
}
Get the current user's documents
{
"data": {
"id": "string",
"email": "string",
"name": "string",
"telephoneNumber": "string",
"isActive": true,
"createdAt": "2026-04-07T15:56:49.999Z",
"updatedAt": "2026-04-07T15:56:49.999Z",
"verified": true,
"nationality": "string",
"transactionID": "string",
"transactionExpiresAt": "2026-04-07T15:56:49.999Z",
"securityContext": "string",
"isGrantAccess": true,
"documents": [
{
"createdAt": "2026-04-07T15:56:49.999Z",
"status": "string",
"name": "string",
"id": "string"
}
]
},
"metadata": {
"page": 0,
"limit": 0,
"total": 0,
"requestId": "string",
"timestamp": "2026-04-07T15:56:49.999Z"
}
}
Get the current user's documents where they are a signer
{
"data": [
{
"document": {
"user": {
"nationality": "string",
"updatedAt": "string",
"telephoneNumber": "string",
"name": "string",
"isActive": true,
"id": "string",
"email": "string",
"createdAt": "string"
},
"signingUrl": "string",
"typeRecipient": "ID_DOCUMENT",
"type": "string",
"updatedAt": "string",
"templateId": "string",
"status": "string",
"name": "string",
"id": "string",
"description": "string",
"createdAt": "string",
"companyId": "string"
}
}
],
"metadata": {
"requestId": "string",
"timestamp": "2026-04-07T15:56:49.999Z",
"totalPages": 0,
"limit": 0,
"page": 0,
"total": 0
}
}
Search for users by email or name within a specific company
{
"data": [
{
"id": "string",
"email": "string",
"name": "string",
"telephoneNumber": "string",
"isActive": true,
"createdAt": "2026-04-07T15:56:49.999Z",
"updatedAt": "2026-04-07T15:56:49.999Z",
"verified": true,
"nationality": "string",
"transactionID": "string",
"transactionExpiresAt": "2026-04-07T15:56:49.999Z",
"securityContext": "string",
"isGrantAccess": true
}
],
"metadata": {
"requestId": "string",
"timestamp": "2026-04-07T15:56:49.999Z",
"totalPages": 0,
"limit": 0,
"page": 0,
"total": 0
}
}
Delete a user
{
"data": {
"success": true,
"message": "string"
},
"metadata": {
"page": 0,
"limit": 0,
"total": 0,
"requestId": "string",
"timestamp": "2026-04-07T15:56:49.999Z"
}
}
Get a user by ID
{
"data": {
"id": "string",
"email": "string",
"name": "string",
"telephoneNumber": "string",
"isActive": true,
"createdAt": "2026-04-07T15:56:49.999Z",
"updatedAt": "2026-04-07T15:56:49.999Z",
"verified": true,
"nationality": "string",
"transactionID": "string",
"transactionExpiresAt": "2026-04-07T15:56:49.999Z",
"securityContext": "string",
"isGrantAccess": true
},
"metadata": {
"page": 0,
"limit": 0,
"total": 0,
"requestId": "string",
"timestamp": "2026-04-07T15:56:49.999Z"
}
}
{
"data": {
"id": "string",
"email": "string",
"name": "string",
"telephoneNumber": "string",
"isActive": true,
"createdAt": "2026-04-07T15:56:49.999Z",
"updatedAt": "2026-04-07T15:56:49.999Z",
"verified": true,
"nationality": "string",
"transactionID": "string",
"transactionExpiresAt": "2026-04-07T15:56:49.999Z",
"securityContext": "string",
"isGrantAccess": true
},
"metadata": {
"page": 0,
"limit": 0,
"total": 0,
"requestId": "string",
"timestamp": "2026-04-07T15:56:49.999Z"
}
}
Get the company associated with a user for the specified company ID
{
"data": {
"id": "string",
"name": "string",
"scopes": [
"string"
]
},
"metadata": {
"page": 0,
"limit": 0,
"total": 0,
"requestId": "string",
"timestamp": "2026-04-07T15:56:49.999Z"
}
}
Get a user's documents
{
"data": {
"id": "string",
"email": "string",
"name": "string",
"telephoneNumber": "string",
"isActive": true,
"createdAt": "2026-04-07T15:56:49.999Z",
"updatedAt": "2026-04-07T15:56:49.999Z",
"verified": true,
"nationality": "string",
"transactionID": "string",
"transactionExpiresAt": "2026-04-07T15:56:49.999Z",
"securityContext": "string",
"isGrantAccess": true,
"documents": [
{
"createdAt": "2026-04-07T15:56:49.999Z",
"status": "string",
"name": "string",
"id": "string"
}
]
},
"metadata": {
"page": 0,
"limit": 0,
"total": 0,
"requestId": "string",
"timestamp": "2026-04-07T15:56:49.999Z"
}
}
8 endpoints
Get the current user's company information
{
"data": {
"id": "string",
"name": "string",
"webhookUrl": "string",
"webhookSecret": "string",
"createdAt": "2026-04-07T15:56:49.999Z",
"updatedAt": "2026-04-07T15:56:49.999Z",
"isActive": true
},
"metadata": {
"page": 0,
"limit": 0,
"total": 0,
"requestId": "string",
"timestamp": "2026-04-07T15:56:49.999Z"
}
}
Update the current company
{
"data": {
"id": "string",
"name": "string",
"webhookUrl": "string",
"webhookSecret": "string",
"createdAt": "2026-04-07T15:56:49.999Z",
"updatedAt": "2026-04-07T15:56:49.999Z",
"isActive": true
},
"metadata": {
"page": 0,
"limit": 0,
"total": 0,
"requestId": "string",
"timestamp": "2026-04-07T15:56:49.999Z"
}
}
Delete the company's client credentials
{
"new": {
"id": "string",
"name": "string",
"clientId": "string",
"clientSecret": "string",
"webhookUrl": "string",
"webhookSecret": "string",
"isActive": true,
"companyUsers": [
{
"id": "string",
"company": {},
"companyId": "string",
"user": {
"id": "string",
"email": "string",
"password": "string",
"name": "string",
"telephoneNumber": "string",
"isActive": true,
"verified": true,
"forcePasswordChange": true,
"failedLoginAttempts": 0,
"isLocked": true,
"nationality": "string",
"pinHash": "string",
"pinFailedAttempts": 0,
"va_data": "string",
"securityContext": "string",
"transactionID": "string",
"transactionExpiresAt": "2026-04-07T15:56:49.999Z",
"isGrantAccess": true,
"companyUsers": [
{}
],
"documents": [
{
"id": "string",
"createdAt": "2026-04-07T15:56:49.999Z",
"updatedAt": "2026-04-07T15:56:49.999Z",
"name": "string",
"signedFileUrl": "string",
"description": "string",
"filePath": "string",
"fileType": "string",
"fileSize": 0,
"fileKey": [
"string"
],
"fileUrl": [
"string"
],
"cc": [
"string"
],
"companyId": "string",
"company": {},
"createdByUser": {},
"metadata": {
"key": "string"
},
"eventType": "Sent",
"status": "InProgress",
"documentSource": "Upload",
"type": "Standard",
"user": {},
"userId": "string",
"boldSignId": "string",
"sendUrl": "string",
"template": {
"id": "string",
"name": "string",
"content": "string",
"metadata": {
"key": "string"
},
"signersCount": 0,
"isActive": true,
"tags": [
"string"
],
"documents": [
{}
],
"createdAt": "2026-04-07T15:56:49.999Z",
"updatedAt": "2026-04-07T15:56:49.999Z"
},
"templateId": "string",
"signers": [
{
"id": "string",
"createdAt": "2026-04-07T15:56:49.999Z",
"updatedAt": "2026-04-07T15:56:49.999Z",
"signerName": "string",
"signerRole": "string",
"signerEmail": "string",
"enableAccessCode": true,
"isAuthenticationFailed": true,
"enableEmailOTP": true,
"signingUrl": "string",
"signedAt": "2026-04-07T15:56:49.999Z",
"isDeliveryFailed": true,
"isViewed": true,
"order": 0,
"authenticationRetryCount": 0,
"enableQes": true,
"authenticationType": "None",
"status": "InProgress",
"signerType": "Signer",
"hostEmail": "string",
"hostName": "string",
"isReassigned": true,
"privateMessage": "string",
"allowFieldConfiguration": true,
"language": 0,
"locale": "EN",
"deliveryMode": "Email",
"boldSignId": "string",
"fileKey": "string",
"xPosition": 0,
"yPosition": 0,
"width": 0,
"height": 0,
"pageNumber": 0,
"document": {},
"documentId": "string",
"user": {},
"userId": "string"
}
],
"logs": [
{
"id": "string",
"createdAt": "2026-04-07T15:56:49.999Z",
"updatedAt": "2026-04-07T15:56:49.999Z",
"event": "created",
"description": "string",
"document": {},
"user": {}
}
],
"typeRecipient": "ID_DOCUMENT"
}
],
"refreshTokens": [
{
"id": "string",
"token": "string",
"expiresAt": "2026-04-07T15:56:49.999Z",
"isRevoked": true,
"clientIp": "string",
"userAgent": "string",
"revokedReason": "string",
"revokedAt": "2026-04-07T15:56:49.999Z",
"user": null,
"userId": null,
"company": null,
"companyId": null,
"createdAt": "2026-04-07T15:56:49.999Z",
"updatedAt": "2026-04-07T15:56:49.999Z"
}
],
"signatures": [
{
"id": "string",
"createdAt": "2026-04-07T15:56:49.999Z",
"updatedAt": "2026-04-07T15:56:49.999Z",
"signerName": "string",
"signerRole": "string",
"signerEmail": "string",
"enableAccessCode": true,
"isAuthenticationFailed": true,
"enableEmailOTP": true,
"signingUrl": "string",
"signedAt": "2026-04-07T15:56:49.999Z",
"isDeliveryFailed": true,
"isViewed": true,
"order": 0,
"authenticationRetryCount": 0,
"enableQes": true,
"authenticationType": "None",
"status": "InProgress",
"signerType": "Signer",
"hostEmail": "string",
"hostName": "string",
"isReassigned": true,
"privateMessage": "string",
"allowFieldConfiguration": true,
"language": 0,
"locale": "EN",
"deliveryMode": "Email",
"boldSignId": "string",
"fileKey": "string",
"xPosition": 0,
"yPosition": 0,
"width": 0,
"height": 0,
"pageNumber": 0,
"document": {
"id": "string",
"createdAt": "2026-04-07T15:56:49.999Z",
"updatedAt": "2026-04-07T15:56:49.999Z",
"name": "string",
"signedFileUrl": "string",
"description": "string",
"filePath": "string",
"fileType": "string",
"fileSize": 0,
"fileKey": [
"string"
],
"fileUrl": [
"string"
],
"cc": [
"string"
],
"companyId": "string",
"company": {},
"createdByUser": {},
"metadata": {
"key": "string"
},
"eventType": "Sent",
"status": "InProgress",
"documentSource": "Upload",
"type": "Standard",
"user": {},
"userId": "string",
"boldSignId": "string",
"sendUrl": "string",
"template": {
"id": "string",
"name": "string",
"content": "string",
"metadata": {
"key": "string"
},
"signersCount": 0,
"isActive": true,
"tags": [
"string"
],
"documents": [
{}
],
"createdAt": "2026-04-07T15:56:49.999Z",
"updatedAt": "2026-04-07T15:56:49.999Z"
},
"templateId": "string",
"signers": [
{}
],
"logs": [
{
"id": "string",
"createdAt": "2026-04-07T15:56:49.999Z",
"updatedAt": "2026-04-07T15:56:49.999Z",
"event": "created",
"description": "string",
"document": {},
"user": {}
}
],
"typeRecipient": "ID_DOCUMENT"
},
"documentId": "string",
"user": {},
"userId": "string"
}
],
"logs": [
{
"id": "string",
"createdAt": "2026-04-07T15:56:49.999Z",
"updatedAt": "2026-04-07T15:56:49.999Z",
"event": "created",
"description": "string",
"document": {
"id": "string",
"createdAt": "2026-04-07T15:56:49.999Z",
"updatedAt": "2026-04-07T15:56:49.999Z",
"name": "string",
"signedFileUrl": "string",
"description": "string",
"filePath": "string",
"fileType": "string",
"fileSize": 0,
"fileKey": [
"string"
],
"fileUrl": [
"string"
],
"cc": [
"string"
],
"companyId": "string",
"company": {},
"createdByUser": {},
"metadata": {
"key": "string"
},
"eventType": "Sent",
"status": "InProgress",
"documentSource": "Upload",
"type": "Standard",
"user": {},
"userId": "string",
"boldSignId": "string",
"sendUrl": "string",
"template": {
"id": "string",
"name": "string",
"content": "string",
"metadata": {
"key": "string"
},
"signersCount": 0,
"isActive": true,
"tags": [
"string"
],
"documents": [
{}
],
"createdAt": "2026-04-07T15:56:49.999Z",
"updatedAt": "2026-04-07T15:56:49.999Z"
},
"templateId": "string",
"signers": [
{
"id": "string",
"createdAt": "2026-04-07T15:56:49.999Z",
"updatedAt": "2026-04-07T15:56:49.999Z",
"signerName": "string",
"signerRole": "string",
"signerEmail": "string",
"enableAccessCode": true,
"isAuthenticationFailed": true,
"enableEmailOTP": true,
"signingUrl": "string",
"signedAt": "2026-04-07T15:56:49.999Z",
"isDeliveryFailed": true,
"isViewed": true,
"order": 0,
"authenticationRetryCount": 0,
"enableQes": true,
"authenticationType": "None",
"status": "InProgress",
"signerType": "Signer",
"hostEmail": "string",
"hostName": "string",
"isReassigned": true,
"privateMessage": "string",
"allowFieldConfiguration": true,
"language": 0,
"locale": "EN",
"deliveryMode": "Email",
"boldSignId": "string",
"fileKey": "string",
"xPosition": 0,
"yPosition": 0,
"width": 0,
"height": 0,
"pageNumber": 0,
"document": {},
"documentId": "string",
"user": {},
"userId": "string"
}
],
"logs": [
{}
],
"typeRecipient": "ID_DOCUMENT"
},
"user": {}
}
],
"createdAt": "2026-04-07T15:56:49.999Z",
"updatedAt": "2026-04-07T15:56:49.999Z"
},
"userId": "string",
"scopes": [
"string"
],
"isActive": true,
"createdAt": "2026-04-07T15:56:49.999Z",
"updatedAt": "2026-04-07T15:56:49.999Z"
}
],
"refreshTokens": [
{
"id": "string",
"token": "string",
"expiresAt": "2026-04-07T15:56:49.999Z",
"isRevoked": true,
"clientIp": "string",
"userAgent": "string",
"revokedReason": "string",
"revokedAt": "2026-04-07T15:56:49.999Z",
"user": null,
"userId": null,
"company": null,
"companyId": null,
"createdAt": "2026-04-07T15:56:49.999Z",
"updatedAt": "2026-04-07T15:56:49.999Z"
}
],
"createdAt": "2026-04-07T15:56:49.999Z",
"updatedAt": "2026-04-07T15:56:49.999Z"
},
"data": "string"
}
Get the company's client credentials
{
"data": {
"clientId": "string",
"clientSecret": "string",
"webhookSecret": "string",
"companyId": "string"
},
"metadata": {
"page": 0,
"limit": 0,
"total": 0,
"requestId": "string",
"timestamp": "2026-04-07T15:56:49.999Z"
}
}
Create the company's client credentials
No request body. Provide the company header only.
{
"data": {
"clientId": "string",
"clientSecret": "string",
"webhookSecret": "string",
"companyId": "string"
},
"metadata": {
"page": 0,
"limit": 0,
"total": 0,
"requestId": "string",
"timestamp": "2026-04-07T15:56:49.999Z"
}
}
Get company statistics
{
"data": {
"totalUsers": 0,
"roles": {
"companySigner": 0,
"companyUser": 0,
"companyAdmin": 0,
"lawtechAdmin": 0
},
"documents": {
"total": 0,
"scheduled": 0,
"draft": 0,
"revoked": 0,
"expired": 0,
"declined": 0,
"needsAttention": 0,
"terminated": 0,
"completed": 0,
"awaitingOthers": 0,
"awaitingUs": 0
}
},
"metadata": {
"page": 0,
"limit": 0,
"total": 0,
"requestId": "string",
"timestamp": "2026-04-07T15:56:49.999Z"
}
}
Get all users associated with the current company
{
"data": [
{
"scopes": [
"string"
],
"name": "string",
"email": "string",
"id": "string"
}
],
"metadata": {
"requestId": "string",
"timestamp": "2026-04-07T15:56:49.999Z",
"totalPages": 0,
"limit": 0,
"page": 0,
"total": 0
}
}
Search users within the current company
{
"data": [
{
"scopes": [
"string"
],
"name": "string",
"email": "string",
"id": "string"
}
],
"metadata": {
"requestId": "string",
"timestamp": "2026-04-07T15:56:49.999Z",
"totalPages": 0,
"limit": 0,
"page": 0,
"total": 0
}
}
8 endpoints
Get all companies
{
"data": [
{
"id": "string",
"name": "string",
"webhookUrl": "string",
"webhookSecret": "string",
"createdAt": "2026-04-07T15:56:49.999Z",
"updatedAt": "2026-04-07T15:56:49.999Z",
"isActive": true
}
],
"metadata": {
"requestId": "string",
"timestamp": "2026-04-07T15:56:49.999Z",
"totalPages": 0,
"limit": 0,
"page": 0,
"total": 0
}
}
Create a new company
{
"data": {
"id": "string",
"name": "string",
"webhookUrl": "string",
"webhookSecret": "string",
"createdAt": "2026-04-07T15:56:49.999Z",
"updatedAt": "2026-04-07T15:56:49.999Z",
"isActive": true
},
"metadata": {
"page": 0,
"limit": 0,
"total": 0,
"requestId": "string",
"timestamp": "2026-04-07T15:56:49.999Z"
}
}
Delete a company
{
"data": {
"success": true
},
"metadata": {
"page": 0,
"limit": 0,
"total": 0,
"requestId": "string",
"timestamp": "2026-04-07T15:56:49.999Z"
}
}
Get detailed information about a specific company
{
"data": {
"id": "string",
"name": "string",
"webhookUrl": "string",
"webhookSecret": "string",
"createdAt": "2026-04-07T15:56:49.999Z",
"updatedAt": "2026-04-07T15:56:49.999Z",
"isActive": true
},
"metadata": {
"page": 0,
"limit": 0,
"total": 0,
"requestId": "string",
"timestamp": "2026-04-07T15:56:49.999Z"
}
}
Update an existing company
{
"data": {
"id": "string",
"name": "string",
"webhookUrl": "string",
"webhookSecret": "string",
"createdAt": "2026-04-07T15:56:49.999Z",
"updatedAt": "2026-04-07T15:56:49.999Z",
"isActive": true
},
"metadata": {
"page": 0,
"limit": 0,
"total": 0,
"requestId": "string",
"timestamp": "2026-04-07T15:56:49.999Z"
}
}
Get a company's client credentials
{
"data": {
"companyId": "string",
"webhookSecret": "string",
"clientSecret": "string",
"clientId": "string"
},
"metadata": {
"page": 0,
"limit": 0,
"total": 0,
"requestId": "string",
"timestamp": "2026-04-07T15:56:49.999Z"
}
}
Get all users associated with a company
{
"data": [
{
"scopes": [
"string"
],
"name": "string",
"email": "string",
"id": "string"
}
],
"metadata": {
"requestId": "string",
"timestamp": "2026-04-07T15:56:49.999Z",
"totalPages": 0,
"limit": 0,
"page": 0,
"total": 0
}
}
Search users within a specific company
{
"data": [
{
"scopes": [
"string"
],
"name": "string",
"email": "string",
"id": "string"
}
],
"metadata": {
"requestId": "string",
"timestamp": "2026-04-07T15:56:49.999Z",
"totalPages": 0,
"limit": 0,
"page": 0,
"total": 0
}
}
8 endpoints
Retrieve all documents
{
"data": [
{
"id": "string",
"name": "string",
"description": "string",
"type": "string",
"companyId": "string",
"status": "string",
"documentSource": "Upload",
"typeRecipient": "ID_DOCUMENT",
"createdAt": "2026-04-07T15:56:49.999Z",
"updatedAt": "2026-04-07T15:56:49.999Z",
"signers": [
{
"transactionID": "string",
"nationality": "string",
"phoneNumber": "string",
"fileKey": "string",
"pageNumber": 0,
"height": 0,
"width": 0,
"yPosition": 0,
"xPosition": 0,
"boldSignId": "string",
"enableQes": true,
"signerType": "string",
"signingUrl": "string",
"order": 0,
"updatedAt": "2026-04-07T15:56:49.999Z",
"signedAt": "2026-04-07T15:56:49.999Z",
"status": "string",
"email": "string",
"name": "string",
"id": "string"
}
]
}
],
"metadata": {
"requestId": "string",
"timestamp": "2026-04-07T15:56:49.999Z",
"totalPages": 0,
"limit": 0,
"page": 0,
"total": 0
}
}
Create a new document
Send as multipart/form-data (use form-data fields, not a JSON body). When documentSource=Upload, attach files[] (PDF). When documentSource=Template, pass templateId instead. For multipart arrays/objects, use bracket notation (for example, `signers[0][name]`, `signers[0][signatureCoordinates][xPosition]`, `cc[0][emailAddress]`).
{
"data": {
"id": "string",
"name": "string",
"description": "string",
"documentId": "string",
"sendUrl": "string",
"companyId": "string",
"company": {
"isActive": true,
"updatedAt": "2026-04-07T15:56:49.999Z",
"createdAt": "2026-04-07T15:56:49.999Z",
"name": "string",
"id": "string"
},
"createdAt": "2026-04-07T15:56:49.999Z",
"updatedAt": "2026-04-07T15:56:49.999Z",
"type": "Standard",
"documentSource": "Upload",
"status": "string",
"typeRecipient": "ID_DOCUMENT",
"signers": [
{
"nationality": "string",
"phoneNumber": "string",
"signerRole": "string",
"signerType": "string",
"order": 0,
"status": "string",
"email": "string",
"name": "string",
"id": "string"
}
]
},
"metadata": {
"page": 0,
"limit": 0,
"total": 0,
"requestId": "string",
"timestamp": "2026-04-07T15:56:49.999Z"
}
}
Search for documents by name or description within a specific company
{
"data": [
{
"id": "string",
"name": "string",
"description": "string",
"type": "string",
"companyId": "string",
"status": "string",
"documentSource": "Upload",
"typeRecipient": "ID_DOCUMENT",
"createdAt": "2026-04-07T15:56:49.999Z",
"updatedAt": "2026-04-07T15:56:49.999Z",
"signers": [
{
"transactionID": "string",
"nationality": "string",
"phoneNumber": "string",
"fileKey": "string",
"pageNumber": 0,
"height": 0,
"width": 0,
"yPosition": 0,
"xPosition": 0,
"boldSignId": "string",
"enableQes": true,
"signerType": "string",
"signingUrl": "string",
"order": 0,
"updatedAt": "2026-04-07T15:56:49.999Z",
"signedAt": "2026-04-07T15:56:49.999Z",
"status": "string",
"email": "string",
"name": "string",
"id": "string"
}
]
}
],
"metadata": {
"requestId": "string",
"timestamp": "2026-04-07T15:56:49.999Z",
"totalPages": 0,
"limit": 0,
"page": 0,
"total": 0
}
}
Get document statistics for both company and individual user
{
"data": {
"company": {
"total": 0,
"scheduled": 0,
"draft": 0,
"revoked": 0,
"expired": 0,
"declined": 0,
"needsAttention": 0,
"terminated": 0,
"completed": 0,
"awaitingOthers": 0,
"awaitingUs": 0
},
"user": {
"total": 0,
"scheduled": 0,
"draft": 0,
"revoked": 0,
"expired": 0,
"declined": 0,
"needsAttention": 0,
"terminated": 0,
"completed": 0,
"awaitingOthers": 0,
"awaitingMe": 0
}
},
"metadata": {
"page": 0,
"limit": 0,
"total": 0,
"requestId": "string",
"timestamp": "2026-04-07T15:56:49.999Z"
}
}
{
"data": [
{
"month": "string",
"monthNumber": 0,
"awaitingOthers": 0,
"needsAttention": 0,
"awaitingMe": 0,
"revoked": 0,
"signed": 0,
"notSigned": 0,
"total": 0
}
],
"metadata": {
"page": 0,
"limit": 0,
"total": 0,
"requestId": "string",
"timestamp": "2026-04-07T15:56:49.999Z"
}
}
Get a document by ID
{
"metadata": {
"timestamp": "2026-04-07T15:56:49.999Z"
},
"data": {
"id": "string",
"name": "string",
"description": "string",
"type": "string",
"companyId": "string",
"status": "string",
"documentSource": "Upload",
"typeRecipient": "ID_DOCUMENT",
"createdAt": "2026-04-07T15:56:49.999Z",
"updatedAt": "2026-04-07T15:56:49.999Z",
"signers": [
{
"transactionID": "string",
"nationality": "string",
"phoneNumber": "string",
"fileKey": "string",
"pageNumber": 0,
"height": 0,
"width": 0,
"yPosition": 0,
"xPosition": 0,
"boldSignId": "string",
"enableQes": true,
"signerType": "string",
"signingUrl": "string",
"order": 0,
"updatedAt": "2026-04-07T15:56:49.999Z",
"signedAt": "2026-04-07T15:56:49.999Z",
"status": "string",
"email": "string",
"name": "string",
"id": "string"
}
]
}
}
Update an existing document
{
"data": {
"id": "string",
"name": "string",
"description": "string",
"documentId": "string",
"sendUrl": "string",
"companyId": "string",
"company": {
"isActive": true,
"updatedAt": "2026-04-07T15:56:49.999Z",
"createdAt": "2026-04-07T15:56:49.999Z",
"name": "string",
"id": "string"
},
"createdAt": "2026-04-07T15:56:49.999Z",
"updatedAt": "2026-04-07T15:56:49.999Z",
"type": "Standard",
"documentSource": "Upload",
"status": "string",
"typeRecipient": "ID_DOCUMENT",
"signers": [
{
"nationality": "string",
"phoneNumber": "string",
"signerRole": "string",
"signerType": "string",
"order": 0,
"status": "string",
"email": "string",
"name": "string",
"id": "string"
}
]
},
"metadata": {
"page": 0,
"limit": 0,
"total": 0,
"requestId": "string",
"timestamp": "2026-04-07T15:56:49.999Z"
}
}
Download a document file
6 endpoints
List Esign template records for current user
{
"data": [
{
"id": "string",
"boldSignTemplateId": "string",
"name": "string",
"description": "string",
"signersCount": 0,
"roles": [
{
"name": "string",
"index": 0,
"signerType": "string"
}
],
"userId": "string",
"errorMessage": "string",
"createUrl": "string",
"status": "string",
"files": [
{
"type": "string",
"name": "string"
}
],
"deletedAt": "2026-04-07T15:56:49.999Z",
"createdAt": "2026-04-07T15:56:49.999Z",
"updatedAt": "2026-04-07T15:56:49.999Z"
}
],
"metadata": {
"requestId": "string",
"timestamp": "2026-04-07T15:56:49.999Z",
"totalPages": 0,
"limit": 0,
"page": 0,
"total": 0
}
}
Create a Esign template record
Send as multipart/form-data and attach files[] (PDF). The roles field can be JSON string or array.
{
"data": {
"id": "string",
"boldSignTemplateId": "string",
"name": "string",
"description": "string",
"signersCount": 0,
"roles": [
{
"name": "string",
"index": 0,
"signerType": "string"
}
],
"userId": "string",
"errorMessage": "string",
"createUrl": "string",
"status": "string",
"files": [
{
"type": "string",
"name": "string"
}
],
"deletedAt": "2026-04-07T15:56:49.999Z",
"createdAt": "2026-04-07T15:56:49.999Z",
"updatedAt": "2026-04-07T15:56:49.999Z"
},
"metadata": {
"page": 0,
"limit": 0,
"total": 0,
"requestId": "string",
"timestamp": "2026-04-07T15:56:49.999Z"
}
}
Soft delete Esign template record
{
"data": "string",
"metadata": {
"page": 0,
"limit": 0,
"total": 0,
"requestId": "string",
"timestamp": "2026-04-07T15:56:49.999Z"
}
}
Get Esign template record by ID
{
"data": {
"id": "string",
"boldSignTemplateId": "string",
"name": "string",
"description": "string",
"signersCount": 0,
"roles": [
{
"name": "string",
"index": 0,
"signerType": "string"
}
],
"userId": "string",
"errorMessage": "string",
"createUrl": "string",
"status": "string",
"files": [
{
"type": "string",
"name": "string"
}
],
"deletedAt": "2026-04-07T15:56:49.999Z",
"createdAt": "2026-04-07T15:56:49.999Z",
"updatedAt": "2026-04-07T15:56:49.999Z"
},
"metadata": {
"page": 0,
"limit": 0,
"total": 0,
"requestId": "string",
"timestamp": "2026-04-07T15:56:49.999Z"
}
}
Update Esign template record
Send as multipart/form-data. Upload files[] only if replacing PDFs. The roles field can be JSON string or array.
{
"data": {
"id": "string",
"boldSignTemplateId": "string",
"name": "string",
"description": "string",
"signersCount": 0,
"roles": [
{
"name": "string",
"index": 0,
"signerType": "string"
}
],
"userId": "string",
"errorMessage": "string",
"createUrl": "string",
"status": "string",
"files": [
{
"type": "string",
"name": "string"
}
],
"deletedAt": "2026-04-07T15:56:49.999Z",
"createdAt": "2026-04-07T15:56:49.999Z",
"updatedAt": "2026-04-07T15:56:49.999Z"
},
"metadata": {
"page": 0,
"limit": 0,
"total": 0,
"requestId": "string",
"timestamp": "2026-04-07T15:56:49.999Z"
}
}
Get embedded template edit URL
{
"data": {
"editUrl": "string"
},
"metadata": {
"page": 0,
"limit": 0,
"total": 0,
"requestId": "string",
"timestamp": "2026-04-07T15:56:49.999Z"
}
}
2 endpoints
"BASE64_DATA"
Get a file by its key
"BASE64_DATA"
4 endpoints
Get ID card information
{
"data": {
"images": [
"string"
],
"userId": "string",
"dateOfBirth": "string",
"dateOfExpiry": "string",
"dateOfIssue": "string",
"verificationDate": "string",
"documentNumber": "string",
"country": "string",
"givenNames": "string",
"mrzCode": "string",
"name": "string",
"nationality": "string",
"sex": "string",
"surname": "string",
"placeOfBirth": "string",
"portrait": "string",
"signature": "string",
"faceImage": "string",
"docFront": "string",
"documentName": "string",
"authority": "string",
"score": 0,
"isFaceMatch": true,
"isDocumentValid": true,
"docType": "string",
"docBack": "string",
"nfcImage": "string",
"cardAccessNumber": "string",
"faceLiveness": "string",
"faceCompareScore": 0,
"nfcCheck": true,
"skipNfcReason": "string",
"issuingStateCode": "string",
"documentClassCode": "string",
"id": "string",
"createdAt": "2026-04-07T15:56:49.999Z",
"updatedAt": "2026-04-07T15:56:49.999Z"
}
}
Create a new ID card
Send as multipart/form-data and attach files[] (JPG/PNG). Supports up to 3 images. File size max 40MB.
{
"data": {
"images": [
"string"
],
"userId": "string",
"dateOfBirth": "string",
"dateOfExpiry": "string",
"dateOfIssue": "string",
"verificationDate": "string",
"documentNumber": "string",
"country": "string",
"givenNames": "string",
"mrzCode": "string",
"name": "string",
"nationality": "string",
"sex": "string",
"surname": "string",
"placeOfBirth": "string",
"portrait": "string",
"signature": "string",
"faceImage": "string",
"docFront": "string",
"documentName": "string",
"authority": "string",
"score": 0,
"isFaceMatch": true,
"isDocumentValid": true,
"docType": "string",
"docBack": "string",
"nfcImage": "string",
"cardAccessNumber": "string",
"faceLiveness": "string",
"faceCompareScore": 0,
"nfcCheck": true,
"skipNfcReason": "string",
"issuingStateCode": "string",
"documentClassCode": "string",
"id": "string",
"createdAt": "2026-04-07T15:56:49.999Z",
"updatedAt": "2026-04-07T15:56:49.999Z"
},
"metadata": {
"page": 0,
"limit": 0,
"total": 0,
"requestId": "string",
"timestamp": "2026-04-07T15:56:49.999Z"
}
}
Delete an ID card
{
"data": "string"
}
Update an existing ID card
Send as multipart/form-data. Attach files[] only if you want to replace existing images.
{
"data": {
"images": [
"string"
],
"userId": "string",
"dateOfBirth": "string",
"dateOfExpiry": "string",
"dateOfIssue": "string",
"verificationDate": "string",
"documentNumber": "string",
"country": "string",
"givenNames": "string",
"mrzCode": "string",
"name": "string",
"nationality": "string",
"sex": "string",
"surname": "string",
"placeOfBirth": "string",
"portrait": "string",
"signature": "string",
"faceImage": "string",
"docFront": "string",
"documentName": "string",
"authority": "string",
"score": 0,
"isFaceMatch": true,
"isDocumentValid": true,
"docType": "string",
"docBack": "string",
"nfcImage": "string",
"cardAccessNumber": "string",
"faceLiveness": "string",
"faceCompareScore": 0,
"nfcCheck": true,
"skipNfcReason": "string",
"issuingStateCode": "string",
"documentClassCode": "string",
"id": "string",
"createdAt": "2026-04-07T15:56:49.999Z",
"updatedAt": "2026-04-07T15:56:49.999Z"
},
"metadata": {
"page": 0,
"limit": 0,
"total": 0,
"requestId": "string",
"timestamp": "2026-04-07T15:56:49.999Z"
}
}
3 endpoints
Verify user identity
{
"data": {
"id": "string",
"decisionDate": "2026-04-07T15:56:49.999Z",
"localName": "string",
"document": {
"status": "verified",
"placeOfBirth": "string",
"dateOfBirth": "2026-04-07T15:56:49.999Z",
"citizenship": "string",
"gender": "string",
"lastName": "string",
"firstName": "string",
"validUntil": "2026-04-07T15:56:49.999Z",
"validFrom": "2026-04-07T15:56:49.999Z",
"number": "string",
"type": "string"
}
},
"metadata": {
"page": 0,
"limit": 0,
"total": 0,
"requestId": "string",
"timestamp": "2026-04-07T15:56:49.999Z"
}
}
Get verification status
{
"data": {
"id": "string",
"decisionDate": "2026-04-07T15:56:49.999Z",
"localName": "string",
"document": {
"status": "verified",
"placeOfBirth": "string",
"dateOfBirth": "2026-04-07T15:56:49.999Z",
"citizenship": "string",
"gender": "string",
"lastName": "string",
"firstName": "string",
"validUntil": "2026-04-07T15:56:49.999Z",
"validFrom": "2026-04-07T15:56:49.999Z",
"number": "string",
"type": "string"
}
},
"metadata": {
"page": 0,
"limit": 0,
"total": 0,
"requestId": "string",
"timestamp": "2026-04-07T15:56:49.999Z"
}
}
Download verification PDF
5 endpoints
Handle Evrotrust Web SDK callback (via Redirect)
{
"data": {
"message": "string"
},
"metadata": {
"page": 0,
"limit": 0,
"total": 0,
"requestId": "string",
"timestamp": "2026-04-07T15:56:49.999Z"
}
}
Get Evrotrust document identification data
{
"data": {
"transactionID": "string",
"threadID": "string"
},
"metadata": {
"page": 0,
"limit": 0,
"total": 0,
"requestId": "string",
"timestamp": "2026-04-07T15:56:49.999Z"
}
}
Download Evrotrust document
Get Evrotrust document status
{
"data": {
"key": "string"
},
"metadata": {
"page": 0,
"limit": 0,
"total": 0,
"requestId": "string",
"timestamp": "2026-04-07T15:56:49.999Z"
}
}
Create an Evrotrust Web SDK session
{
"data": {
"token": "string",
"encData": "string",
"vendorNumber": "string",
"sdkUrl": "string",
"colorData": "string"
},
"metadata": {
"page": 0,
"limit": 0,
"total": 0,
"requestId": "string",
"timestamp": "2026-04-07T15:56:49.999Z"
}
}
2 endpoints
Handle BoldSign webhook events
Signed payload from BoldSign. Verify signature with x-webhook-signature header.
{
"data": [
{
"status": "fulfilled",
"value": {
"status": "none",
"signerEmail": "string",
"reason": "string"
}
}
]
}
Listener webhook event
Listener endpoint for webhook events.
{
"data": {
"data": {
"json": {
"key": "string"
},
"files": [
{
"metadata": {
"key": "string"
},
"size": 0,
"type": "string",
"content": "string",
"name": "string"
}
]
},
"event": "string",
"status": "string"
},
"metadata": {
"page": 0,
"limit": 0,
"total": 0,
"requestId": "string",
"timestamp": "2026-04-07T15:56:49.999Z"
}
}
1 endpoints
Check application health and dependencies
{
"data": {
"buildId": "string"
},
"metadata": {
"page": 0,
"limit": 0,
"total": 0,
"requestId": "string",
"timestamp": "2026-04-07T15:56:49.999Z"
}
}
Using the API
Standard HTTP errors with structured error payloads.
Missing required fields or invalid form-data.
Invalid token or missing `Authorization` header.
Token lacks the required scopes for the endpoint.
Unexpected exception. Provide `X-Request-ID` for support.
{
"data": null,
"error": {
"code": "AUTH_401",
"message": "Invalid access token",
"details": {
"field": "Authorization",
"reason": "expired"
}
}
}