Create Section Placement

POST /sections/{section_ref}/placements

Repositions a canonical section and returns the updated section 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/sections/{section_ref}/placements" \
-X POST \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
--data-raw '{}'

Request

Request Path
section_ref

Public section reference.

stringrequired
Request Body
{
  "after_ref": "00000000-0000-4000-8000-000000000000",
  "before_ref": "00000000-0000-4000-8000-000000000000",
  "direction": "up",
  "target_root": "",
  "target_section_ref": "00000000-0000-4000-8000-000000000000"
}
after_ref

stringnulloptional
before_ref

stringnulloptional
direction

up | down | nulloptional
target_root

booleannulloptional
target_section_ref

stringnulloptional

Responses

200 OK

Repositioned section representation.

{
  "data": {
    "section": {
      "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"
        }
      ]
    }
  }
}
data

objectrequired
data.section

Canonical section resource.

objectrequired
data.section.description

stringnullrequired
data.section.name

stringrequired
data.section.position

integernullrequired
data.section.ref

Public stable resource reference.

string (uuid)required
data.section.terms

object[]required
data.section.terms[].description

stringnullrequired
data.section.terms[].has_review_history

booleanrequired
data.section.terms[].locked

booleanrequired
data.section.terms[].name

stringrequired
data.section.terms[].negotiable

booleanrequired
data.section.terms[].pending_counter_proposal

booleanrequired
data.section.terms[].position

integernullrequired
data.section.terms[].priority

stringrequired
data.section.terms[].ref

Public stable resource reference.

string (uuid)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.