Update Session

Update a draft session before it is sent. Part of the create-review-send flow: create a draft with Create Session, review it at the returned draftUrl, revise it here as needed (the draftUrl stays the same), then send it with Send Session. Sessions that have already been sent cannot be updated - their recipients may already be signing.

Three kinds of change, combinable in one request:

  • Settings: pass any of name, expiryDays, reminderEnabled, reminderFrequency alone to patch just those.
  • Recipient details: pass recipients alone to fix names, emails or signing order in place. List every current recipient in signing order (same count) - recipient identities and all placed fields are preserved.
  • Documents: pass files and recipients together to replace the whole document set. Send the complete spec exactly as Create Session takes it - the previous documents, fields and recipients are rebuilt from scratch, which also discards any manual edits made in the AirSign editor.

Endpoint

PUT https://api.airsign.com.au/api/v1/Session/{sessionId}

Headers

NameValueRequiredDescription
AuthorizationBearer {access_token}YesBearer token with the write:sessions scope
Content-Typeapplication/jsonYesRequest body is JSON

Request Body

FieldTypeRequiredDescription
namestringNoNew session name (max 50 characters)
filesarrayNoReplacement document set - the complete spec, same entries as Create Session files (block documents and/or uploaded PDFs). Requires recipients in the same request, because document fields bind to recipient keys
recipientsarrayNoWith files: the full recipient list the new documents bind to (key, name, email, optional signingOrder). Alone: an in-place details update for the existing recipients, in signing order, same count
expiryDaysintegerNo1-730, or null to clear. Plan-gated (session expiry feature); counting starts when the session is sent
reminderEnabledbooleanNoPlan-gated (session expiry feature)
reminderFrequencystringNodaily, weekly, monthly or quarterly

At least one field must be provided.

Example Request - fix a recipient email

curl --location --request PUT 'https://api.airsign.com.au/api/v1/Session/{uuid}' \
--header 'Authorization: Bearer {access_token}' \
--header 'Content-Type: application/json' \
--data '{
    "recipients": [
        { "key": "parent", "name": "Ada Lovelace", "email": "{valid_email}" }
    ]
}'

Response

Status: 200 OK - the same summary shape Create Session returns, including draftUrl (unchanged), a per-file fieldCount, and warnings (e.g. a recipient left without a signature field).

Error Responses

StatusDescription
400Session is not a draft (NOT_A_DRAFT), files sent without recipients (INVALID_REQUEST), recipients alone does not match the current recipient count (RECIPIENT_COUNT_MISMATCH), or a document failed to compile (DOCUMENT_VALIDATION_FAILED with per-block issues)
401Missing or invalid authentication token
403Expiry/reminder settings on a plan without the session expiry feature (PLAN_FEATURE_REQUIRED)
404Session not found, or a referenced uploaded file/image not found