Skip to main content

E-Signature Envelopes

Drive the full document-signing lifecycle programmatically: upload a PDF, place fields, assign recipients to signer slots, send for signature, chase pending signers, and download the sealed result with its audit trail.

All paths on this page are relative to https://api.autessa.com/autessa_poweruser/e-signature. Every request is a POST with a JSON body. Unlike most Poweruser resources, envelope, recipient, and field IDs are UUID strings; user IDs are the usual opaque ID strings. See the Poweruser API overview for authentication and conventions.


Envelope lifecycle​

An envelope is one PDF plus its recipients, fields, and audit trail. It moves through these statuses:

StatusMeaning
DRAFTBeing assembled — recipients, fields, and prefill values are editable.
SENTSigning links emailed; signers are working through it. Structure is frozen.
COMPLETEDAll required signatures collected; the sealed PDF and certificate of completion exist.
REJECTEDA signer declined, with a reason recorded on the recipient.
VOIDEDThe owner cancelled it after sending.
EXPIREDSigning links passed their TTL before completion.

The typical build-and-send sequence:

  1. /generate-file-upload-link, then PUT the PDF to the returned URL.
  2. /envelope/create with the returned s3Uri.
  3. /envelope/recipients to set signers, viewers, signing order, and completion policy.
  4. /envelope/fields to place signature and input fields, and optionally /envelope/prefill to fill PREFILL fields.
  5. /envelope/send to email signing links.

Recipients and signer slots​

Each recipient is a SIGNER (assigned fields, must act) or a VIEWER (CC — emailed a read-only link and the sealed copy, never signs). Signers occupy signer slots via signingGroup (1-based): recipients sharing a slot form a client group, and any one of them signing satisfies the slot. A null signingGroup gives the recipient their own slot.

Two envelope-level knobs control flow:

  • signingOrder — PARALLEL (everyone at once, default) or SEQUENTIAL (one at a time by orderIndex).
  • completionPolicy — ALL (every slot must be satisfied, default) or ANY_ONE (first signature completes and seals the envelope; remaining recipients become NOT_REQUIRED). ANY_ONE is only valid with PARALLEL.

Recipient statuses: PENDING, VIEWED, OTP_VERIFIED, SIGNED, REJECTED, EXPIRED, NOT_REQUIRED, and NOTIFIED (terminal status for viewers).

Signers authenticate by possession of their emailed signing link, which is the credential — there is no separate one-time-code step. OTP_VERIFIED and otpVerifiedAt are retained for backward compatibility and are not set by the current signing flow.

Field placement​

Fields are placed by page and percentage coordinates (pageIndex, xPct, yPct, widthPct, heightPct), so layouts survive PDF scaling. Every field has a fillSource:

  • SIGNER — filled by a recipient at sign time. Requires recipientId. Types: SIGNATURE, INITIALS, NAME, EMAIL, DATE_SIGNED, TEXT_INPUT, CHECKBOX, DROPDOWN.
  • PREFILL — filled by you before sending, rendered into the PDF. Types: TEXT_STATIC, DATE_STATIC, IMAGE_STATIC.

Assign every signer at least one SIGNER field. Fields bound to a recipient who has nothing to sign — or signers with no fields — are the most common cause of envelopes that "complete" without the signature you expected.


The envelope object​

Returned by create, get, recipients, fields, prefill, send, void, resend-link, and remind.

  • Name
    id
    Type
    uuid
    Description

    Unique envelope identifier.

  • Name
    companyId
    Type
    string
    Description

    Owning company.

  • Name
    ownerUserId
    Type
    string
    Description

    The user who owns the envelope.

  • Name
    title
    Type
    string
    Description

    Display title.

  • Name
    status
    Type
    string
    Description

    DRAFT, SENT, COMPLETED, REJECTED, VOIDED, or EXPIRED.

  • Name
    signingOrder
    Type
    string
    Description

    PARALLEL or SEQUENTIAL.

  • Name
    completionPolicy
    Type
    string
    Description

    ALL or ANY_ONE.

  • Name
    createdAt
    Type
    string
    Description

    ISO-8601 creation timestamp.

  • Name
    sentAt
    Type
    string
    Description

    When signing links were emailed, or absent while DRAFT.

  • Name
    completedAt
    Type
    string
    Description

    When the envelope completed.

  • Name
    lastActivityAt
    Type
    string
    Description

    Timestamp of the most recent audit event.

  • Name
    expiresAt
    Type
    string
    Description

    When outstanding signing links expire.

  • Name
    sha256Original
    Type
    string
    Description

    SHA-256 of the uploaded PDF.

  • Name
    sha256Prefilled
    Type
    string
    Description

    SHA-256 of the PDF after prefill rendering.

  • Name
    sha256Sealed
    Type
    string
    Description

    SHA-256 of the sealed, completed PDF.

  • Name
    viewPdfUrl
    Type
    string
    Description

    Presigned URL for the current-state PDF (original, prefilled, or sealed depending on status).

  • Name
    recipients
    Type
    array<Recipient>
    Description

    Recipients: id (uuid), email, name, orderIndex, signingGroup, recipientKind (SIGNER or VIEWER), status, plus timestamps (invitedAt, firstViewedAt, otpVerifiedAt, signedAt, rejectedAt) and signing evidence (rejectionReason, signerIp, signerUserAgent, signerCertSerial).

  • Name
    fields
    Type
    array<Field>
    Description

    Fields: id (uuid), fillSource, recipientId, fieldType, placement (pageIndex, xPct, yPct, widthPct, heightPct, rotation), required, value, valueImageUrl (presigned URL for image blobs), and font styling (fontFamily, fontSize, fontColor).

  • Name
    auditTrail
    Type
    array<AuditEvent>
    Description

    Hash-chained audit events: id, seq, eventType, recipientId, actorEmail, ip, userAgent, occurredAt, payloadJson, rowHash.

  • Name
    auditChainValid
    Type
    boolean
    Description

    Whether the audit-trail hash chain verifies.

  • Name
    sharingLevel
    Type
    string
    Description

    Baseline visibility: PRIVATE, SPECIFIC_MEMBER, or COMPANY.

  • Name
    shares
    Type
    array<SharePermission>
    Description

    Per-user grants (userId, userEmail, userName, accessLevel, grantedBy, grantedByName, createdAt). The owner is not listed — they have implicit ADMIN.

  • Name
    myAccessLevel
    Type
    string
    Description

    The calling user's effective access level: READ, WRITE, PUBLISH, or ADMIN.

  • Name
    iAmOwner
    Type
    boolean
    Description

    Whether the calling user owns the envelope.

Envelope object (truncated)
{
"id": "e3b1c6a2-9f4d-4c8e-b7a1-2d5f8c9e0a13",
"companyId": "cP2mK7dX4v",
"ownerUserId": "uB7nT2wQ9k",
"title": "Consulting Agreement — Acme Corp",
"status": "SENT",
"signingOrder": "PARALLEL",
"completionPolicy": "ALL",
"createdAt": "2026-06-29T15:10:02",
"sentAt": "2026-06-29T16:00:41",
"expiresAt": "2026-07-13T16:00:41",
"sha256Original": "9c56cc51...",
"viewPdfUrl": "https://s3.amazonaws.com/autessa-esign/...",
"recipients": [
{
"id": "7f2a4b1c-8d3e-4f5a-9b0c-1d2e3f4a5b6c",
"email": "sam@acme.com",
"name": "Sam Rivera",
"orderIndex": 1,
"signingGroup": 1,
"recipientKind": "SIGNER",
"status": "VIEWED",
"invitedAt": "2026-06-29T16:00:41",
"firstViewedAt": "2026-06-30T08:12:19"
}
],
"fields": [
{
"id": "a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"fillSource": "SIGNER",
"recipientId": "7f2a4b1c-8d3e-4f5a-9b0c-1d2e3f4a5b6c",
"fieldType": "SIGNATURE",
"pageIndex": 2,
"xPct": 12.5,
"yPct": 78.0,
"widthPct": 30.0,
"heightPct": 5.0,
"required": true
}
],
"auditChainValid": true,
"sharingLevel": "PRIVATE",
"shares": [],
"myAccessLevel": "ADMIN",
"iAmOwner": true
}

POST/e-signature/generate-file-upload-link

Returns a pre-signed S3 URL for uploading the envelope's PDF. PUT the file bytes to uploadUrl, then pass the returned s3Uri to /envelope/create.

Request parameters​

  • Name
    fileExtension
    Type
    string
    Description

    File extension — use "pdf".

Response​

  • Name
    uploadUrl
    Type
    string
    Description

    Pre-signed URL; PUT the file bytes here.

  • Name
    s3Uri
    Type
    string
    Description

    S3 URI to pass as s3Uri on envelope or template creation.

  • Name
    mimeType
    Type
    string
    Description

    MIME type to send as Content-Type on the upload.

  • Name
    expiresInSeconds
    Type
    integer
    Description

    How long the upload URL stays valid.

  • Name
    errors
    Type
    array<string>
    Description

    Error messages, if any occurred.

cURL
curl https://api.autessa.com/autessa_poweruser/e-signature/generate-file-upload-link \
-X POST \
-H "Authorization: $POWERUSER_KEY" \
-H "Content-Type: application/json" \
-d '{ "fileExtension": "pdf" }'

# Then upload the PDF:
curl -X PUT "$UPLOAD_URL" \
-H "Content-Type: application/pdf" \
--data-binary '@agreement.pdf'
Response
{
"uploadUrl": "https://s3.amazonaws.com/autessa-files/...",
"s3Uri": "s3://autessa-files/company-cP2mK7dX4v/file-9d1e.pdf",
"mimeType": "application/pdf",
"expiresInSeconds": 3600,
"errors": []
}

Create an envelope​

POST/e-signature/envelope/create

Registers a DRAFT envelope around a PDF already uploaded via /generate-file-upload-link. Add recipients and fields next, then send. To start from a reusable layout instead, see template instantiation.

Request parameters​

  • Name
    title
    Type
    string
    Description

    Envelope title, shown to signers and in emails.

  • Name
    s3Uri
    Type
    string
    Description

    The S3 URI (or key) returned by the file-upload-link flow.

Response​

  • Name
    envelope
    Type
    Envelope
    Description

    The new envelope in DRAFT status. See the envelope object.

  • Name
    errors
    Type
    array<string>
    Description

    Error messages, if any occurred.

curl https://api.autessa.com/autessa_poweruser/e-signature/envelope/create \
-X POST \
-H "Authorization: $POWERUSER_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Consulting Agreement — Acme Corp",
"s3Uri": "s3://autessa-files/company-cP2mK7dX4v/file-9d1e.pdf"
}'
Response (truncated)
{
"envelope": {
"id": "e3b1c6a2-9f4d-4c8e-b7a1-2d5f8c9e0a13",
"title": "Consulting Agreement — Acme Corp",
"status": "DRAFT",
"signingOrder": "PARALLEL",
"completionPolicy": "ALL",
"recipients": [],
"fields": [],
"iAmOwner": true
},
"errors": []
}

Get an envelope​

POST/e-signature/envelope/get

Retrieves an envelope's full state — recipients, fields, audit trail, and a presigned URL for the current-state PDF.

Request parameters​

  • Name
    envelopeId
    Type
    uuid
    Description

    The envelope to fetch.

Response​

  • Name
    envelope
    Type
    Envelope
    Description

    The envelope object.

  • Name
    errors
    Type
    array<string>
    Description

    Error messages, if any occurred.

cURL
curl https://api.autessa.com/autessa_poweruser/e-signature/envelope/get \
-X POST \
-H "Authorization: $POWERUSER_KEY" \
-H "Content-Type: application/json" \
-d '{ "envelopeId": "e3b1c6a2-9f4d-4c8e-b7a1-2d5f8c9e0a13" }'
Response (truncated)
{
"envelope": {
"id": "e3b1c6a2-9f4d-4c8e-b7a1-2d5f8c9e0a13",
"title": "Consulting Agreement — Acme Corp",
"status": "SENT",
"recipients": [
{ "email": "sam@acme.com", "status": "VIEWED", "signingGroup": 1 }
],
"auditChainValid": true
},
"errors": []
}

List envelopes​

POST/e-signature/envelope/list

Lists envelopes visible to the linked user, with filtering, search, sorting, and pagination. Entries are compact summaries — use /envelope/get for full detail.

Request parameters​

  • Name
    statusFilter
    Type
    array<string>
    Description

    Restrict to these statuses (DRAFT, SENT, COMPLETED, REJECTED, VOIDED, EXPIRED).

  • Name
    search
    Type
    string
    Description

    Title search string.

  • Name
    sortBy
    Type
    string
    Description

    "created", "lastActivity", or "title". Defaults to lastActivity.

  • Name
    sortDir
    Type
    string
    Description

    "asc" or "desc". Defaults to desc.

  • Name
    page
    Type
    integer
    Description

    Page index.

  • Name
    pageSize
    Type
    integer
    Description

    Entries per page.

Response​

  • Name
    envelopes
    Type
    array<EnvelopeSummary>
    Description

    Summaries: id, title, status, completionPolicy, lifecycle timestamps, recipientCount, completedRecipientCount, requiredSignatureCount and collectedSignatureCount (signer-slot progress), recipientEmails, sharingLevel, myAccessLevel, iAmOwner, ownerUserId.

  • Name
    total
    Type
    integer
    Description

    Total envelopes across all pages.

  • Name
    page
    Type
    integer
    Description

    The page returned.

  • Name
    pageSize
    Type
    integer
    Description

    Entries per page.

  • Name
    errors
    Type
    array<string>
    Description

    Error messages, if any occurred.

cURL
curl https://api.autessa.com/autessa_poweruser/e-signature/envelope/list \
-X POST \
-H "Authorization: $POWERUSER_KEY" \
-H "Content-Type: application/json" \
-d '{
"statusFilter": ["SENT"],
"sortBy": "lastActivity",
"sortDir": "desc",
"page": 0,
"pageSize": 20
}'
Response
{
"envelopes": [
{
"id": "e3b1c6a2-9f4d-4c8e-b7a1-2d5f8c9e0a13",
"title": "Consulting Agreement — Acme Corp",
"status": "SENT",
"completionPolicy": "ALL",
"recipientCount": 2,
"completedRecipientCount": 0,
"requiredSignatureCount": 2,
"collectedSignatureCount": 0,
"recipientEmails": ["sam@acme.com", "lee@acme.com"],
"sharingLevel": "PRIVATE",
"myAccessLevel": "ADMIN",
"iAmOwner": true,
"ownerUserId": "uB7nT2wQ9k"
}
],
"total": 14,
"page": 0,
"pageSize": 20,
"errors": []
}

View the current PDF​

POST/e-signature/envelope/view

Returns a presigned read URL for the envelope's current-state PDF — the original while drafting, the prefilled render once sent, or the sealed document when completed.

Request parameters​

  • Name
    envelopeId
    Type
    uuid
    Description

    The envelope to view.

Response​

  • Name
    pdfUrl
    Type
    string
    Description

    Time-boxed presigned URL for the PDF.

  • Name
    expiresInSeconds
    Type
    integer
    Description

    How long the URL stays valid.

  • Name
    errors
    Type
    array<string>
    Description

    Error messages, if any occurred.

cURL
curl https://api.autessa.com/autessa_poweruser/e-signature/envelope/view \
-X POST \
-H "Authorization: $POWERUSER_KEY" \
-H "Content-Type: application/json" \
-d '{ "envelopeId": "e3b1c6a2-9f4d-4c8e-b7a1-2d5f8c9e0a13" }'
Response
{
"pdfUrl": "https://s3.amazonaws.com/autessa-esign/...",
"expiresInSeconds": 900,
"errors": []
}

Set recipients​

POST/e-signature/envelope/recipients

Replaces the envelope's recipient list and sets the signing order and completion policy. Include id on an entry to update an existing recipient; omit it to create a new one.

Request parameters​

  • Name
    envelopeId
    Type
    uuid
    Description

    The envelope to update.

  • Name
    signingOrder
    Type
    string
    Description

    PARALLEL or SEQUENTIAL.

  • Name
    completionPolicy
    Type
    string
    Description

    ALL or ANY_ONE. Null means ALL. ANY_ONE requires PARALLEL.

  • Name
    recipients
    Type
    array<RecipientInput>
    Description

    The full recipient list.

  • Name
    recipients[].id
    Type
    uuid
    Description

    Present when updating an existing recipient; omit when adding.

  • Name
    recipients[].email
    Type
    string
    Description

    Recipient email — signing links are sent here.

  • Name
    recipients[].name
    Type
    string
    Description

    Recipient display name, affirmed at sign time.

  • Name
    recipients[].orderIndex
    Type
    integer
    Description

    1-based position for SEQUENTIAL signing; ignored for PARALLEL.

  • Name
    recipients[].signingGroup
    Type
    integer
    Description

    Signer slot (1-based). Recipients sharing a slot form a client group — any one of them signing satisfies it. Null means own slot.

  • Name
    recipients[].recipientKind
    Type
    string
    Description

    SIGNER (default) or VIEWER.

Response​

  • Name
    envelope
    Type
    Envelope
    Description

    The updated envelope object.

  • Name
    errors
    Type
    array<string>
    Description

    Error messages, if any occurred.

curl https://api.autessa.com/autessa_poweruser/e-signature/envelope/recipients \
-X POST \
-H "Authorization: $POWERUSER_KEY" \
-H "Content-Type: application/json" \
-d '{
"envelopeId": "e3b1c6a2-9f4d-4c8e-b7a1-2d5f8c9e0a13",
"signingOrder": "PARALLEL",
"completionPolicy": "ALL",
"recipients": [
{
"email": "sam@acme.com",
"name": "Sam Rivera",
"signingGroup": 1,
"recipientKind": "SIGNER"
},
{
"email": "legal@acme.com",
"name": "Acme Legal",
"recipientKind": "VIEWER"
}
]
}'
Response (truncated)
{
"envelope": {
"id": "e3b1c6a2-9f4d-4c8e-b7a1-2d5f8c9e0a13",
"status": "DRAFT",
"recipients": [
{
"id": "7f2a4b1c-8d3e-4f5a-9b0c-1d2e3f4a5b6c",
"email": "sam@acme.com",
"name": "Sam Rivera",
"signingGroup": 1,
"recipientKind": "SIGNER",
"status": "PENDING"
}
]
},
"errors": []
}

Set fields​

POST/e-signature/envelope/fields

Fully replaces the envelope's field set — send every field you want to keep, not just changes. Include id to preserve/update an existing field.

Request parameters​

  • Name
    envelopeId
    Type
    uuid
    Description

    The envelope to update.

  • Name
    fields
    Type
    array<FieldInput>
    Description

    The complete field set.

  • Name
    fields[].id
    Type
    uuid
    Description

    Optional on create, required when editing an existing field.

  • Name
    fields[].fillSource
    Type
    string
    Description

    SIGNER or PREFILL.

  • Name
    fields[].recipientId
    Type
    uuid
    Description

    Required when fillSource is SIGNER — the recipient who fills the field.

  • Name
    fields[].fieldType
    Type
    string
    Description

    SIGNER: SIGNATURE, INITIALS, NAME, EMAIL, DATE_SIGNED, TEXT_INPUT, CHECKBOX, DROPDOWN. PREFILL: TEXT_STATIC, DATE_STATIC, IMAGE_STATIC.

  • Name
    fields[].pageIndex
    Type
    integer
    Description

    Zero-based PDF page.

  • Name
    fields[].xPct
    Type
    number
    Description

    Left edge as a percentage of page width.

  • Name
    fields[].yPct
    Type
    number
    Description

    Top edge as a percentage of page height.

  • Name
    fields[].widthPct
    Type
    number
    Description

    Width as a percentage of page width.

  • Name
    fields[].heightPct
    Type
    number
    Description

    Height as a percentage of page height.

  • Name
    fields[].rotation
    Type
    integer
    Description

    Rotation in degrees.

  • Name
    fields[].required
    Type
    boolean
    Description

    Whether the signer must fill it.

  • Name
    fields[].value
    Type
    string
    Description

    Static text (PREFILL) or baseline display value; for DROPDOWN, the options.

  • Name
    fields[].valueImageS3Key
    Type
    string
    Description

    For PREFILL IMAGE_STATIC — S3 key uploaded via the file-upload-link flow.

  • Name
    fields[].fontFamily
    Type
    string
    Description

    Render font.

  • Name
    fields[].fontSize
    Type
    integer
    Description

    Render font size.

  • Name
    fields[].fontColor
    Type
    string
    Description

    Render font color.

Response​

  • Name
    envelope
    Type
    Envelope
    Description

    The updated envelope object.

  • Name
    errors
    Type
    array<string>
    Description

    Error messages, if any occurred.

cURL
curl https://api.autessa.com/autessa_poweruser/e-signature/envelope/fields \
-X POST \
-H "Authorization: $POWERUSER_KEY" \
-H "Content-Type: application/json" \
-d '{
"envelopeId": "e3b1c6a2-9f4d-4c8e-b7a1-2d5f8c9e0a13",
"fields": [
{
"fillSource": "SIGNER",
"recipientId": "7f2a4b1c-8d3e-4f5a-9b0c-1d2e3f4a5b6c",
"fieldType": "SIGNATURE",
"pageIndex": 2,
"xPct": 12.5, "yPct": 78.0,
"widthPct": 30.0, "heightPct": 5.0,
"required": true
},
{
"fillSource": "PREFILL",
"fieldType": "TEXT_STATIC",
"pageIndex": 0,
"xPct": 20.0, "yPct": 30.5,
"widthPct": 40.0, "heightPct": 3.0,
"value": "Acme Corp"
}
]
}'
Response (truncated)
{
"envelope": {
"id": "e3b1c6a2-9f4d-4c8e-b7a1-2d5f8c9e0a13",
"status": "DRAFT",
"fields": [
{ "id": "a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d", "fieldType": "SIGNATURE" },
{ "id": "b2c3d4e5-f6a7-4b8c-9d0e-1f2a3b4c5d6e", "fieldType": "TEXT_STATIC" }
]
},
"errors": []
}

Set prefill values​

POST/e-signature/envelope/prefill

Populates PREFILL fields with values before sending — contract amounts, names, dates, or a static image (for example a company stamp).

Request parameters​

  • Name
    envelopeId
    Type
    uuid
    Description

    The envelope to update.

  • Name
    values
    Type
    array<PrefillValueInput>
    Description

    Values to set.

  • Name
    values[].fieldId
    Type
    uuid
    Description

    The PREFILL field to populate.

  • Name
    values[].value
    Type
    string
    Description

    The text or date value.

  • Name
    values[].valueImageS3Key
    Type
    string
    Description

    For IMAGE_STATIC — S3 key of the uploaded PNG.

Response​

  • Name
    envelope
    Type
    Envelope
    Description

    The updated envelope object.

  • Name
    errors
    Type
    array<string>
    Description

    Error messages, if any occurred.

cURL
curl https://api.autessa.com/autessa_poweruser/e-signature/envelope/prefill \
-X POST \
-H "Authorization: $POWERUSER_KEY" \
-H "Content-Type: application/json" \
-d '{
"envelopeId": "e3b1c6a2-9f4d-4c8e-b7a1-2d5f8c9e0a13",
"values": [
{
"fieldId": "b2c3d4e5-f6a7-4b8c-9d0e-1f2a3b4c5d6e",
"value": "$12,000.00"
}
]
}'
Response (truncated)
{
"envelope": {
"id": "e3b1c6a2-9f4d-4c8e-b7a1-2d5f8c9e0a13",
"status": "DRAFT"
},
"errors": []
}

Send an envelope​

POST/e-signature/envelope/send

Moves the envelope from DRAFT to SENT: renders prefill values into the PDF and emails each recipient a tokenized signing link. With SEQUENTIAL ordering only the first signer is invited; each completion invites the next.

Request parameters​

  • Name
    envelopeId
    Type
    uuid
    Description

    The envelope to send.

  • Name
    linkTtlDays
    Type
    integer
    Description

    Override the default signing-link TTL, in days.

Response​

  • Name
    envelope
    Type
    Envelope
    Description

    The envelope, now SENT, with sentAt and expiresAt populated.

  • Name
    errors
    Type
    array<string>
    Description

    Error messages, if any occurred (for example no recipients, or a signer with no fields).

cURL
curl https://api.autessa.com/autessa_poweruser/e-signature/envelope/send \
-X POST \
-H "Authorization: $POWERUSER_KEY" \
-H "Content-Type: application/json" \
-d '{
"envelopeId": "e3b1c6a2-9f4d-4c8e-b7a1-2d5f8c9e0a13",
"linkTtlDays": 14
}'
Response (truncated)
{
"envelope": {
"id": "e3b1c6a2-9f4d-4c8e-b7a1-2d5f8c9e0a13",
"status": "SENT",
"sentAt": "2026-06-29T16:00:41",
"expiresAt": "2026-07-13T16:00:41"
},
"errors": []
}

POST/e-signature/envelope/resend-link

Issues a fresh signing link to one recipient and emails it. Use when a link expired or the original email was lost.

Request parameters​

  • Name
    envelopeId
    Type
    uuid
    Description

    The envelope.

  • Name
    recipientId
    Type
    uuid
    Description

    The recipient to re-invite.

Response​

  • Name
    envelope
    Type
    Envelope
    Description

    The current envelope object.

  • Name
    errors
    Type
    array<string>
    Description

    Error messages, if any occurred.

cURL
curl https://api.autessa.com/autessa_poweruser/e-signature/envelope/resend-link \
-X POST \
-H "Authorization: $POWERUSER_KEY" \
-H "Content-Type: application/json" \
-d '{
"envelopeId": "e3b1c6a2-9f4d-4c8e-b7a1-2d5f8c9e0a13",
"recipientId": "7f2a4b1c-8d3e-4f5a-9b0c-1d2e3f4a5b6c"
}'
Response (truncated)
{
"envelope": { "id": "e3b1c6a2-9f4d-4c8e-b7a1-2d5f8c9e0a13", "status": "SENT" },
"errors": []
}

Remind pending signers​

POST/e-signature/envelope/remind

Sends reminder emails to recipients who have not yet signed.

Request parameters​

  • Name
    envelopeId
    Type
    uuid
    Description

    The envelope.

  • Name
    recipientIds
    Type
    array<uuid>
    Description

    Recipients to remind. Null or empty reminds every pending recipient.

Response​

  • Name
    envelope
    Type
    Envelope
    Description

    The current envelope object.

  • Name
    errors
    Type
    array<string>
    Description

    Error messages, if any occurred.

cURL
curl https://api.autessa.com/autessa_poweruser/e-signature/envelope/remind \
-X POST \
-H "Authorization: $POWERUSER_KEY" \
-H "Content-Type: application/json" \
-d '{ "envelopeId": "e3b1c6a2-9f4d-4c8e-b7a1-2d5f8c9e0a13" }'
Response (truncated)
{
"envelope": { "id": "e3b1c6a2-9f4d-4c8e-b7a1-2d5f8c9e0a13", "status": "SENT" },
"errors": []
}

Void an envelope​

POST/e-signature/envelope/void

Cancels a sent envelope. Outstanding signing links stop working and the envelope moves to VOIDED. The reason is recorded in the audit trail.

Request parameters​

  • Name
    envelopeId
    Type
    uuid
    Description

    The envelope to void.

  • Name
    reason
    Type
    string
    Description

    Why the envelope is being voided.

Response​

  • Name
    envelope
    Type
    Envelope
    Description

    The envelope, now VOIDED.

  • Name
    errors
    Type
    array<string>
    Description

    Error messages, if any occurred.

cURL
curl https://api.autessa.com/autessa_poweruser/e-signature/envelope/void \
-X POST \
-H "Authorization: $POWERUSER_KEY" \
-H "Content-Type: application/json" \
-d '{
"envelopeId": "e3b1c6a2-9f4d-4c8e-b7a1-2d5f8c9e0a13",
"reason": "Terms renegotiated; superseded by a new agreement."
}'
Response (truncated)
{
"envelope": { "id": "e3b1c6a2-9f4d-4c8e-b7a1-2d5f8c9e0a13", "status": "VOIDED" },
"errors": []
}

Delete an envelope​

POST/e-signature/envelope/delete

Permanently deletes an envelope. This is destructive and cannot be undone — to cancel a sent envelope while keeping its record, use /envelope/void instead.

Request parameters​

  • Name
    envelopeId
    Type
    uuid
    Description

    The envelope to delete.

Response​

  • Name
    deleted
    Type
    boolean
    Description

    Whether the envelope was deleted.

  • Name
    errors
    Type
    array<string>
    Description

    Error messages, if any occurred.

cURL
curl https://api.autessa.com/autessa_poweruser/e-signature/envelope/delete \
-X POST \
-H "Authorization: $POWERUSER_KEY" \
-H "Content-Type: application/json" \
-d '{ "envelopeId": "e3b1c6a2-9f4d-4c8e-b7a1-2d5f8c9e0a13" }'
Response
{
"deleted": true,
"errors": []
}

Download the sealed PDF​

POST/e-signature/envelope/download

Returns a presigned download URL for the sealed PDF of a completed envelope — the final document with all signatures and the certificate of completion.

Request parameters​

  • Name
    envelopeId
    Type
    uuid
    Description

    The completed envelope.

Response​

  • Name
    url
    Type
    string
    Description

    Time-boxed presigned download URL.

  • Name
    expiresInSeconds
    Type
    integer
    Description

    How long the URL stays valid.

  • Name
    filename
    Type
    string
    Description

    Suggested filename for the download.

  • Name
    errors
    Type
    array<string>
    Description

    Error messages, if any occurred (for example the envelope is not completed).

cURL
curl https://api.autessa.com/autessa_poweruser/e-signature/envelope/download \
-X POST \
-H "Authorization: $POWERUSER_KEY" \
-H "Content-Type: application/json" \
-d '{ "envelopeId": "e3b1c6a2-9f4d-4c8e-b7a1-2d5f8c9e0a13" }'
Response
{
"url": "https://s3.amazonaws.com/autessa-esign/...",
"expiresInSeconds": 900,
"filename": "Consulting Agreement — Acme Corp (sealed).pdf",
"errors": []
}

List the signing inbox​

POST/e-signature/inbox/list

Lists envelopes where the linked user is a recipient — matched on email, independent of which company owns the envelope. This is the "waiting for my signature" view, complementing /envelope/list which shows envelopes you own or that are shared with you.

Request parameters​

  • Name
    statusFilter
    Type
    array<string>
    Description

    Restrict to these envelope statuses.

  • Name
    page
    Type
    integer
    Description

    Page index.

  • Name
    pageSize
    Type
    integer
    Description

    Entries per page.

Response​

Same shape as /envelope/list: envelopes, total, page, pageSize, errors.

cURL
curl https://api.autessa.com/autessa_poweruser/e-signature/inbox/list \
-X POST \
-H "Authorization: $POWERUSER_KEY" \
-H "Content-Type: application/json" \
-d '{ "statusFilter": ["SENT"], "page": 0, "pageSize": 20 }'
Response (truncated)
{
"envelopes": [
{
"id": "f4c2d7b3-0a5e-4d9f-c8b2-3e6a9d0f1b24",
"title": "NDA — Northwind Traders",
"status": "SENT",
"recipientCount": 1
}
],
"total": 1,
"page": 0,
"pageSize": 20,
"errors": []
}

Errors​

StatusWhen
200Success — check errors for validation messages (unknown envelope, structural edits after send, ANY_ONE with SEQUENTIAL, download before completion).
401Invalid or missing poweruser key, or the linked user lacks access to the envelope.
403Scoped key without the endpoint in its allow-list.
408Server-side error; errors contains the message.