Create Agreement Signature
/agreements/{agreement_ref}/signatures Attempts to create the actor's agreement signature and returns either the created signature or a verification challenge.
Conventions
Authentication
All endpoints require a Bearer token. Pass it in the Authorization header as Bearer <token>. Tokens are issued from the API settings page in your workspace.
Base URL
All paths are relative to https://api.allsign.app. The spec includes full paths; strip the base when constructing requests.
Versioning
The current version is 0.1.0. Breaking changes are documented in the Changelog and announced before taking effect.
Specification
The API follows OpenAPI Specification 3.x. All documentation on this page is generated directly from the spec.
Example
curl "https://api.allsign.app/agreements/{agreement_ref}/signatures" \-X POST \-H "Authorization: Bearer {token}" \-H "Content-Type: application/json" \--data-raw '{}'
Request
Request Path
agreement_refPublic agreement reference.
Request Body
{
"legal_affirmed": true
}legal_affirmed
Responses
200 OK
Agreement signing result.
{
"data": {
"agreement": {
"description": "",
"executed_at": "2026-01-01T00:00:00Z",
"intent": "",
"name": "",
"priority": "",
"rejected_at": "2026-01-01T00:00:00Z",
"rejected_reason": "",
"ref": "00000000-0000-4000-8000-000000000000",
"requires_2fa": true,
"requires_rcp": true,
"sections": [
{
"description": "",
"name": "",
"position": "",
"ref": "00000000-0000-4000-8000-000000000000",
"terms": [
{
"description": "",
"has_review_history": true,
"locked": true,
"name": "",
"negotiable": true,
"pending_counter_proposal": true,
"position": "",
"priority": "",
"ref": "00000000-0000-4000-8000-000000000000"
}
]
}
],
"status": "",
"terms": [
{
"description": "",
"has_review_history": true,
"locked": true,
"name": "",
"negotiable": true,
"pending_counter_proposal": true,
"position": "",
"priority": "",
"ref": "00000000-0000-4000-8000-000000000000"
}
]
}
}
}data
data.agreementCanonical agreement resource.
data.agreement.description
data.agreement.executed_at
data.agreement.intent
data.agreement.name
data.agreement.priority
data.agreement.rejected_at
data.agreement.rejected_reason
data.agreement.refPublic stable resource reference.
data.agreement.requires_2fa
data.agreement.requires_rcp
data.agreement.sections
data.agreement.sections[].description
data.agreement.sections[].name
data.agreement.sections[].position
data.agreement.sections[].refPublic stable resource reference.
data.agreement.sections[].terms
data.agreement.sections[].terms[].description
data.agreement.sections[].terms[].has_review_history
data.agreement.sections[].terms[].locked
data.agreement.sections[].terms[].name
data.agreement.sections[].terms[].negotiable
data.agreement.sections[].terms[].pending_counter_proposal
data.agreement.sections[].terms[].position
data.agreement.sections[].terms[].priority
data.agreement.sections[].terms[].refPublic stable resource reference.
data.agreement.status
data.agreement.terms
data.signatureCanonical agreement signature record.
data.signature.created_at
data.signature.refPublic stable resource reference.
data.signature.requires_2fa
data.verificationSignature or signing authentication verification challenge.
data.verification.channel
data.verification.expires_at
data.verification.refPublic stable resource reference.
201 Created
Agreement signing result.
{
"data": {
"agreement": {
"description": "",
"executed_at": "2026-01-01T00:00:00Z",
"intent": "",
"name": "",
"priority": "",
"rejected_at": "2026-01-01T00:00:00Z",
"rejected_reason": "",
"ref": "00000000-0000-4000-8000-000000000000",
"requires_2fa": true,
"requires_rcp": true,
"sections": [
{
"description": "",
"name": "",
"position": "",
"ref": "00000000-0000-4000-8000-000000000000",
"terms": [
{
"description": "",
"has_review_history": true,
"locked": true,
"name": "",
"negotiable": true,
"pending_counter_proposal": true,
"position": "",
"priority": "",
"ref": "00000000-0000-4000-8000-000000000000"
}
]
}
],
"status": "",
"terms": [
{
"description": "",
"has_review_history": true,
"locked": true,
"name": "",
"negotiable": true,
"pending_counter_proposal": true,
"position": "",
"priority": "",
"ref": "00000000-0000-4000-8000-000000000000"
}
]
}
}
}data
data.agreementCanonical agreement resource.
data.agreement.description
data.agreement.executed_at
data.agreement.intent
data.agreement.name
data.agreement.priority
data.agreement.rejected_at
data.agreement.rejected_reason
data.agreement.refPublic stable resource reference.
data.agreement.requires_2fa
data.agreement.requires_rcp
data.agreement.sections
data.agreement.sections[].description
data.agreement.sections[].name
data.agreement.sections[].position
data.agreement.sections[].refPublic stable resource reference.
data.agreement.sections[].terms
data.agreement.sections[].terms[].description
data.agreement.sections[].terms[].has_review_history
data.agreement.sections[].terms[].locked
data.agreement.sections[].terms[].name
data.agreement.sections[].terms[].negotiable
data.agreement.sections[].terms[].pending_counter_proposal
data.agreement.sections[].terms[].position
data.agreement.sections[].terms[].priority
data.agreement.sections[].terms[].refPublic stable resource reference.
data.agreement.status
data.agreement.terms
data.signatureCanonical agreement signature record.
data.signature.created_at
data.signature.refPublic stable resource reference.
data.signature.requires_2fa
data.verificationSignature or signing authentication verification challenge.
data.verification.channel
data.verification.expires_at
data.verification.refPublic stable resource reference.
202 Response
Agreement signing result.
{
"data": {
"agreement": {
"description": "",
"executed_at": "2026-01-01T00:00:00Z",
"intent": "",
"name": "",
"priority": "",
"rejected_at": "2026-01-01T00:00:00Z",
"rejected_reason": "",
"ref": "00000000-0000-4000-8000-000000000000",
"requires_2fa": true,
"requires_rcp": true,
"sections": [
{
"description": "",
"name": "",
"position": "",
"ref": "00000000-0000-4000-8000-000000000000",
"terms": [
{
"description": "",
"has_review_history": true,
"locked": true,
"name": "",
"negotiable": true,
"pending_counter_proposal": true,
"position": "",
"priority": "",
"ref": "00000000-0000-4000-8000-000000000000"
}
]
}
],
"status": "",
"terms": [
{
"description": "",
"has_review_history": true,
"locked": true,
"name": "",
"negotiable": true,
"pending_counter_proposal": true,
"position": "",
"priority": "",
"ref": "00000000-0000-4000-8000-000000000000"
}
]
}
}
}data
data.agreementCanonical agreement resource.
data.agreement.description
data.agreement.executed_at
data.agreement.intent
data.agreement.name
data.agreement.priority
data.agreement.rejected_at
data.agreement.rejected_reason
data.agreement.refPublic stable resource reference.
data.agreement.requires_2fa
data.agreement.requires_rcp
data.agreement.sections
data.agreement.sections[].description
data.agreement.sections[].name
data.agreement.sections[].position
data.agreement.sections[].refPublic stable resource reference.
data.agreement.sections[].terms
data.agreement.sections[].terms[].description
data.agreement.sections[].terms[].has_review_history
data.agreement.sections[].terms[].locked
data.agreement.sections[].terms[].name
data.agreement.sections[].terms[].negotiable
data.agreement.sections[].terms[].pending_counter_proposal
data.agreement.sections[].terms[].position
data.agreement.sections[].terms[].priority
data.agreement.sections[].terms[].refPublic stable resource reference.
data.agreement.status
data.agreement.terms
data.signatureCanonical agreement signature record.
data.signature.created_at
data.signature.refPublic stable resource reference.
data.signature.requires_2fa
data.verificationSignature or signing authentication verification challenge.
data.verification.channel
data.verification.expires_at
data.verification.refPublic stable resource reference.
400 Bad Request
{
"error": {
"code": "",
"message": "",
"request_id": "",
"status": 1
}
}error
error.code
error.message
error.request_id
error.status
error.fields
401 Unauthorized
{
"error": {
"code": "",
"message": "",
"request_id": "",
"status": 1
}
}error
error.code
error.message
error.request_id
error.status
error.fields
404 Not Found
{
"error": {
"code": "",
"message": "",
"request_id": "",
"status": 1
}
}error
error.code
error.message
error.request_id
error.status
error.fields
422 Unprocessable Entity
{
"error": {
"code": "",
"message": "",
"request_id": "",
"status": 1
}
}error
error.code
error.message
error.request_id
error.status
error.fields