MethodPathSummaryAuth
GET/v1/admin/account/order-usersSearch active users for order entrySession
POST/v1/admin/account/ordersEnter an audited compatibility order recordSession
PATCH/v1/admin/account/orders/{id}Edit an audited compatibility order recordSession
DELETE/v1/admin/account/orders/{id}Archive an audited compatibility order recordSession

Contract file:api/control-account-orders.openapi.yaml

Operation details

GET /v1/admin/account/order-users

Search active users for order entry

operationId
listAccountOrderUsers
Auth
  • Session: the Bearer session of a signed-in control plane user, used by the customer in their own control plane; a plugin must never ask for it.
Required permissions

The contract has no separate permission annotation; see the description below and the 403 response.

Description (from the contract)

Platform administrators only (billing.adjustments.manage); searches active tenant users for order entry.

Parameters

listAccountOrderUsers Parameters
NameInTypeRequiredDescription
searchquerystringNo—
limitqueryintegerNo—

Responses

listAccountOrderUsers Responses
StatusDescription
200Matching active users

Fields:items: array<AccountOrderUser>

400Invalid request fields
401Authentication is required
403Required permission is absent
503Account order service unavailable

What to do on failure

  • 400 Fix the parameters or body per the field list; do not retry unchanged.
  • 401 Check the credential format and whether it expired or was rotated.
  • 403 Check the key scopes, the owner’s current permissions and the tenant scope; never switch to a more privileged account.
  • 503 A dependency is unavailable: retry later with the original Idempotency-Key.

↑ Back to list

POST /v1/admin/account/orders

Enter an audited compatibility order record

operationId
createAccountOrder
Auth
  • Session: the Bearer session of a signed-in control plane user, used by the customer in their own control plane; a plugin must never ask for it.
Required permissions

The contract has no separate permission annotation; see the description below and the 403 response.

Description (from the contract)

Platform administrators only (live platform session with billing.adjustments.manage); tenants have no order-record write API (r136 tp-b5b). This does not mutate package, recharge, payment, or balance-ledger facts.

Parameters

createAccountOrder Parameters
NameInTypeRequiredDescription
Idempotency-KeyheaderstringYes—

Request body

application/json · Required:Yes

createAccountOrder Request body
NameTypeRequiredDescription
user_idstring(uuid)Yes—
typestring: recharge / deduction / upgrade / purchase / renewal / package_changeYes—
notestringYes—
original_amount_minorintegerYes—
paid_amount_minorintegerYes—
payment_methodstringYes—
merchant_order_numberstringYes—
transaction_numberstringYes—
statusstring: paid / unpaidYes—
created_atstring(date-time)Yes—
paid_atstring(date-time) | nullYes—

Responses

createAccountOrder Responses
StatusDescription
201Created record

Fields:id: string(uuid) display_id: string tenant_scope_id: string(uuid) tenant_id: string(uuid) user_id: string(uuid) user_display_id: string username: string user_display_name: string source: string: manual / package / recharge type: string: recharge / deduction / upgrade / purchase / renewal / package_change note: string original_amount_minor: integer paid_amount_minor: integer details: string payment_method: string merchant_order_number: string transaction_number: string status: string: paid / unpaid created_at: string(date-time) paid_at?: string(date-time) revision: integer editable: boolean

400Invalid request fields
401Authentication is required
403Required permission is absent
409Revision or idempotency conflict
415Content-Type must be application/json
503Account order service unavailable

What to do on failure

  • 400 Fix the parameters or body per the field list; do not retry unchanged.
  • 401 Check the credential format and whether it expired or was rotated.
  • 403 Check the key scopes, the owner’s current permissions and the tenant scope; never switch to a more privileged account.
  • 409 Read the current state first; a retry of the same operation keeps the original Idempotency-Key and body.
  • 503 A dependency is unavailable: retry later with the original Idempotency-Key.

↑ Back to list

PATCH /v1/admin/account/orders/{id}

Edit an audited compatibility order record

operationId
updateAccountOrder
Auth
  • Session: the Bearer session of a signed-in control plane user, used by the customer in their own control plane; a plugin must never ask for it.
Required permissions

The contract has no separate permission annotation; see the description below and the 403 response.

Description (from the contract)

Platform administrators only (billing.adjustments.manage). Only records whose source is manual are editable. Package and recharge facts remain immutable.

Parameters

updateAccountOrder Parameters
NameInTypeRequiredDescription
idpathstring(uuid)Yes—
Idempotency-KeyheaderstringYes—
If-MatchheaderstringYes—

Request body

application/json · Required:Yes

updateAccountOrder Request body
NameTypeRequiredDescription
user_idstring(uuid)Yes—
typestring: recharge / deduction / upgrade / purchase / renewal / package_changeYes—
notestringYes—
original_amount_minorintegerYes—
paid_amount_minorintegerYes—
payment_methodstringYes—
merchant_order_numberstringYes—
transaction_numberstringYes—
statusstring: paid / unpaidYes—
created_atstring(date-time)Yes—
paid_atstring(date-time) | nullYes—

Responses

updateAccountOrder Responses
StatusDescription
200Updated record

Fields:id: string(uuid) display_id: string tenant_scope_id: string(uuid) tenant_id: string(uuid) user_id: string(uuid) user_display_id: string username: string user_display_name: string source: string: manual / package / recharge type: string: recharge / deduction / upgrade / purchase / renewal / package_change note: string original_amount_minor: integer paid_amount_minor: integer details: string payment_method: string merchant_order_number: string transaction_number: string status: string: paid / unpaid created_at: string(date-time) paid_at?: string(date-time) revision: integer editable: boolean

400Invalid request fields
401Authentication is required
403Required permission is absent
404Record not found
409Revision or idempotency conflict
415Content-Type must be application/json
503Account order service unavailable

What to do on failure

  • 400 Fix the parameters or body per the field list; do not retry unchanged.
  • 401 Check the credential format and whether it expired or was rotated.
  • 403 Check the key scopes, the owner’s current permissions and the tenant scope; never switch to a more privileged account.
  • 404 The resource does not exist or belongs to another tenant.
  • 409 Read the current state first; a retry of the same operation keeps the original Idempotency-Key and body.
  • 503 A dependency is unavailable: retry later with the original Idempotency-Key.

↑ Back to list

DELETE /v1/admin/account/orders/{id}

Archive an audited compatibility order record

operationId
deleteAccountOrder
Auth
  • Session: the Bearer session of a signed-in control plane user, used by the customer in their own control plane; a plugin must never ask for it.
Required permissions

The contract has no separate permission annotation; see the description below and the 403 response.

Description (from the contract)

Archives the editable head while retaining its append-only event, receipt, and audit facts.

Parameters

deleteAccountOrder Parameters
NameInTypeRequiredDescription
idpathstring(uuid)Yes—
Idempotency-KeyheaderstringYes—
If-MatchheaderstringYes—

Responses

deleteAccountOrder Responses
StatusDescription
200Archived record

Fields:id: string(uuid) display_id: string tenant_scope_id: string(uuid) tenant_id: string(uuid) user_id: string(uuid) user_display_id: string username: string user_display_name: string source: string: manual / package / recharge type: string: recharge / deduction / upgrade / purchase / renewal / package_change note: string original_amount_minor: integer paid_amount_minor: integer details: string payment_method: string merchant_order_number: string transaction_number: string status: string: paid / unpaid created_at: string(date-time) paid_at?: string(date-time) revision: integer editable: boolean

400Invalid request fields
401Authentication is required
403Required permission is absent
404Record not found
409Revision or idempotency conflict
503Account order service unavailable

What to do on failure

  • 400 Fix the parameters or body per the field list; do not retry unchanged.
  • 401 Check the credential format and whether it expired or was rotated.
  • 403 Check the key scopes, the owner’s current permissions and the tenant scope; never switch to a more privileged account.
  • 404 The resource does not exist or belongs to another tenant.
  • 409 Read the current state first; a retry of the same operation keeps the original Idempotency-Key and body.
  • 503 A dependency is unavailable: retry later with the original Idempotency-Key.

↑ Back to list