Create Agreement Rejection

POST /agreements/{agreement_ref}/rejections

Records a rejection event for the referenced agreement and returns the final agreement representation.


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

Bash
curl "https://api.allsign.app/agreements/{agreement_ref}/rejections" \
-X POST \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
--data-raw '{}'

Request

Request Path
agreement_ref

Public agreement reference.

stringrequired
Request Body
{
  "remarks": ""
}
remarks

Optional human-readable remarks attached to the lifecycle event.

stringnulloptional

Responses

200 OK

Rejected agreement representation.

{
  "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

objectrequired
data.agreement

Canonical agreement resource.

objectrequired
data.agreement.description

stringnullrequired
data.agreement.executed_at

string,null (date-time)required
data.agreement.intent

stringrequired
data.agreement.name

stringrequired
data.agreement.priority

stringrequired
data.agreement.rejected_at

string,null (date-time)required
data.agreement.rejected_reason

stringnullrequired
data.agreement.ref

Public stable resource reference.

string (uuid)required
data.agreement.requires_2fa

booleanrequired
data.agreement.requires_rcp

booleanrequired
data.agreement.sections

object[]required
data.agreement.sections[].description

stringnullrequired
data.agreement.sections[].name

stringrequired
data.agreement.sections[].position

integernullrequired
data.agreement.sections[].ref

Public stable resource reference.

string (uuid)required
data.agreement.sections[].terms

object[]required
data.agreement.sections[].terms[].description

stringnullrequired
data.agreement.sections[].terms[].has_review_history

booleanrequired
data.agreement.sections[].terms[].locked

booleanrequired
data.agreement.sections[].terms[].name

stringrequired
data.agreement.sections[].terms[].negotiable

booleanrequired
data.agreement.sections[].terms[].pending_counter_proposal

booleanrequired
data.agreement.sections[].terms[].position

integernullrequired
data.agreement.sections[].terms[].priority

stringrequired
data.agreement.sections[].terms[].ref

Public stable resource reference.

string (uuid)required
data.agreement.status

stringrequired
data.agreement.terms

object[]required
400 Bad Request

{
  "error": {
    "code": "",
    "message": "",
    "request_id": "",
    "status": 1
  }
}
error

objectrequired
error.code

stringrequired
error.message

stringrequired
error.request_id

stringrequired
error.status

integerrequired
error.fields

object[]optional
401 Unauthorized

{
  "error": {
    "code": "",
    "message": "",
    "request_id": "",
    "status": 1
  }
}
error

objectrequired
error.code

stringrequired
error.message

stringrequired
error.request_id

stringrequired
error.status

integerrequired
error.fields

object[]optional
404 Not Found

{
  "error": {
    "code": "",
    "message": "",
    "request_id": "",
    "status": 1
  }
}
error

objectrequired
error.code

stringrequired
error.message

stringrequired
error.request_id

stringrequired
error.status

integerrequired
error.fields

object[]optional
422 Unprocessable Entity

{
  "error": {
    "code": "",
    "message": "",
    "request_id": "",
    "status": 1
  }
}
error

objectrequired
error.code

stringrequired
error.message

stringrequired
error.request_id

stringrequired
error.status

integerrequired
error.fields

object[]optional

© 2026 AllSign. All rights reserved.