Aller au contenu

POST /v1/signature/envelopes/{id}/send

POST
/v1/signature/envelopes/{id}/send
curl --request POST \
--url https://api.asap.cool/v1/signature/envelopes/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/send \
--header 'Authorization: Bearer <token>'
id
required
string format: uuid

Envelope identifier.

Tokens issued, request emails enqueued, envelope sent.

Media type application/json

Body of a successful send: the updated envelope plus a sent flag.

object
envelope
required

The envelope after the sent transition (with signers).

object
assurance_level
required

Targeted assurance level.

string
audit_chain

The audit chain (present on get, omitted elsewhere).

Array<object> | null

Public projection of an [AuditEvent]. Hashes are lowercase hex so a client can re-verify the chain.

object
content_hash
required

SHA-256 of the canonical content (hex).

string
event_data
required

Structured payload.

event_type
required

Event kind.

string
id
required

Stable identifier.

string format: uuid
occurred_at
required

When the event occurred (RFC3339).

string
prev_hash

Previous link’s content hash (hex), None at genesis.

string | null
seq_index
required

0-based position in the chain.

integer format: int64
signer_id

Signer the event concerns, if any.

string | null format: uuid
cc_recipients
required

Addresses copied on the completion notification (Cc; may be empty).

Array<string>
completed_at

When every signer signed (RFC3339).

string | null
consent_text_version
required

Consent-text version presented to signers.

string
created_at
required

Creation timestamp (RFC3339).

string
document_hash

SHA-256 of the frozen document (hex), set at send time.

string | null
expires_at

When the envelope (and its tokens) expire (RFC3339).

string | null
has_proof
required

Whether a proof bundle is available for download.

boolean
has_signed_document
required

Whether a signed composited document (source + stamped signatures) is available for download (positioned-field envelopes only).

boolean
id
required

Stable identifier.

string format: uuid
labels
required

Free-form labels for organizing / filtering (may be empty).

Array<string>
message

Optional request-email message.

string | null
reminder_count
required

How many automatic reminders have fired so far.

integer format: int32
reminder_interval_hours

Delay between two automatic reminders, in hours (null = default cadence).

integer | null format: int32
reminder_max_count
required

How many automatic reminders may fire over the envelope’s lifetime.

integer format: int32
reply_to

Optional Reply-To for the signature-request email.

string | null
routing_mode
required

Routing mode.

string
sender_name

Optional From display name for the signature-request email.

string | null
signers

Signers on the envelope (present on get/create, omitted on list).

Array<object> | null

Public projection of a [Signer]. Never carries access_token_hash or otp_hash (secrets stay server-side).

object
consent_given_at

When the signer gave consent (RFC3339).

string | null
created_at
required

Creation timestamp (RFC3339).

string
email
required

Signer email.

string
full_name

Optional full name.

string | null
id
required

Stable identifier.

string format: uuid
otp_attempts
required

Number of failed OTP attempts on the current challenge.

integer format: int32
phone

Phone (E.164) for SMS OTP, if set.

string | null
routing_order
required

Position in a sequential order (0-based).

integer format: int32
signed_at

When the signer signed (RFC3339).

string | null
signed_ip

Source IP captured at signing.

string | null
status
required

Per-signer status.

string
token_expires_at

When the access token expires (RFC3339), if issued.

string | null
updated_at
required

Last-update timestamp (RFC3339).

string
verification_method
required

Identity-verification method.

string
source_document_id

Logical reference to the signed document.

string | null format: uuid
source_kind
required

What the envelope wraps.

string
status
required

Lifecycle status.

string
subject

Optional request-email subject.

string | null
updated_at
required

Last-update timestamp (RFC3339).

string
recipients
required

Number of access links dispatched (one per signer).

integer
sent
required

Always true on a 200 response.

boolean
Example generated
{
"envelope": {
"assurance_level": "example",
"audit_chain": [
{
"content_hash": "example",
"event_data": "example",
"event_type": "example",
"id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"occurred_at": "example",
"prev_hash": "example",
"seq_index": 1,
"signer_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"
}
],
"cc_recipients": [
"example"
],
"completed_at": "example",
"consent_text_version": "example",
"created_at": "example",
"document_hash": "example",
"expires_at": "example",
"has_proof": true,
"has_signed_document": true,
"id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"labels": [
"example"
],
"message": "example",
"reminder_count": 1,
"reminder_interval_hours": 1,
"reminder_max_count": 1,
"reply_to": "example",
"routing_mode": "example",
"sender_name": "example",
"signers": [
{
"consent_given_at": "example",
"created_at": "example",
"email": "example",
"full_name": "example",
"id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"otp_attempts": 1,
"phone": "example",
"routing_order": 1,
"signed_at": "example",
"signed_ip": "example",
"status": "example",
"token_expires_at": "example",
"updated_at": "example",
"verification_method": "example"
}
],
"source_document_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"source_kind": "example",
"status": "example",
"subject": "example",
"updated_at": "example"
},
"recipients": 1,
"sent": true
}

No active org.

Media type application/json

Generic error body returned by API handlers when they fail. code is a stable machine-readable token; message is human-friendly and meant for surfacing to end users.

object
code
required

Stable machine token (e.g. invalid_credentials).

string
field

Offending request field for validation errors, when known.

string | null
message
required

Human-readable message.

string
Example generated
{
"code": "example",
"field": "example",
"message": "example"
}

Missing signature:write scope.

Media type application/json

Generic error body returned by API handlers when they fail. code is a stable machine-readable token; message is human-friendly and meant for surfacing to end users.

object
code
required

Stable machine token (e.g. invalid_credentials).

string
field

Offending request field for validation errors, when known.

string | null
message
required

Human-readable message.

string
Example generated
{
"code": "example",
"field": "example",
"message": "example"
}

Not found or cross-org.

Media type application/json

Generic error body returned by API handlers when they fail. code is a stable machine-readable token; message is human-friendly and meant for surfacing to end users.

object
code
required

Stable machine token (e.g. invalid_credentials).

string
field

Offending request field for validation errors, when known.

string | null
message
required

Human-readable message.

string
Example generated
{
"code": "example",
"field": "example",
"message": "example"
}

Envelope is not a draft (signature_conflict) or its document has no rendered PDF yet (document_not_ready).

Media type application/json

Generic error body returned by API handlers when they fail. code is a stable machine-readable token; message is human-friendly and meant for surfacing to end users.

object
code
required

Stable machine token (e.g. invalid_credentials).

string
field

Offending request field for validation errors, when known.

string | null
message
required

Human-readable message.

string
Example generated
{
"code": "example",
"field": "example",
"message": "example"
}