Saltar al contenido

Create an envelope

POST
/api/v1/envelopes
curl --request POST \
--url https://sign-api.binarybridges.co/api/v1/envelopes \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "documentIds": [ "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" ], "expiresAt": "2026-04-15T12:00:00Z", "labels": { "additionalProperty": "example" }, "linkTtlHours": 1, "message": "example", "orgId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "otpRequired": true, "sequentialSigning": true, "signers": [ { "email": "example", "name": "example", "signOrder": 1 } ], "title": "example", "workspaceId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" }'

Creates a draft envelope with its signers. An envelope cannot be created without at least one signer. The envelope is not sent until sendEnvelope. It is filed in workspaceId (see listWorkspaces), or in the organisation’s General workspace when omitted; the caller needs envelope:create there, and a workspace it cannot create in answers 404 WORKSPACE_NOT_FOUND.

Media typeapplication/json
object
documentIds
Array<string>
expiresAt
string format: date-time
labels
object
key
additional properties
string
linkTtlHours
integer format: int32
message
string
orgId
string format: uuid
otpRequired
boolean
sequentialSigning
boolean
signers
Array<object>
object
email
required
string
name
required
string
signOrder
integer format: int32
title
required
string
workspaceId
string format: uuid

Example generated

{
"documentIds": [
"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"
],
"expiresAt": "2026-04-15T12:00:00Z",
"labels": {
"additionalProperty": "example"
},
"linkTtlHours": 1,
"message": "example",
"orgId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"otpRequired": true,
"sequentialSigning": true,
"signers": [
{
"email": "example",
"name": "example",
"signOrder": 1
}
],
"title": "example",
"workspaceId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"
}

Created

Media type*/*
object
createdAt
required
string format: date-time
createdBy
string
documentCount
required
integer format: int32
expiresAt
string format: date-time
id
required
string format: uuid
labels
required
object
key
additional properties
string
message
string
orgId
required
string format: uuid
otpRequired
required
boolean
sequentialSigning
required
boolean
signers
required
Array<object>
object
email
required
string
id
required
string format: uuid
name
required
string
signOrder
required
integer format: int32
signedAt
string format: date-time
status
required
string
status
required
string
title
required
string
workspaceId
string format: uuid
workspaceName
string

The request was malformed or failed validation.

Media typeapplication/json
object
code
required
string
error
required
string
message
required
string
path
required
string
quota
object
current
required
integer format: int64
dimension
required
string
limit
required
integer format: int64
status
required
integer format: int32
timestamp
required
string format: date-time
traceId
string

Example generated

{
"code": "example",
"error": "example",
"message": "example",
"path": "example",
"quota": {
"current": 1,
"dimension": "example",
"limit": 1
},
"status": 1,
"timestamp": "2026-04-15T12:00:00Z",
"traceId": "example"
}

No credentials, or a token this organisation’s credentials cannot present. Produced by the security filter chain, so there is no response body.

Authenticated, but the token lacks the role this operation requires. No response body.

The resource is not in a state that allows this — for example sending an envelope that is already sent.

Media typeapplication/json
object
code
required
string
error
required
string
message
required
string
path
required
string
quota
object
current
required
integer format: int64
dimension
required
string
limit
required
integer format: int64
status
required
integer format: int32
timestamp
required
string format: date-time
traceId
string

Example generated

{
"code": "example",
"error": "example",
"message": "example",
"path": "example",
"quota": {
"current": 1,
"dimension": "example",
"limit": 1
},
"status": 1,
"timestamp": "2026-04-15T12:00:00Z",
"traceId": "example"
}

A domain rule rejected the request.

Media typeapplication/json
object
code
required
string
error
required
string
message
required
string
path
required
string
quota
object
current
required
integer format: int64
dimension
required
string
limit
required
integer format: int64
status
required
integer format: int32
timestamp
required
string format: date-time
traceId
string

Example generated

{
"code": "example",
"error": "example",
"message": "example",
"path": "example",
"quota": {
"current": 1,
"dimension": "example",
"limit": 1
},
"status": 1,
"timestamp": "2026-04-15T12:00:00Z",
"traceId": "example"
}

An organisation quota is exhausted.

Media typeapplication/json
object
code
required
string
error
required
string
message
required
string
path
required
string
quota
object
current
required
integer format: int64
dimension
required
string
limit
required
integer format: int64
status
required
integer format: int32
timestamp
required
string format: date-time
traceId
string

Example generated

{
"code": "example",
"error": "example",
"message": "example",
"path": "example",
"quota": {
"current": 1,
"dimension": "example",
"limit": 1
},
"status": 1,
"timestamp": "2026-04-15T12:00:00Z",
"traceId": "example"
}