Appearance
API Calls
Base: https://api.g3nretailstack.com/scm
Source of truth: /internal-docs/scm-openapi.yaml → /scm/openapi.yaml
Notes: samples are schema-derived placeholders. Replace placeholder values (ORGCODE, SESSION_GUID, etc.) with real values.
Inventory
| Method | Path | Summary | Request schema | Response schema |
|---|---|---|---|---|
| POST | /appointment/book | Book a new appointment | None | Envelope |
| POST | /appointment/cancel | Cancel an appointment | None | Envelope |
| POST | /appointment/complete | Complete an appointment | None | Envelope |
| POST | /appointment/confirm | Confirm a booked appointment | None | Envelope |
| POST | /appointment/get | Get an appointment by ID | None | Envelope |
| POST | /appointment/list | List appointments with optional filters | None | Envelope |
| POST | /appointment/no-show | Mark appointment as no-show | None | Envelope |
| POST | /appointment/reschedule | Reschedule an appointment | None | Envelope |
| POST | /appointment/start | Start an appointment (mark in progress) | None | Envelope |
| POST | /backorder/approve | Approve backorder (draft) | BackorderApproveRequest | BackorderEnvelope |
| POST | /backorder/cancel | Cancel backorder (draft) | BackorderCancelRequest | BackorderEnvelope |
| POST | /backorder/create | Create backorder (draft) | BackorderCreateRequest | BackorderEnvelope |
| POST | /backorder/expire | Expire backorder (draft) | BackorderExpireRequest | BackorderEnvelope |
| POST | /backorder/fulfill | Fulfill backorder (draft) | BackorderFulfillRequest | BackorderEnvelope |
| POST | /backorder/get | Get backorder (draft) | BackorderGetRequest | BackorderEnvelope |
| POST | /backorder/list | List backorders (draft) | BackorderListRequest | BackorderListEnvelope |
| POST | /backorder/partial-fulfill | Partial fulfill backorder (draft) | BackorderPartialFulfillRequest | BackorderEnvelope |
| POST | /backorder/promise | Promise backorder (draft) | BackorderPromiseRequest | BackorderEnvelope |
| POST | /carrier/config/get | Get carrier configuration | None | Envelope |
| POST | /carrier/config/list | List carrier configurations | None | Envelope |
| POST | /carrier/config/set | Set carrier configuration | None | Envelope |
| POST | /carrier/config/status/set | Set carrier configuration status | None | Envelope |
| POST | /carrier/label/create | Create shipping label | None | Envelope |
| POST | /carrier/rate/quote | Get carrier rate quotes | None | Envelope |
| POST | /carrier/tracking/get | Get carrier tracking info | None | Envelope |
| POST | /channel/policy/get | Get channel policy (draft) | ChannelPolicyGetRequest | ChannelPolicyEnvelope |
| POST | /channel/policy/set | Set channel policy (draft) | ChannelPolicySetRequest | ChannelPolicyEnvelope |
| POST | /checkout | Composite checkout (draft) | None | Envelope |
| POST | /comment | Add comment (draft) | CommentAddRequest | CommentEnvelope |
| POST | /comment/get | Get comment (draft) | CommentGetRequest | CommentEnvelope |
| POST | /comment/list | List comments (draft) | CommentListRequest | CommentListEnvelope |
| POST | /comment/report | Report top-N largest comments (draft) | CommentReportRequest | CommentReportEnvelope |
| POST | /comment/revise | Revise comment (draft) | CommentReviseRequest | CommentEnvelope |
| POST | /comment/status | Update comment status (draft) | CommentStatusRequest | CommentEnvelope |
| POST | /delivery-slot/get | Get a delivery slot by ID | None | Envelope |
| POST | /delivery-slot/list | List delivery slots with optional filters | None | Envelope |
| POST | /delivery-slot/set | Create or update a delivery slot | None | Envelope |
| POST | /delivery-slot/status/set | Activate or deactivate a delivery slot | None | Envelope |
| POST | /edi/get | Get EDI record (draft) | EdiGetRequest | EdiEnvelope |
| POST | /edi/list | List EDI records (draft) | EdiListRequest | EdiListEnvelope |
| POST | /edi/record | Record EDI message (draft) | EdiRecordRequest | EdiEnvelope |
| POST | /edi/status/set | Set EDI record status (draft) | EdiStatusSetRequest | EdiEnvelope |
| POST | /eligibility/check | Check item eligibility for a given tender type | None | Envelope |
| POST | /fulfillment/shipment/cancel | Cancel shipment (draft) | ShipmentCancelRequest | ShipmentEnvelope |
| POST | /fulfillment/shipment/create | Create fulfillment shipment (draft) | ShipmentCreateRequest | ShipmentEnvelope |
| POST | /fulfillment/shipment/deliver | Mark shipment delivered (draft) | ShipmentDeliverRequest | ShipmentEnvelope |
| POST | /fulfillment/shipment/delivery/complete | Mark delivery as completed | None | ShipmentEnvelope |
| POST | /fulfillment/shipment/delivery/schedule | Schedule delivery for a shipment | None | ShipmentEnvelope |
| POST | /fulfillment/shipment/exception | Mark shipment exception (draft) | ShipmentExceptionRequest | ShipmentEnvelope |
| POST | /fulfillment/shipment/exception/carrier-failure | Record carrier failure exception (draft) | ShipmentExceptionCarrierFailureRequest | ShipmentEnvelope |
| POST | /fulfillment/shipment/exception/damaged | Record damaged exception (draft) | ShipmentExceptionDamagedRequest | ShipmentEnvelope |
| POST | /fulfillment/shipment/exception/partial | Record partial fulfillment exception (draft) | ShipmentExceptionPartialRequest | ShipmentEnvelope |
| POST | /fulfillment/shipment/exception/resolve | Resolve shipment exception (draft) | ShipmentExceptionResolveRequest | ShipmentEnvelope |
| POST | /fulfillment/shipment/exception/short-pick | Record short pick exception (draft) | ShipmentExceptionShortPickRequest | ShipmentEnvelope |
| POST | /fulfillment/shipment/get | Get shipment (draft) | ShipmentGetRequest | ShipmentEnvelope |
| POST | /fulfillment/shipment/install/complete | Mark installation as completed | None | ShipmentEnvelope |
| POST | /fulfillment/shipment/install/schedule | Schedule installation for a delivered shipment | None | ShipmentEnvelope |
| POST | /fulfillment/shipment/list | List shipments (draft) | ShipmentListRequest | ShipmentListEnvelope |
| POST | /fulfillment/shipment/pack | Mark shipment packed (draft) | ShipmentPackRequest | ShipmentEnvelope |
| POST | /fulfillment/shipment/pick | Mark shipment picked (draft) | ShipmentPickRequest | ShipmentEnvelope |
| POST | /fulfillment/shipment/pickup/complete | Mark shipment pickup completed (draft) | ShipmentPickupCompleteRequest | ShipmentEnvelope |
| POST | /fulfillment/shipment/pickup/no_show | Mark shipment pickup no-show (draft) | ShipmentPickupNoShowRequest | ShipmentEnvelope |
| POST | /fulfillment/shipment/pickup/ready | Mark shipment pickup ready (draft) | ShipmentPickupReadyRequest | ShipmentEnvelope |
| POST | /fulfillment/shipment/ship | Mark shipment shipped (draft) | ShipmentShipRequest | ShipmentEnvelope |
| POST | /fulfillment/shipment/substitution/apply | Apply substitution to shipment line (draft) | ShipmentSubstitutionApplyRequest | ShipmentEnvelope |
| POST | /inbox/create | Create inbox notification (draft) | InboxCreateRequest | InboxEnvelope |
| POST | /inbox/get | Get inbox notification (draft) | InboxGetRequest | InboxEnvelope |
| POST | /inbox/list | List inbox notifications (draft) | InboxListRequest | InboxListEnvelope |
| POST | /inbox/state | Update inbox state (draft) | InboxStateRequest | InboxEnvelope |
| POST | /inbox/status | Update inbox status (draft) | InboxStatusRequest | InboxEnvelope |
| POST | /layaway/cancel | Cancel a layaway | None | LayawayCancelEnvelope |
| POST | /layaway/create | Create a layaway | None | LayawayEnvelope |
| POST | /layaway/list | List layaways | None | LayawayListEnvelope |
| POST | /layaway/partial-pickup | Partial pickup from layaway | None | LayawayEnvelope |
| POST | /layaway/payment | Record layaway payment | None | LayawayEnvelope |
| POST | /layaway/recall | Recall layaway with payment history | None | LayawayRecallEnvelope |
| POST | /layaway/recalculate | Recalculate layaway balances | LayawayRecalculateRequest | LayawayRecalculateEnvelope |
| POST | /order/cancel | Cancel order (draft) | OrderCancelRequest | OrderEnvelope |
| POST | /order/close | Close order (draft) | OrderCloseRequest | OrderEnvelope |
| POST | /order/create | Create order (draft) | OrderCreateRequest | OrderEnvelope |
| POST | /order/fulfill | Fulfill order (draft) | OrderFulfillRequest | OrderEnvelope |
| POST | /order/get | Get order (draft) | OrderGetRequest | OrderEnvelope |
| POST | /order/line/cancel | Cancel order line quantities (partial cancel) | OrderLineCancelRequest | OrderEnvelope |
| POST | /order/list | List orders (draft) | OrderListRequest | OrderListEnvelope |
| POST | /order/place | Place order (draft) | OrderPlaceRequest | OrderEnvelope |
| POST | /order/promise/allocate | Allocate reserved inventory (draft) | OrderPromiseAllocateRequest | OrderEnvelope |
| POST | /order/promise/commit | Commit allocated inventory (draft) | OrderPromiseCommitRequest | OrderEnvelope |
| POST | /order/promise/commit-direct | Direct commit inventory (fast POS) (draft) | OrderPromiseCommitRequest | OrderEnvelope |
| POST | /order/promise/quote | Quote inventory promise (ATP/CTP) (draft) | OrderPromiseQuoteRequest | PromiseQuoteEnvelope |
| POST | /order/promise/release | Release inventory promise (draft) | OrderPromiseReleaseRequest | OrderEnvelope |
| POST | /order/promise/reserve | Reserve inventory for order (draft) | OrderPromiseReserveRequest | OrderEnvelope |
| POST | /order/search | Search orders (partial match) | OrderSearchRequest | OrderListEnvelope |
| POST | /payment-gateway/get | Fetch a payment gateway by ID | None | Envelope |
| POST | /payment-gateway/list | List payment gateways with optional status filter | None | Envelope |
| POST | /payment-gateway/set | Create or update a payment gateway configuration | None | Envelope |
| POST | /payment-gateway/status/set | Update payment gateway status | None | Envelope |
| POST | /pos/audit/query | Query POS audit trail | None | Envelope |
| POST | /pos/audit/transaction | Audit trail for specific order | None | Envelope |
| POST | /pos/complete | Complete POS sale | None | Envelope |
| POST | /pos/customer/attach | Attach customer to order; 409 fraud-hold-active if fraud hold | (inline) | Envelope |
| POST | /pos/customer/detach | Detach customer from order | None | Envelope |
| POST | /pos/customer/search | Search customers for POS attachment | None | Envelope |
| POST | /pos/discount/line | Apply line-level discount | None | Envelope |
| POST | /pos/discount/line/remove | Remove line-level manual discount | None | Envelope |
| POST | /pos/discount/order | Apply order-level discount (distributed proportionally) | None | Envelope |
| POST | /pos/discount/order/remove | Remove all manual discounts from order | None | Envelope |
| POST | /pos/hold | Hold (park) current sale | None | Envelope |
| POST | /pos/hold/list | List held sales | None | Envelope |
| POST | /pos/recall | Recall held sale | None | Envelope |
| POST | /pos/return/process | Process POS return | None | Envelope |
| POST | /pos/return/start | Start return — look up receipt | None | Envelope |
| POST | /pos/scan | Scan barcode/PLU — composite product+price+stock resolution | None | Envelope |
| POST | /pos/search | Item lookup search (fallback for non-barcode) | None | Envelope |
| POST | /pos/tax/classes | List tax classes for jurisdiction | None | Envelope |
| POST | /pos/tax/recalc | Recalculate basket taxes | None | Envelope |
| POST | /pos/cash/paid-in | Record cash paid into till | None | Envelope |
| POST | /pos/cash/paid-out | Record cash paid out from till | None | Envelope |
| POST | /pos/cash/deposit | Record bank deposit from till | None | Envelope |
| POST | /pos/cash/drawer | Open cash drawer without a sale | None | Envelope |
| POST | /pos/cash/movements | List cash movements | None | Envelope |
| POST | /pos/till/report | Generate till/shift summary report | None | Envelope |
| POST | /pos/reprint | Reprint receipt | None | Envelope |
| POST | /pos/journal | Transaction journal | None | Envelope |
| POST | /pos/void | Pre-completion void | None | Envelope |
| POST | /pos/post-void | Post-completion void | None | Envelope |
| POST | /pos/misc/add | Add miscellaneous line to basket | None | Envelope |
| POST | /pos/misc/remove | Remove miscellaneous line | None | Envelope |
| POST | /pos/trade-in/add | Add trade-in credit to basket | None | Envelope |
| POST | /pos/trade-in/remove | Remove trade-in line | None | Envelope |
| POST | /quote/accept | Accept quote (draft) | QuoteAcceptRequest | QuoteEnvelope |
| POST | /quote/approve | Approve quote (draft) | QuoteApproveRequest | QuoteEnvelope |
| POST | /quote/convert | Convert quote to order (draft) | QuoteConvertRequest | OrderEnvelope |
| POST | /quote/create | Create quote (draft) | QuoteCreateRequest | QuoteEnvelope |
| POST | /quote/expire | Expire quote (draft) | QuoteExpireRequest | QuoteEnvelope |
| POST | /quote/get | Get quote (draft) | QuoteGetRequest | QuoteEnvelope |
| POST | /quote/list | List quotes (draft) | QuoteListRequest | QuoteListEnvelope |
| POST | /quote/reject | Reject quote (draft) | QuoteRejectRequest | QuoteEnvelope |
| POST | /quote/send | Send quote (draft) | QuoteSendRequest | QuoteEnvelope |
| POST | /receipt/generate | Generate receipt for order | None | Envelope |
| POST | /receipt/get | Get receipt record | None | Envelope |
| POST | /receipt/template/get | Get receipt template | None | Envelope |
| POST | /receipt/template/list | List receipt templates | None | Envelope |
| POST | /receipt/template/set | Set receipt template | None | Envelope |
| POST | /refund/issue | Issue refund (draft) | RefundRequest | RefundEnvelope |
| POST | /rental-agreement/activate | Activate a created rental agreement | None | RentalAgreementEnvelope |
| POST | /rental-agreement/close | Close a rental agreement after inspection | None | RentalAgreementEnvelope |
| POST | /rental-agreement/create | Create a new rental agreement | RentalAgreementDraft | RentalAgreementEnvelope |
| POST | /rental-agreement/extend | Extend a rental agreement after inspection | None | RentalAgreementEnvelope |
| POST | /rental-agreement/get | Get a rental agreement by ID | None | RentalAgreementEnvelope |
| POST | /rental-agreement/inspect | Inspect a returned rental item and assess fees | None | RentalAgreementEnvelope |
| POST | /rental-agreement/list | List rental agreements with optional filters | None | RentalAgreementListEnvelope |
| POST | /rental-agreement/return-receive | Receive a returned rental item | None | RentalAgreementEnvelope |
| POST | /rental-agreement/return-request | Request return of a rented item | None | RentalAgreementEnvelope |
| POST | /return/authorize | Authorize return (draft) | ReturnAuthorizeRequest | ReturnEnvelope |
| POST | /return/get | Get return (draft) | ReturnGetRequest | ReturnEnvelope |
| POST | /return/inspect | Inspect return (draft) | ReturnInspectRequest | ReturnEnvelope |
| POST | /return/list | List returns (draft) | ReturnListRequest | ReturnListEnvelope |
| POST | /return/receive | Receive return (draft) | ReturnReceiveRequest | ReturnEnvelope |
| POST | /return/request | Request return (draft) | ReturnRequest | ReturnEnvelope |
| POST | /return/resolve | Resolve return (draft) | ReturnResolveRequest | ReturnEnvelope |
| POST | /routing/plan/create | Create routing plan (draft) | RoutingPlanCreateRequest | RoutingPlanEnvelope |
| POST | /routing/plan/get | Get routing plan (draft) | RoutingPlanGetRequest | RoutingPlanEnvelope |
| POST | /routing/plan/list | List routing plans (draft) | RoutingPlanListRequest | RoutingPlanListEnvelope |
| POST | /routing/policy/get | Get routing policy (draft) | RoutingPolicyGetRequest | RoutingPolicyEnvelope |
| POST | /routing/policy/list | List routing policies (draft) | RoutingPolicyListRequest | RoutingPolicyListEnvelope |
| POST | /routing/policy/set | Set routing policy (draft) | RoutingPolicySetRequest | RoutingPolicyEnvelope |
| POST | /self-service/order/get | Get order by ID for customer self-service | None | Envelope |
| POST | /self-service/order/list | List orders for a customer | None | Envelope |
| POST | /self-service/return/get | Get return by ID for customer self-service | None | Envelope |
| POST | /self-service/return/request | Request a customer-initiated return (G94) | None | Envelope |
| POST | /self-service/shipment/track | Get shipment tracking info for customer | None | Envelope |
| POST | /special-order/approve | Approve special order (draft) | SpecialOrderApproveRequest | SpecialOrderEnvelope |
| POST | /special-order/cancel | Cancel special order (draft) | SpecialOrderCancelRequest | SpecialOrderEnvelope |
| POST | /special-order/create | Create special order (draft) | SpecialOrderCreateRequest | SpecialOrderEnvelope |
| POST | /special-order/get | Get special order (draft) | SpecialOrderGetRequest | SpecialOrderEnvelope |
| POST | /special-order/list | List special orders (draft) | SpecialOrderListRequest | SpecialOrderListEnvelope |
| POST | /special-order/notify | Notify customer that special order has arrived | None | SpecialOrderEnvelope |
| POST | /special-order/pickup | Customer picks up special order and pays remaining balance | None | SpecialOrderEnvelope |
| POST | /special-order/status | Update special order status (generic FSM transition) | None | SpecialOrderEnvelope |
| POST | /special-order/submit | Submit special order (draft) | SpecialOrderSubmitRequest | SpecialOrderEnvelope |
| POST | /special-order/recalculate | Recalculate special order totals | SpecialOrderRecalculateRequest | SpecialOrderRecalculateEnvelope |
| GET | /stat | Health check | None | Envelope |
| POST | /tax/finalize | Finalize taxes (draft) | TaxFinalizeRequest | TaxRecordEnvelope |
| POST | /tax/policy/get | Get tax policy (draft) | TaxPolicyGetRequest | TaxPolicyEnvelope |
| POST | /tax/policy/list | List tax policies (draft) | TaxPolicyListRequest | TaxPolicyListEnvelope |
| POST | /tax/policy/set | Set tax policy (draft) | TaxPolicySetRequest | TaxPolicyEnvelope |
| POST | /tax/quote | Quote taxes (draft) | TaxQuoteRequest | TaxQuoteEnvelope |
| POST | /tender-policy/get | Fetch a tender policy by ID | None | Envelope |
| POST | /tender-policy/list | List tender policies with optional status filter | None | Envelope |
| POST | /tender-policy/set | Create or update a tender policy | None | Envelope |
| POST | /tender/capture | Capture tender (draft) | TenderCaptureRequest | TenderEnvelope |
| POST | /tender/get | Get tender (draft) | TenderGetRequest | TenderEnvelope |
| POST | /tender/list | List tenders (draft) | TenderListRequest | TenderListEnvelope |
| POST | /tender/settle | Settle tender liability (draft) | TenderSettleRequest | TenderEnvelope |
| POST | /tender/void | Void tender (draft) | TenderVoidRequest | TenderEnvelope |
| POST | /till/close | Close a till session with optional count | None | Envelope |
| POST | /till/get | Fetch a till by ID | None | Envelope |
| POST | /till/list | List tills with optional filters | None | Envelope |
| POST | /till/open | Open a new till session | None | Envelope |
| POST | /warranty-claim/approve | Approve a filed warranty claim | None | WarrantyClaimEnvelope |
| POST | /warranty-claim/file | File a warranty claim | None | WarrantyClaimEnvelope |
| POST | /warranty-claim/get | Get a warranty claim by claim_id | None | WarrantyClaimEnvelope |
| POST | /warranty-claim/list | List warranty claims by status, warranty_id, or customer_ref (paginated) | None | WarrantyClaimListEnvelope |
| POST | /warranty-claim/resolve | Resolve an approved warranty claim with disposition | None | WarrantyClaimEnvelope |
| POST | /warranty-config/get | Get per-org warranty config (L1) | None | Envelope |
| POST | /warranty-config/set | Set per-org warranty config (L1) | None | Envelope |
Call details
POST /appointment/book
Purpose: Book a new appointment
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /appointment/book",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /appointment/cancel
Purpose: Cancel an appointment
Notes: If this updates a revisioned record, expected_revision is required.
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /appointment/cancel",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /appointment/complete
Purpose: Complete an appointment
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /appointment/complete",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /appointment/confirm
Purpose: Confirm a booked appointment
Notes: If this updates a revisioned record, expected_revision is required.
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /appointment/confirm",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /appointment/get
Purpose: Get an appointment by ID
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /appointment/get",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /appointment/list
Purpose: List appointments with optional filters
Notes: Paginated; use limit and next_token.
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /appointment/list",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /appointment/no-show
Purpose: Mark appointment as no-show
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /appointment/no-show",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /appointment/reschedule
Purpose: Reschedule an appointment
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /appointment/reschedule",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /appointment/start
Purpose: Start an appointment (mark in progress)
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /appointment/start",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /backorder/approve
Purpose: Approve backorder (draft)
Notes: Approve backorder (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. If this updates a revisioned record, expected_revision is required (428 if missing; 409 on mismatch). Route class Tier A (p95 500ms).
Request schema: BackorderApproveRequest Response schema: BackorderEnvelope
Sample request (schema-derived)
json
{
"backorder_id": "string",
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"backorder": {
"backorder_id": "string",
"status": "active",
"order_id": "string"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /backorder/approve",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /backorder/cancel
Purpose: Cancel backorder (draft)
Notes: Cancel backorder (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier D (p95 350ms, p99 800ms).
Request schema: BackorderCancelRequest Response schema: BackorderEnvelope
Sample request (schema-derived)
json
{
"backorder_id": "string",
"cancel_code": "CODE1",
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"backorder": {
"backorder_id": "string",
"status": "active",
"order_id": "string"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /backorder/cancel",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /backorder/create
Purpose: Create backorder (draft)
Notes: Create backorder (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. If this updates a revisioned record, expected_revision is required (428 if missing; 409 on mismatch). Route class Tier D (p95 300ms, p99 600ms).
Request schema: BackorderCreateRequest Response schema: BackorderEnvelope
Sample request (schema-derived)
json
{
"backorder": {
"request_context": {
"orgcode": "ORGCODE",
"actor": "string",
"context_source": "session"
},
"reason": "example",
"source_refs": [
{
"kind": null,
"id": null
}
]
},
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"backorder": {
"backorder_id": "string",
"status": "active",
"order_id": "string"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /backorder/create",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /backorder/expire
Purpose: Expire backorder (draft)
Notes: Expire backorder (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier D (p95 300ms, p99 600ms).
Request schema: BackorderExpireRequest Response schema: BackorderEnvelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"backorder": {
"backorder_id": "string",
"status": "active",
"order_id": "string"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /backorder/expire",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /backorder/fulfill
Purpose: Fulfill backorder (draft)
Notes: Fulfill backorder (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier D (p95 300ms, p99 600ms).
Request schema: BackorderFulfillRequest Response schema: BackorderEnvelope
Sample request (schema-derived)
json
{
"backorder_id": "string",
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"backorder": {
"backorder_id": "string",
"status": "active",
"order_id": "string"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /backorder/fulfill",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /backorder/get
Purpose: Get backorder (draft)
Notes: Get backorder (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Org-scoped reads may return 404 for non-associated callers (anti-enumeration). Route class Tier B (p95 300ms).
Request schema: BackorderGetRequest Response schema: BackorderEnvelope
Sample request (schema-derived)
json
{
"backorder_id": "string"
}Sample response (shape-only)
json
{
"success": true,
"data": {
"backorder": {
"backorder_id": "string",
"status": "active",
"order_id": "string"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /backorder/get",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /backorder/list
Purpose: List backorders (draft)
Notes: List backorders (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Paginated with limit/next_token (default 8; clamp 1–256). Route class Tier B (p95 300ms).
Request schema: BackorderListRequest Response schema: BackorderListEnvelope
Sample request (schema-derived)
json
{
"status": "active",
"channel_code": "pos_generic",
"customer_ref": "string"
}Sample response (shape-only)
json
{
"success": true,
"data": {
"backorders": [
{
"backorder_id": "string",
"status": "active",
"order_id": "string"
}
]
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /backorder/list",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /backorder/partial-fulfill
Purpose: Partial fulfill backorder (draft)
Notes: Partial fulfill backorder (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier D (p95 300ms, p99 600ms).
Request schema: BackorderPartialFulfillRequest Response schema: BackorderEnvelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"backorder": {
"backorder_id": "string",
"status": "active",
"order_id": "string"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /backorder/partial-fulfill",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /backorder/promise
Purpose: Promise backorder (draft)
Notes: Promise backorder (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier D (p95 300ms, p99 600ms).
Request schema: BackorderPromiseRequest Response schema: BackorderEnvelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"backorder": {
"backorder_id": "string",
"status": "active",
"order_id": "string"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /backorder/promise",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /carrier/config/get
Purpose: Get carrier configuration
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"carrier": {}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /carrier/config/get",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /carrier/config/list
Purpose: List carrier configurations
Notes: Paginated; use limit and next_token.
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"carriers": [
{}
],
"next_token": "string"
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /carrier/config/list",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /carrier/config/set
Purpose: Set carrier configuration
Notes: If this updates a revisioned record, expected_revision is required.
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"carrier": {}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /carrier/config/set",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /carrier/config/status/set
Purpose: Set carrier configuration status
Notes: If this updates a revisioned record, expected_revision is required.
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"carrier": {}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /carrier/config/status/set",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /carrier/label/create
Purpose: Create shipping label
Notes: If this updates a revisioned record, expected_revision is required.
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"label_ref": "string",
"shipment_id": "string"
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /carrier/label/create",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /carrier/rate/quote
Purpose: Get carrier rate quotes
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"rates": [
{}
]
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /carrier/rate/quote",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /carrier/tracking/get
Purpose: Get carrier tracking info
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"shipment_id": "string",
"carrier_code": "CODE1",
"tracking_ref": "string"
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /carrier/tracking/get",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /channel/policy/get
Purpose: Get channel policy (draft)
Notes: Get channel policy (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Org-scoped reads may return 404 for non-associated callers (anti-enumeration). Route class Tier B (p95 300ms).
Request schema: ChannelPolicyGetRequest Response schema: ChannelPolicyEnvelope
Sample request (schema-derived)
json
{
"channel_code": "pos_generic"
}Sample response (shape-only)
json
{
"success": true,
"data": {
"policy": {
"channel_code": "pos_generic",
"policy": {
"sla": {
"sla_code": null,
"promise_by": null,
"ship_by": null
},
"substitution_policy": {
"allow_substitutions": null,
"mode": null,
"max_substitutions": null
}
},
"revision": 0
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /channel/policy/get",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /channel/policy/set
Purpose: Set channel policy (draft)
Notes: Set channel policy (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. If this updates a revisioned record, expected_revision is required (428 if missing; 409 on mismatch). Route class Tier B (p95 350ms, p99 800ms).
Request schema: ChannelPolicySetRequest Response schema: ChannelPolicyEnvelope
Sample request (schema-derived)
json
{
"channel_code": "pos_generic",
"policy": {
"sla": {
"sla_code": "CODE1",
"promise_by": "2026-01-01T00:00:00Z",
"ship_by": "2026-01-01T00:00:00Z"
},
"substitution_policy": {
"allow_substitutions": false,
"mode": "none",
"max_substitutions": 0
}
},
"request_context": {
"orgcode": "ORGCODE",
"actor": "string",
"context_source": "session"
},
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"policy": {
"channel_code": "pos_generic",
"policy": {
"sla": {
"sla_code": null,
"promise_by": null,
"ship_by": null
},
"substitution_policy": {
"allow_substitutions": null,
"mode": null,
"max_substitutions": null
}
},
"revision": 0
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /channel/policy/set",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /checkout
Purpose: Composite checkout (draft)
Notes: Composite checkout orchestration. Creates order, places it, commits inventory via ICS, captures tender, and optionally computes inline tax. When checkout.fast_commit is true, uses a single direct-commit step (ICS /commit/create-direct) bypassing reserve+allocate phases — ideal for in-store POS. Otherwise uses standard 3-phase reserve/allocate/commit. On failure, performs compensating rollback (promise release + order cancel). Auth is via headers. Route class Tier D (p95 800ms / 400ms fast, p99 1500ms / 700ms fast).
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"checkout": {
"order_id": "string",
"order": {},
"tender": {}
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /checkout",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /comment
Purpose: Add comment (draft)
Notes: Add comment (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier A (p95 500ms).
Request schema: CommentAddRequest Response schema: CommentEnvelope
Sample request (schema-derived)
json
{
"target_type": "string",
"target_id": "string"
}Sample response (shape-only)
json
{
"success": true,
"data": {
"comment": {
"comment_id": "string",
"target_type": "string",
"target_id": "string",
"status": "current",
"current_revision": 0,
"created_at": "2026-01-01T00:00:00Z"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /comment",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /comment/get
Purpose: Get comment (draft)
Notes: Get comment (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Org-scoped reads may return 404 for non-associated callers (anti-enumeration). Route class Tier B (p95 300ms).
Request schema: CommentGetRequest Response schema: CommentEnvelope
Sample request (schema-derived)
json
{
"comment_id": "string",
"target_type": "string",
"target_id": "string"
}Sample response (shape-only)
json
{
"success": true,
"data": {
"comment": {
"comment_id": "string",
"target_type": "string",
"target_id": "string",
"status": "current",
"current_revision": 0,
"created_at": "2026-01-01T00:00:00Z"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /comment/get",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /comment/list
Purpose: List comments (draft)
Notes: List comments (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Paginated with limit/next_token (default 8; clamp 1–256). Route class Tier B (p95 300ms).
Request schema: CommentListRequest Response schema: CommentListEnvelope
Sample request (schema-derived)
json
{
"target_type": "string",
"target_id": "string",
"user_guid": "USER_GUID"
}Sample response (shape-only)
json
{
"success": true,
"data": {
"items": [
{
"comment_id": "string",
"target_type": "string",
"target_id": "string",
"status": "current",
"current_revision": 0,
"created_at": "2026-01-01T00:00:00Z"
}
]
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /comment/list",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /comment/report
Purpose: Report top-N largest comments (draft)
Notes: Report top-N largest comments (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier A (p95 500ms).
Request schema: CommentReportRequest Response schema: CommentReportEnvelope
Sample request (schema-derived)
json
{
"limit": 8
}Sample response (shape-only)
json
{
"success": true,
"data": {
"items": [
{
"comment_id": "string",
"target_type": "string",
"target_id": "string"
}
]
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /comment/report",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /comment/revise
Purpose: Revise comment (draft)
Notes: Revise comment (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier A (p95 500ms).
Request schema: CommentReviseRequest Response schema: CommentEnvelope
Sample request (schema-derived)
json
{
"comment_id": "string",
"target_type": "string",
"target_id": "string"
}Sample response (shape-only)
json
{
"success": true,
"data": {
"comment": {
"comment_id": "string",
"target_type": "string",
"target_id": "string",
"status": "current",
"current_revision": 0,
"created_at": "2026-01-01T00:00:00Z"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /comment/revise",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /comment/status
Purpose: Update comment status (draft)
Notes: Update comment status (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. If this updates a revisioned record, expected_revision is required (428 if missing; 409 on mismatch). Route class Tier A (p95 500ms).
Request schema: CommentStatusRequest Response schema: CommentEnvelope
Sample request (schema-derived)
json
{
"comment_id": "string",
"target_type": "string",
"target_id": "string",
"status": "current"
}Sample response (shape-only)
json
{
"success": true,
"data": {
"comment": {
"comment_id": "string",
"target_type": "string",
"target_id": "string",
"status": "current",
"current_revision": 0,
"created_at": "2026-01-01T00:00:00Z"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /comment/status",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /delivery-slot/get
Purpose: Get a delivery slot by ID
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /delivery-slot/get",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /delivery-slot/list
Purpose: List delivery slots with optional filters
Notes: Paginated; use limit and next_token.
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /delivery-slot/list",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /delivery-slot/set
Purpose: Create or update a delivery slot
Notes: If this updates a revisioned record, expected_revision is required.
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /delivery-slot/set",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /delivery-slot/status/set
Purpose: Activate or deactivate a delivery slot
Notes: If this updates a revisioned record, expected_revision is required.
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /delivery-slot/status/set",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /edi/get
Purpose: Get EDI record (draft)
Notes: Get EDI record (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Org-scoped reads may return 404 for non-associated callers (anti-enumeration). Route class Tier B (p95 300ms).
Request schema: EdiGetRequest Response schema: EdiEnvelope
Sample request (schema-derived)
json
{
"edi_id": "string"
}Sample response (shape-only)
json
{
"success": true,
"data": {
"edi_record": {
"edi_id": "string",
"status": "received",
"direction": "inbound",
"doc_type": "string"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /edi/get",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /edi/list
Purpose: List EDI records (draft)
Notes: List EDI records (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Paginated with limit/next_token (default 8; clamp 1–256). Route class Tier B (p95 300ms).
Request schema: EdiListRequest Response schema: EdiListEnvelope
Sample request (schema-derived)
json
{
"status": "received",
"direction": "inbound",
"doc_type": "string"
}Sample response (shape-only)
json
{
"success": true,
"data": {
"edi_records": [
{
"edi_id": "string",
"status": "received",
"direction": "inbound",
"doc_type": "string"
}
]
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /edi/list",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /edi/record
Purpose: Record EDI message (draft)
Notes: Record EDI message (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. If this updates a revisioned record, expected_revision is required (428 if missing; 409 on mismatch). Route class Tier A (p95 500ms).
Request schema: EdiRecordRequest Response schema: EdiEnvelope
Sample request (schema-derived)
json
{
"edi_record": {
"direction": "inbound",
"doc_type": "string"
},
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"edi_record": {
"edi_id": "string",
"status": "received",
"direction": "inbound",
"doc_type": "string"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /edi/record",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /edi/status/set
Purpose: Set EDI record status (draft)
Notes: Set EDI record status (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. If this updates a revisioned record, expected_revision is required (428 if missing; 409 on mismatch). Route class Tier A (p95 500ms).
Request schema: EdiStatusSetRequest Response schema: EdiEnvelope
Sample request (schema-derived)
json
{
"edi_id": "string",
"status": "received",
"expected_revision": 0,
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"edi_record": {
"edi_id": "string",
"status": "received",
"direction": "inbound",
"doc_type": "string"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /edi/status/set",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /eligibility/check
Purpose: Check item eligibility for a given tender type
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"eligible": false,
"results": [
{
"variant_id": "VARIANT_ID",
"eligible": false,
"reasons": [
{}
]
}
]
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /eligibility/check",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /fulfillment/shipment/cancel
Purpose: Cancel shipment (draft)
Notes: Cancel shipment (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier D (p95 350ms, p99 700ms).
Request schema: ShipmentCancelRequest Response schema: ShipmentEnvelope
Sample request (schema-derived)
json
{
"shipment_id": "string",
"cancel_code": "CODE1",
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"shipment": {
"shipment_id": "string",
"order_id": "string",
"status": "active"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /fulfillment/shipment/cancel",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /fulfillment/shipment/create
Purpose: Create fulfillment shipment (draft)
Notes: Create fulfillment shipment (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. If this updates a revisioned record, expected_revision is required (428 if missing; 409 on mismatch). Route class Tier D (p95 300ms, p99 600ms).
Request schema: ShipmentCreateRequest Response schema: ShipmentEnvelope
Sample request (schema-derived)
json
{
"shipment": {
"request_context": {
"orgcode": "ORGCODE",
"actor": "string",
"context_source": "session"
},
"reason": "example",
"order_id": "string",
"lines": [
{
"qty": null
}
],
"source_refs": [
{
"kind": null,
"id": null
}
]
},
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"shipment": {
"shipment_id": "string",
"order_id": "string",
"status": "active"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /fulfillment/shipment/create",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /fulfillment/shipment/deliver
Purpose: Mark shipment delivered (draft)
Notes: Mark shipment delivered (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier D (p95 300ms, p99 700ms).
Request schema: ShipmentDeliverRequest Response schema: ShipmentEnvelope
Sample request (schema-derived)
json
{
"shipment_id": "string",
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"shipment": {
"shipment_id": "string",
"order_id": "string",
"status": "active"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /fulfillment/shipment/deliver",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /fulfillment/shipment/delivery/complete
Purpose: Mark delivery as completed
Request schema: None Response schema: ShipmentEnvelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"shipment": {
"shipment_id": "string",
"order_id": "string",
"status": "active"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /fulfillment/shipment/delivery/complete",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /fulfillment/shipment/delivery/schedule
Purpose: Schedule delivery for a shipment
Request schema: None Response schema: ShipmentEnvelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"shipment": {
"shipment_id": "string",
"order_id": "string",
"status": "active"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /fulfillment/shipment/delivery/schedule",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /fulfillment/shipment/exception
Purpose: Mark shipment exception (draft)
Notes: Mark shipment exception (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier D (p95 350ms, p99 700ms).
Request schema: ShipmentExceptionRequest Response schema: ShipmentEnvelope
Sample request (schema-derived)
json
{
"shipment_id": "string",
"exception_code": "CODE1",
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"shipment": {
"shipment_id": "string",
"order_id": "string",
"status": "active"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /fulfillment/shipment/exception",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /fulfillment/shipment/exception/carrier-failure
Purpose: Record carrier failure exception (draft)
Notes: Record carrier failure exception (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier D (p95 350ms, p99 700ms).
Request schema: ShipmentExceptionCarrierFailureRequest Response schema: ShipmentEnvelope
Sample request (schema-derived)
json
{
"shipment_id": "string",
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"shipment": {
"shipment_id": "string",
"order_id": "string",
"status": "active"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /fulfillment/shipment/exception/carrier-failure",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /fulfillment/shipment/exception/damaged
Purpose: Record damaged exception (draft)
Notes: Record damaged exception (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier D (p95 350ms, p99 700ms).
Request schema: ShipmentExceptionDamagedRequest Response schema: ShipmentEnvelope
Sample request (schema-derived)
json
{
"shipment_id": "string",
"line_updates": [
{
"line_id": "string"
}
],
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"shipment": {
"shipment_id": "string",
"order_id": "string",
"status": "active"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /fulfillment/shipment/exception/damaged",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /fulfillment/shipment/exception/partial
Purpose: Record partial fulfillment exception (draft)
Notes: Record partial fulfillment exception (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier D (p95 350ms, p99 700ms).
Request schema: ShipmentExceptionPartialRequest Response schema: ShipmentEnvelope
Sample request (schema-derived)
json
{
"shipment_id": "string",
"line_updates": [
{
"line_id": "string"
}
],
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"shipment": {
"shipment_id": "string",
"order_id": "string",
"status": "active"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /fulfillment/shipment/exception/partial",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /fulfillment/shipment/exception/resolve
Purpose: Resolve shipment exception (draft)
Notes: Resolve shipment exception (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Org-scoped reads may return 404 for non-associated callers (anti-enumeration). Route class Tier D (p95 350ms, p99 700ms).
Request schema: ShipmentExceptionResolveRequest Response schema: ShipmentEnvelope
Sample request (schema-derived)
json
{
"shipment_id": "string",
"resolution_code": "CODE1",
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"shipment": {
"shipment_id": "string",
"order_id": "string",
"status": "active"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /fulfillment/shipment/exception/resolve",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /fulfillment/shipment/exception/short-pick
Purpose: Record short pick exception (draft)
Notes: Record short pick exception (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier D (p95 350ms, p99 700ms).
Request schema: ShipmentExceptionShortPickRequest Response schema: ShipmentEnvelope
Sample request (schema-derived)
json
{
"shipment_id": "string",
"line_updates": [
{
"line_id": "string"
}
],
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"shipment": {
"shipment_id": "string",
"order_id": "string",
"status": "active"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /fulfillment/shipment/exception/short-pick",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /fulfillment/shipment/get
Purpose: Get shipment (draft)
Notes: Get shipment (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Org-scoped reads may return 404 for non-associated callers (anti-enumeration). Route class Tier B (p95 300ms).
Request schema: ShipmentGetRequest Response schema: ShipmentEnvelope
Sample request (schema-derived)
json
{
"shipment_id": "string"
}Sample response (shape-only)
json
{
"success": true,
"data": {
"shipment": {
"shipment_id": "string",
"order_id": "string",
"status": "active"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /fulfillment/shipment/get",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /fulfillment/shipment/install/complete
Purpose: Mark installation as completed
Request schema: None Response schema: ShipmentEnvelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"shipment": {
"shipment_id": "string",
"order_id": "string",
"status": "active"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /fulfillment/shipment/install/complete",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /fulfillment/shipment/install/schedule
Purpose: Schedule installation for a delivered shipment
Request schema: None Response schema: ShipmentEnvelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"shipment": {
"shipment_id": "string",
"order_id": "string",
"status": "active"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /fulfillment/shipment/install/schedule",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /fulfillment/shipment/list
Purpose: List shipments (draft)
Notes: List shipments (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Paginated with limit/next_token (default 8; clamp 1–256). Route class Tier B (p95 300ms).
Request schema: ShipmentListRequest Response schema: ShipmentListEnvelope
Sample request (schema-derived)
json
{
"status": "active",
"order_id": "string",
"limit": 8
}Sample response (shape-only)
json
{
"success": true,
"data": {
"shipments": [
{
"shipment_id": "string",
"order_id": "string",
"status": "active"
}
]
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /fulfillment/shipment/list",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /fulfillment/shipment/pack
Purpose: Mark shipment packed (draft)
Notes: Mark shipment packed (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier D (p95 300ms, p99 700ms).
Request schema: ShipmentPackRequest Response schema: ShipmentEnvelope
Sample request (schema-derived)
json
{
"shipment_id": "string",
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"shipment": {
"shipment_id": "string",
"order_id": "string",
"status": "active"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /fulfillment/shipment/pack",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /fulfillment/shipment/pick
Purpose: Mark shipment picked (draft)
Notes: Mark shipment picked (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier D (p95 300ms, p99 700ms).
Request schema: ShipmentPickRequest Response schema: ShipmentEnvelope
Sample request (schema-derived)
json
{
"shipment_id": "string",
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"shipment": {
"shipment_id": "string",
"order_id": "string",
"status": "active"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /fulfillment/shipment/pick",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /fulfillment/shipment/pickup/complete
Purpose: Mark shipment pickup completed (draft)
Notes: Mark shipment pickup completed (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier D (p95 300ms, p99 700ms).
Request schema: ShipmentPickupCompleteRequest Response schema: ShipmentEnvelope
Sample request (schema-derived)
json
{
"shipment_id": "string",
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"shipment": {
"shipment_id": "string",
"order_id": "string",
"status": "active"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /fulfillment/shipment/pickup/complete",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /fulfillment/shipment/pickup/no_show
Purpose: Mark shipment pickup no-show (draft)
Notes: Mark shipment pickup no-show (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier D (p95 300ms, p99 700ms).
Request schema: ShipmentPickupNoShowRequest Response schema: ShipmentEnvelope
Sample request (schema-derived)
json
{
"shipment_id": "string",
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"shipment": {
"shipment_id": "string",
"order_id": "string",
"status": "active"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /fulfillment/shipment/pickup/no_show",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /fulfillment/shipment/pickup/ready
Purpose: Mark shipment pickup ready (draft)
Notes: Mark shipment pickup ready (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier D (p95 300ms, p99 700ms).
Request schema: ShipmentPickupReadyRequest Response schema: ShipmentEnvelope
Sample request (schema-derived)
json
{
"shipment_id": "string",
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"shipment": {
"shipment_id": "string",
"order_id": "string",
"status": "active"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /fulfillment/shipment/pickup/ready",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /fulfillment/shipment/ship
Purpose: Mark shipment shipped (draft)
Notes: Mark shipment shipped (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier D (p95 300ms, p99 700ms).
Request schema: ShipmentShipRequest Response schema: ShipmentEnvelope
Sample request (schema-derived)
json
{
"shipment_id": "string",
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"shipment": {
"shipment_id": "string",
"order_id": "string",
"status": "active"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /fulfillment/shipment/ship",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /fulfillment/shipment/substitution/apply
Purpose: Apply substitution to shipment line (draft)
Notes: Apply substitution to shipment line (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier D (p95 350ms, p99 700ms).
Request schema: ShipmentSubstitutionApplyRequest Response schema: ShipmentEnvelope
Sample request (schema-derived)
json
{
"shipment_id": "string",
"line_id": "string",
"substitution": {
"substitute_variant_id": "VARIANT_ID",
"reason_code": "example"
},
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"shipment": {
"shipment_id": "string",
"order_id": "string",
"status": "active"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /fulfillment/shipment/substitution/apply",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /inbox/create
Purpose: Create inbox notification (draft)
Notes: Create inbox notification (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. If this updates a revisioned record, expected_revision is required (428 if missing; 409 on mismatch). Route class Tier A (p95 500ms).
Request schema: InboxCreateRequest Response schema: InboxEnvelope
Sample request (schema-derived)
json
{
"team_guid": "string",
"title": "string"
}Sample response (shape-only)
json
{
"success": true,
"data": {
"notification": {
"notification_id": "string",
"team_guid": "string",
"status": "inbox",
"state": "pending",
"priority": "low",
"title": "string"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /inbox/create",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /inbox/get
Purpose: Get inbox notification (draft)
Notes: Get inbox notification (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Org-scoped reads may return 404 for non-associated callers (anti-enumeration). Route class Tier B (p95 300ms).
Request schema: InboxGetRequest Response schema: InboxEnvelope
Sample request (schema-derived)
json
{
"notification_id": "string"
}Sample response (shape-only)
json
{
"success": true,
"data": {
"notification": {
"notification_id": "string",
"team_guid": "string",
"status": "inbox",
"state": "pending",
"priority": "low",
"title": "string"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /inbox/get",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /inbox/list
Purpose: List inbox notifications (draft)
Notes: List inbox notifications (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Paginated with limit/next_token (default 8; clamp 1–256). Route class Tier B (p95 300ms).
Request schema: InboxListRequest Response schema: InboxListEnvelope
Sample request (schema-derived)
json
{
"team_guid": "string",
"org_wide": false,
"status": "inbox"
}Sample response (shape-only)
json
{
"success": true,
"data": {
"items": [
{
"notification_id": "string",
"team_guid": "string",
"status": "inbox",
"state": "pending",
"priority": "low",
"title": "string"
}
]
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /inbox/list",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /inbox/state
Purpose: Update inbox state (draft)
Notes: Update inbox state (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier A (p95 500ms).
Request schema: InboxStateRequest Response schema: InboxEnvelope
Sample request (schema-derived)
json
{
"notification_id": "string",
"state": "pending"
}Sample response (shape-only)
json
{
"success": true,
"data": {
"notification": {
"notification_id": "string",
"team_guid": "string",
"status": "inbox",
"state": "pending",
"priority": "low",
"title": "string"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /inbox/state",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /inbox/status
Purpose: Update inbox status (draft)
Notes: Update inbox status (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. If this updates a revisioned record, expected_revision is required (428 if missing; 409 on mismatch). Route class Tier A (p95 500ms).
Request schema: InboxStatusRequest Response schema: InboxEnvelope
Sample request (schema-derived)
json
{
"notification_id": "string",
"status": "inbox"
}Sample response (shape-only)
json
{
"success": true,
"data": {
"notification": {
"notification_id": "string",
"team_guid": "string",
"status": "inbox",
"state": "pending",
"priority": "low",
"title": "string"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /inbox/status",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /layaway/cancel
Purpose: Cancel a layaway
Notes: Cancels a pending layaway. Calculates refund (total_paid minus restocking fee and service fee). Gated by allow_layaway_cancel policy.
Request schema: None Response schema: LayawayCancelEnvelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"note": "See LayawayCancelEnvelope"
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /layaway/cancel",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /layaway/create
Purpose: Create a layaway
Notes: Creates a layaway with initial deposit. Validates minimum deposit against channel policy (default 20%). Snapshots layaway policy at creation time. Calculates service fee and expiration date.
Request schema: None Response schema: LayawayEnvelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"note": "See LayawayEnvelope"
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /layaway/create",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /layaway/list
Purpose: List layaways
Notes: List layaways by status, customer_ref, or logical_guid. Paginated with limit/next_token.
Request schema: None Response schema: LayawayListEnvelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"note": "See LayawayListEnvelope"
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /layaway/list",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /layaway/partial-pickup
Purpose: Partial pickup from layaway
Notes: Releases specific lines from a pending layaway. Gated by allow_layaway_partial_pickup policy. Validates that total_paid covers the value of all picked items.
Request schema: None Response schema: LayawayEnvelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"note": "See LayawayEnvelope"
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /layaway/partial-pickup",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /layaway/payment
Purpose: Record layaway payment
Notes: Records a payment against a pending layaway. If balance reaches zero, transitions to completed. Emits layaway-payment or layaway-completed event.
Request schema: None Response schema: LayawayEnvelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"note": "See LayawayEnvelope"
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /layaway/payment",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /layaway/recall
Purpose: Recall layaway with payment history
Notes: Returns layaway details and full payment history. Read-only basket recall.
Request schema: None Response schema: LayawayRecallEnvelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"note": "See LayawayRecallEnvelope"
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /layaway/recall",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /order/cancel
Purpose: Cancel order (draft)
Notes: Cancel order (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier D (p95 350ms, p99 800ms).
Request schema: OrderCancelRequest Response schema: OrderEnvelope
Sample request (schema-derived)
json
{
"order_id": "string",
"cancel_code": "CODE1",
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"order": {
"order_id": "string",
"status": "active",
"channel_code": "pos_generic"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /order/cancel",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /order/close
Purpose: Close order (draft)
Notes: Close order (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier D (p95 300ms, p99 600ms).
Request schema: OrderCloseRequest Response schema: OrderEnvelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"order": {
"order_id": "string",
"status": "active",
"channel_code": "pos_generic"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /order/close",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /order/create
Purpose: Create order (draft)
Notes: Create order (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. If this updates a revisioned record, expected_revision is required (428 if missing; 409 on mismatch). Route class Tier D (p95 300ms, p99 600ms).
Request schema: OrderCreateRequest Response schema: OrderEnvelope
Sample request (schema-derived)
json
{
"order": {
"request_context": {
"orgcode": "ORGCODE",
"actor": "string",
"context_source": "session"
},
"reason": "example",
"source_refs": [
{
"kind": null,
"id": null
}
]
},
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"order": {
"order_id": "string",
"status": "active",
"channel_code": "pos_generic"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /order/create",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /order/fulfill
Purpose: Fulfill order (draft)
Notes: Fulfill order (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier D (p95 300ms, p99 600ms).
Request schema: OrderFulfillRequest Response schema: OrderEnvelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"order": {
"order_id": "string",
"status": "active",
"channel_code": "pos_generic"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /order/fulfill",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /order/get
Purpose: Get order (draft)
Notes: Get order (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Org-scoped reads may return 404 for non-associated callers (anti-enumeration). Route class Tier B (p95 300ms).
Request schema: OrderGetRequest Response schema: OrderEnvelope
Sample request (schema-derived)
json
{
"order_id": "string"
}Sample response (shape-only)
json
{
"success": true,
"data": {
"order": {
"order_id": "string",
"status": "active",
"channel_code": "pos_generic"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /order/get",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /order/line/cancel
Purpose: Cancel order line quantities (partial cancel)
Notes: Cancel order line quantities (partial cancel). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier D (p95 350ms, p99 800ms).
Request schema: OrderLineCancelRequest Response schema: OrderEnvelope
Sample request (schema-derived)
json
{
"order_id": "string",
"line_id": "string",
"cancel_qty": {
"qty": 0,
"uom": "string"
},
"cancel_reason_code": "example",
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"order": {
"order_id": "string",
"status": "active",
"channel_code": "pos_generic"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /order/line/cancel",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /order/list
Purpose: List orders (draft)
Notes: List orders (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Paginated with limit/next_token (default 8; clamp 1–256). Route class Tier B (p95 300ms).
Request schema: OrderListRequest Response schema: OrderListEnvelope
Sample request (schema-derived)
json
{
"status": "active",
"channel_code": "pos_generic",
"customer_ref": "string"
}Sample response (shape-only)
json
{
"success": true,
"data": {
"orders": [
{
"order_id": "string",
"status": "active",
"channel_code": "pos_generic"
}
]
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /order/list",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /order/place
Purpose: Place order (draft)
Notes: Place order (draft). Verifies product compliance against PVM catalog (H6) and price validity against PPM active price entries (M9). Returns 409 price-drift-detected if any line's unit_price does not match an active PPM sell_price for the variant. Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier D (p95 300ms, p99 600ms).
Request schema: OrderPlaceRequest Response schema: OrderEnvelope
Sample request (schema-derived)
json
{
"order_id": "string",
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"order": {
"order_id": "string",
"status": "active",
"channel_code": "pos_generic"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /order/place",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /order/promise/allocate
Purpose: Allocate reserved inventory (draft)
Notes: Allocate reserved inventory (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier D (p95 300ms, p99 700ms).
Request schema: OrderPromiseAllocateRequest Response schema: OrderEnvelope
Sample request (schema-derived)
json
{
"order_id": "string",
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"order": {
"order_id": "string",
"status": "active",
"channel_code": "pos_generic"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /order/promise/allocate",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /order/promise/commit
Purpose: Commit allocated inventory (draft)
Notes: Commit allocated inventory (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. If this updates a revisioned record, expected_revision is required (428 if missing; 409 on mismatch). Route class Tier D (p95 300ms, p99 700ms).
Request schema: OrderPromiseCommitRequest Response schema: OrderEnvelope
Sample request (schema-derived)
json
{
"order_id": "string",
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"order": {
"order_id": "string",
"status": "active",
"channel_code": "pos_generic"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /order/promise/commit",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /order/promise/commit-direct
Purpose: Direct commit inventory (fast POS) (draft)
Notes: Direct commit — single-step inventory commit that bypasses reservation and allocation phases. Calls ICS /commit/create-direct to atomically move stock from available to committed. Designed for in-store POS fast checkout. Sets commit_mode: 'direct' on the promise record. Route class Tier D (p95 250ms, p99 500ms).
Request schema: OrderPromiseCommitRequest Response schema: OrderEnvelope
Sample request (schema-derived)
json
{
"order_id": "string",
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"order": {
"order_id": "string",
"status": "active",
"channel_code": "pos_generic"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /order/promise/commit-direct",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /order/promise/quote
Purpose: Quote inventory promise (ATP/CTP) (draft)
Notes: Quote inventory promise (ATP/CTP) (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier C (p95 400ms, p99 900ms).
Request schema: OrderPromiseQuoteRequest Response schema: PromiseQuoteEnvelope
Sample request (schema-derived)
json
{
"lines": [
{
"qty": {
"qty": null,
"uom": null
}
}
],
"candidates": [
{
"logical_guid": "LOGICAL_GUID"
}
],
"request_context": {
"orgcode": "ORGCODE",
"actor": "string",
"context_source": "session"
},
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"quote": {
"quote_id": "string",
"policy": {
"mode": "closest",
"split_shipments": false,
"max_splits": 0
},
"plan": {
"plan_id": "string",
"status": "planned",
"policy": {
"mode": null,
"split_shipments": null,
"max_splits": null
},
"shipments": [
{}
],
"unassigned_lines": [
{}
]
},
"options": [
{
"logical_guid": null,
"capacity_ok": null,
"atp_ok": null,
"ctp_ok": null,
"confidence": null,
"lines": null
}
]
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /order/promise/quote",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /order/promise/release
Purpose: Release inventory promise (draft)
Notes: Release inventory promise (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier D (p95 350ms, p99 800ms).
Request schema: OrderPromiseReleaseRequest Response schema: OrderEnvelope
Sample request (schema-derived)
json
{
"order_id": "string",
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"order": {
"order_id": "string",
"status": "active",
"channel_code": "pos_generic"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /order/promise/release",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /order/promise/reserve
Purpose: Reserve inventory for order (draft)
Notes: Reserve inventory for order (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier D (p95 300ms, p99 700ms).
Request schema: OrderPromiseReserveRequest Response schema: OrderEnvelope
Sample request (schema-derived)
json
{
"order_id": "string",
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"order": {
"order_id": "string",
"status": "active",
"channel_code": "pos_generic"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /order/promise/reserve",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /order/search
Purpose: Search orders (partial match)
Notes: Search orders (partial match). Auth is via headers; org identity uses x-orgcode or body placement as documented. Search results may be eventually consistent; use exact-match reads for immediate consistency. Route class Tier C (p95 250ms, p99 600ms).
Request schema: OrderSearchRequest Response schema: OrderListEnvelope
Sample request (schema-derived)
json
{
"q": "string"
}Sample response (shape-only)
json
{
"success": true,
"data": {
"orders": [
{
"order_id": "string",
"status": "active",
"channel_code": "pos_generic"
}
]
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /order/search",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /payment-gateway/get
Purpose: Fetch a payment gateway by ID
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"payment_gateway": {}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /payment-gateway/get",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /payment-gateway/list
Purpose: List payment gateways with optional status filter
Notes: Paginated; use limit and next_token.
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"payment_gateways": [
{}
],
"next_token": {},
"count": 0
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /payment-gateway/list",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /payment-gateway/set
Purpose: Create or update a payment gateway configuration
Notes: If this updates a revisioned record, expected_revision is required.
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"payment_gateway": {}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /payment-gateway/set",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /payment-gateway/status/set
Purpose: Update payment gateway status
Notes: If this updates a revisioned record, expected_revision is required.
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"payment_gateway": {}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /payment-gateway/status/set",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /pos/audit/query
Purpose: Query POS audit trail
Notes: By time range + optional filters (station, actor, action, order). Requires scm_pos_admin.
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /pos/audit/query",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /pos/audit/transaction
Purpose: Audit trail for specific order
Notes: All audit records for a specific order, chronological.
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /pos/audit/transaction",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /pos/complete
Purpose: Complete POS sale
Notes: Verifies tender balance, commits inventory (ICS fast path), generates receipt, emits sale-completed event.
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /pos/complete",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /pos/customer/attach
Purpose: Attach customer to order
Notes: Re-resolves all line prices, computes effective tenders, loyalty preview (uses real CRM policy), fraud hold check. Returns 409 fraud-hold-active if customer has active fraud hold; set acknowledge_fraud_hold: true to proceed despite hold.
Request schema: (inline) Response schema: Envelope
Request params:
| Param | Type | Required | Notes |
|---|---|---|---|
| order_id | string | yes | Order to attach customer to |
| customer_guid | string | yes | CRM customer identifier |
| acknowledge_fraud_hold | boolean | no | Set true to proceed despite active fraud hold |
Sample request (schema-derived)
json
{
"order_id": "ord_abc123",
"customer_guid": "cust_xyz789",
"acknowledge_fraud_hold": false
}Sample response (shape-only)
json
{
"success": true,
"data": {},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /pos/customer/attach",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /pos/customer/detach
Purpose: Detach customer from order
Notes: Reverts to base pricing.
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /pos/customer/detach",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /pos/customer/search
Purpose: Search customers for POS attachment
Notes: By phone, email, name, or customer_code.
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /pos/customer/search",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /pos/discount/line
Purpose: Apply line-level discount
Notes: Percent or amount discount with profile enforcement (limits, dept overrides, below-cost check).
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /pos/discount/line",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /pos/discount/line/remove
Purpose: Remove line-level manual discount
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /pos/discount/line/remove",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /pos/discount/order
Purpose: Apply order-level discount (distributed proportionally)
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /pos/discount/order",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /pos/discount/order/remove
Purpose: Remove all manual discounts from order
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /pos/discount/order/remove",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /pos/hold
Purpose: Hold (park) current sale
Notes: Transitions draft order to held status with station affinity.
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /pos/hold",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /pos/hold/list
Purpose: List held sales
Notes: Paginated. Station-filtered for cashiers, all for managers.
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /pos/hold/list",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /pos/recall
Purpose: Recall held sale
Notes: Restores held order to draft. Cross-station requires scm_pos_admin.
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /pos/recall",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /pos/return/process
Purpose: Process POS return
Notes: Auto-authorize, auto-receive, ICS restock, refund issue in single call.
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /pos/return/process",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /pos/return/start
Purpose: Start return — look up receipt
Notes: Receipt number lookup, show returnable lines with already-returned quantities.
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /pos/return/start",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /pos/scan
Purpose: Scan barcode/PLU — composite product+price+stock resolution
Notes: Single round-trip barcode→product→dept gating→price→stock. Target <100ms via direct DDB reads.
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /pos/scan",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /pos/search
Purpose: Item lookup search (fallback for non-barcode)
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /pos/search",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /pos/tax/classes
Purpose: List tax classes for jurisdiction
Notes: For misc sale tax class selection.
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /pos/tax/classes",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /pos/tax/recalc
Purpose: Recalculate basket taxes
Notes: Wraps existing tax engine. Supports tax-inclusive (AU/UK/EU) and tax-exclusive (US/CA).
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /pos/tax/recalc",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /pos/cash/paid-in
Purpose: Record cash paid into till
Notes: Cash received into the drawer from outside normal sales (change fund replenishment, etc.). Route class Tier C (p95 200ms, p99 500ms). Idempotency: org_till scope, 24h retention.
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{ "till_id": "TILL_GUID", "amount_minor": 5000, "reason": "Change fund replenishment" }Sample response (shape-only)
json
{
"success": true,
"data": {},
"stats": { "call": "POST /pos/cash/paid-in", "service": "scm" }
}POST /pos/cash/paid-out
Purpose: Record cash paid out from till
Notes: Cash removed from drawer for a business expense. Profile max_paid_out enforced. Route class Tier C (p95 300ms, p99 600ms). Idempotency: org_till scope, 24h retention.
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{ "till_id": "TILL_GUID", "amount_minor": 2500, "paid_to": "Office supplies", "reason": "Printer ink" }Sample response (shape-only)
json
{
"success": true,
"data": {},
"stats": { "call": "POST /pos/cash/paid-out", "service": "scm" }
}POST /pos/cash/deposit
Purpose: Record bank deposit from till
Notes: Cash removed from till for bank deposit. Requires scm_pos_admin role. Route class Tier C (p95 200ms, p99 500ms). Idempotency: org_till scope, 24h retention.
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{ "till_id": "TILL_GUID", "amount_minor": 50000, "reference": "DEP-2026-0325" }Sample response (shape-only)
json
{
"success": true,
"data": {},
"stats": { "call": "POST /pos/cash/deposit", "service": "scm" }
}POST /pos/cash/drawer
Purpose: Open cash drawer without a sale
Notes: No-sale drawer open. Profile allow_open_drawer enforced. Route class Tier C (p95 200ms, p99 500ms).
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{ "till_id": "TILL_GUID", "reason": "Customer change request" }Sample response (shape-only)
json
{
"success": true,
"data": {},
"stats": { "call": "POST /pos/cash/drawer", "service": "scm" }
}POST /pos/cash/movements
Purpose: List cash movements
Notes: Query movements by till, facility, or org. Paginated, reverse chronological. Route class Tier B (p95 200ms, p99 500ms).
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{ "till_id": "TILL_GUID", "limit": 50 }Sample response (shape-only)
json
{
"success": true,
"data": { "items": [], "next_token": null },
"stats": { "call": "POST /pos/cash/movements", "service": "scm" }
}POST /pos/till/report
Purpose: Generate till/shift summary report
Notes: Aggregated sales, tender breakdown, cash movements, expected vs counted. Route class Tier B (p95 500ms, p99 1000ms).
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{ "till_id": "TILL_GUID" }Sample response (shape-only)
json
{
"success": true,
"data": {},
"stats": { "call": "POST /pos/till/report", "service": "scm" }
}POST /pos/reprint
Purpose: Reprint receipt
Notes: Look up and return a receipt by receipt_number or order_id. Persisted receipt returned if available; regenerated from order as fallback. Route class Tier B (p95 200ms, p99 500ms).
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{ "receipt_number": "RCP-00001" }Sample response (shape-only)
json
{
"success": true,
"data": {},
"stats": { "call": "POST /pos/reprint", "service": "scm" }
}POST /pos/journal
Purpose: Transaction journal
Notes: List completed transactions by shift, date range, or station. Paginated. Route class Tier B (p95 500ms, p99 1000ms).
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{ "shift_id": "SHIFT_GUID", "limit": 50 }Sample response (shape-only)
json
{
"success": true,
"data": { "items": [], "next_token": null },
"stats": { "call": "POST /pos/journal", "service": "scm" }
}POST /pos/void
Purpose: Pre-completion void
Notes: Cancel an open (draft/placed/held) order. Reverses tenders, releases ICS promise. Route class Tier C (p95 300ms, p99 600ms).
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{ "order_id": "ORDER_GUID", "reason": "Customer changed mind" }Sample response (shape-only)
json
{
"success": true,
"data": {},
"stats": { "call": "POST /pos/void", "service": "scm" }
}POST /pos/post-void
Purpose: Post-completion void
Notes: Reverse a completed sale (same-shift). Reverses tenders, ICS stock, loyalty. Requires scm_pos_admin. Route class Tier C (p95 800ms, p99 2000ms).
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{ "order_id": "ORDER_GUID", "reason": "Cashier error" }Sample response (shape-only)
json
{
"success": true,
"data": {},
"stats": { "call": "POST /pos/post-void", "service": "scm" }
}POST /pos/misc/add
Purpose: Add miscellaneous line to basket
Notes: Non-catalog item with manual price, description, and tax class. Route class Tier C (p95 200ms, p99 500ms).
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{ "order_id": "ORDER_GUID", "description": "Gift wrapping", "price": 5.99, "tax_code": "GENERAL" }Sample response (shape-only)
json
{
"success": true,
"data": {},
"stats": { "call": "POST /pos/misc/add", "service": "scm" }
}POST /pos/misc/remove
Purpose: Remove miscellaneous line
Notes: Remove a misc-type line from the basket. Route class Tier C (p95 200ms, p99 500ms).
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{ "order_id": "ORDER_GUID", "line_id": "LINE_GUID" }Sample response (shape-only)
json
{
"success": true,
"data": {},
"stats": { "call": "POST /pos/misc/remove", "service": "scm" }
}POST /pos/trade-in/add
Purpose: Add trade-in credit to basket
Notes: Negative-value line for traded-in merchandise. Tax exempt. Route class Tier C (p95 200ms, p99 500ms).
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{ "order_id": "ORDER_GUID", "description": "Used jacket", "amount": 25.00, "condition": "good" }Sample response (shape-only)
json
{
"success": true,
"data": {},
"stats": { "call": "POST /pos/trade-in/add", "service": "scm" }
}POST /pos/trade-in/remove
Purpose: Remove trade-in line
Notes: Remove a trade-in-type line from the basket. Route class Tier C (p95 200ms, p99 500ms).
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{ "order_id": "ORDER_GUID", "line_id": "LINE_GUID" }Sample response (shape-only)
json
{
"success": true,
"data": {},
"stats": { "call": "POST /pos/trade-in/remove", "service": "scm" }
}POST /quote/accept
Purpose: Accept quote (draft)
Notes: Accept quote (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier D (p95 300ms, p99 600ms).
Request schema: QuoteAcceptRequest Response schema: QuoteEnvelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"quote": {
"quote_id": "string",
"status": "active",
"channel_code": "pos_generic"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /quote/accept",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /quote/approve
Purpose: Approve quote (draft)
Notes: Approve quote (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. If this updates a revisioned record, expected_revision is required (428 if missing; 409 on mismatch). Route class Tier A (p95 500ms).
Request schema: QuoteApproveRequest Response schema: QuoteEnvelope
Sample request (schema-derived)
json
{
"quote_id": "string",
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"quote": {
"quote_id": "string",
"status": "active",
"channel_code": "pos_generic"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /quote/approve",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /quote/convert
Purpose: Convert quote to order (draft)
Notes: Convert quote to order (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier D (p95 300ms, p99 600ms).
Request schema: QuoteConvertRequest Response schema: OrderEnvelope
Sample request (schema-derived)
json
{
"quote_id": "string",
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"order": {
"order_id": "string",
"status": "active",
"channel_code": "pos_generic"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /quote/convert",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /quote/create
Purpose: Create quote (draft)
Notes: Create quote (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. If this updates a revisioned record, expected_revision is required (428 if missing; 409 on mismatch). Route class Tier D (p95 300ms, p99 600ms).
Request schema: QuoteCreateRequest Response schema: QuoteEnvelope
Sample request (schema-derived)
json
{
"quote": {
"request_context": {
"orgcode": "ORGCODE",
"actor": "string",
"context_source": "session"
},
"reason": "example",
"source_refs": [
{
"kind": null,
"id": null
}
]
},
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"quote": {
"quote_id": "string",
"status": "active",
"channel_code": "pos_generic"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /quote/create",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /quote/expire
Purpose: Expire quote (draft)
Notes: Expire quote (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier D (p95 300ms, p99 600ms).
Request schema: QuoteExpireRequest Response schema: QuoteEnvelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"quote": {
"quote_id": "string",
"status": "active",
"channel_code": "pos_generic"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /quote/expire",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /quote/get
Purpose: Get quote (draft)
Notes: Get quote (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Org-scoped reads may return 404 for non-associated callers (anti-enumeration). Route class Tier B (p95 300ms).
Request schema: QuoteGetRequest Response schema: QuoteEnvelope
Sample request (schema-derived)
json
{
"quote_id": "string"
}Sample response (shape-only)
json
{
"success": true,
"data": {
"quote": {
"quote_id": "string",
"status": "active",
"channel_code": "pos_generic"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /quote/get",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /quote/list
Purpose: List quotes (draft)
Notes: List quotes (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Paginated with limit/next_token (default 8; clamp 1–256). Route class Tier B (p95 300ms).
Request schema: QuoteListRequest Response schema: QuoteListEnvelope
Sample request (schema-derived)
json
{
"status": "active",
"channel_code": "pos_generic",
"customer_ref": "string"
}Sample response (shape-only)
json
{
"success": true,
"data": {
"quotes": [
{
"quote_id": "string",
"status": "active",
"channel_code": "pos_generic"
}
]
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /quote/list",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /quote/reject
Purpose: Reject quote (draft)
Notes: Reject quote (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier D (p95 300ms, p99 600ms).
Request schema: QuoteRejectRequest Response schema: QuoteEnvelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"quote": {
"quote_id": "string",
"status": "active",
"channel_code": "pos_generic"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /quote/reject",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /quote/send
Purpose: Send quote (draft)
Notes: Send quote (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier D (p95 300ms, p99 600ms).
Request schema: QuoteSendRequest Response schema: QuoteEnvelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"quote": {
"quote_id": "string",
"status": "active",
"channel_code": "pos_generic"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /quote/send",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /receipt/generate
Purpose: Generate receipt for order
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"receipt": {}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /receipt/generate",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /receipt/get
Purpose: Get receipt record
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"receipt": {}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /receipt/get",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /receipt/template/get
Purpose: Get receipt template
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"template": {}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /receipt/template/get",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /receipt/template/list
Purpose: List receipt templates
Notes: Paginated; use limit and next_token.
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"templates": [
{}
],
"next_token": "string"
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /receipt/template/list",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /receipt/template/set
Purpose: Set receipt template
Notes: If this updates a revisioned record, expected_revision is required.
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"template": {}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /receipt/template/set",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /refund/issue
Purpose: Issue refund (draft)
Notes: Issue refund (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. If this updates a revisioned record, expected_revision is required (428 if missing; 409 on mismatch). Route class Tier D (p95 300ms, p99 600ms).
Request schema: RefundRequest Response schema: RefundEnvelope
Sample request (schema-derived)
json
{
"refund": {
"refund_id": "string",
"status": "active",
"order_id": "string"
},
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"refund": {
"refund_id": "string",
"status": "active",
"order_id": "string"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /refund/issue",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /rental-agreement/activate
Purpose: Activate a created rental agreement
Request schema: None Response schema: RentalAgreementEnvelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"rental_agreement": {
"rental_id": "string",
"status": "created",
"customer_ref": "string"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /rental-agreement/activate",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /rental-agreement/close
Purpose: Close a rental agreement after inspection
Request schema: None Response schema: RentalAgreementEnvelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"rental_agreement": {
"rental_id": "string",
"status": "created",
"customer_ref": "string"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /rental-agreement/close",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /rental-agreement/create
Purpose: Create a new rental agreement
Notes: If this updates a revisioned record, expected_revision is required.
Request schema: RentalAgreementDraft Response schema: RentalAgreementEnvelope
Sample request (schema-derived)
json
{
"customer_ref": "string",
"variant_id": "VARIANT_ID",
"duration_days": 0,
"source_refs": [
{
"kind": "string",
"id": "string"
}
],
"reason": "example",
"idempotency_key": "string"
}Sample response (shape-only)
json
{
"success": true,
"data": {
"rental_agreement": {
"rental_id": "string",
"status": "created",
"customer_ref": "string"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /rental-agreement/create",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /rental-agreement/extend
Purpose: Extend a rental agreement after inspection
Request schema: None Response schema: RentalAgreementEnvelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"rental_agreement": {
"rental_id": "string",
"status": "created",
"customer_ref": "string"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /rental-agreement/extend",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /rental-agreement/get
Purpose: Get a rental agreement by ID
Request schema: None Response schema: RentalAgreementEnvelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"rental_agreement": {
"rental_id": "string",
"status": "created",
"customer_ref": "string"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /rental-agreement/get",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /rental-agreement/inspect
Purpose: Inspect a returned rental item and assess fees
Request schema: None Response schema: RentalAgreementEnvelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"rental_agreement": {
"rental_id": "string",
"status": "created",
"customer_ref": "string"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /rental-agreement/inspect",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /rental-agreement/list
Purpose: List rental agreements with optional filters
Notes: Paginated; use limit and next_token.
Request schema: None Response schema: RentalAgreementListEnvelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"rental_agreements": [
{
"rental_id": "string",
"status": "created",
"customer_ref": "string"
}
]
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /rental-agreement/list",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /rental-agreement/return-receive
Purpose: Receive a returned rental item
Request schema: None Response schema: RentalAgreementEnvelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"rental_agreement": {
"rental_id": "string",
"status": "created",
"customer_ref": "string"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /rental-agreement/return-receive",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /rental-agreement/return-request
Purpose: Request return of a rented item
Request schema: None Response schema: RentalAgreementEnvelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"rental_agreement": {
"rental_id": "string",
"status": "created",
"customer_ref": "string"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /rental-agreement/return-request",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /return/authorize
Purpose: Authorize return (draft)
Notes: Authorize return (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier D (p95 300ms, p99 600ms).
Request schema: ReturnAuthorizeRequest Response schema: ReturnEnvelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"return": {
"return_id": "string",
"status": "active",
"order_id": "string"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /return/authorize",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /return/get
Purpose: Get return (draft)
Notes: Get return (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Org-scoped reads may return 404 for non-associated callers (anti-enumeration). Route class Tier B (p95 300ms).
Request schema: ReturnGetRequest Response schema: ReturnEnvelope
Sample request (schema-derived)
json
{
"return_id": "string"
}Sample response (shape-only)
json
{
"success": true,
"data": {
"return": {
"return_id": "string",
"status": "active",
"order_id": "string"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /return/get",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /return/inspect
Purpose: Inspect return (draft)
Notes: Inspect return (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier D (p95 300ms, p99 600ms).
Request schema: ReturnInspectRequest Response schema: ReturnEnvelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"return": {
"return_id": "string",
"status": "active",
"order_id": "string"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /return/inspect",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /return/list
Purpose: List returns (draft)
Notes: List returns (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Paginated with limit/next_token (default 8; clamp 1–256). Route class Tier B (p95 300ms).
Request schema: ReturnListRequest Response schema: ReturnListEnvelope
Sample request (schema-derived)
json
{
"status": "active",
"channel_code": "pos_generic",
"customer_ref": "string"
}Sample response (shape-only)
json
{
"success": true,
"data": {
"returns": [
{
"return_id": "string",
"status": "active",
"order_id": "string"
}
]
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /return/list",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /return/receive
Purpose: Receive return (draft)
Notes: Receive return (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier D (p95 300ms, p99 600ms).
Request schema: ReturnReceiveRequest Response schema: ReturnEnvelope
Sample request (schema-derived)
json
{
"return_id": "string",
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"return": {
"return_id": "string",
"status": "active",
"order_id": "string"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /return/receive",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /return/request
Purpose: Request return (draft)
Notes: Request return (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier D (p95 300ms, p99 600ms).
Request schema: ReturnRequest Response schema: ReturnEnvelope
Sample request (schema-derived)
json
{
"return": {
"request_context": {
"orgcode": "ORGCODE",
"actor": "string",
"context_source": "session"
},
"reason": "example",
"source_refs": [
{
"kind": null,
"id": null
}
]
},
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"return": {
"return_id": "string",
"status": "active",
"order_id": "string"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /return/request",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /return/resolve
Purpose: Resolve return (draft)
Notes: Resolve return (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier D (p95 300ms, p99 600ms).
Request schema: ReturnResolveRequest Response schema: ReturnEnvelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"return": {
"return_id": "string",
"status": "active",
"order_id": "string"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /return/resolve",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /routing/plan/create
Purpose: Create routing plan (draft)
Notes: Create routing plan (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. If this updates a revisioned record, expected_revision is required (428 if missing; 409 on mismatch). Route class Tier C (p95 450ms, p99 1000ms).
Request schema: RoutingPlanCreateRequest Response schema: RoutingPlanEnvelope
Sample request (schema-derived)
json
{
"lines": [
{
"qty": {
"qty": null,
"uom": null
}
}
],
"candidates": [
{
"logical_guid": "LOGICAL_GUID"
}
],
"request_context": {
"orgcode": "ORGCODE",
"actor": "string",
"context_source": "session"
},
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"plan": {
"plan_id": "string",
"status": "planned",
"policy": {
"mode": "closest",
"split_shipments": false,
"max_splits": 0
},
"shipments": [
{
"logical_guid": null,
"lines": null,
"confidence": null
}
],
"unassigned_lines": [
{
"line_id": null,
"requested_qty": null,
"uom": null
}
]
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /routing/plan/create",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /routing/plan/get
Purpose: Get routing plan (draft)
Notes: Get routing plan (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Org-scoped reads may return 404 for non-associated callers (anti-enumeration). Route class Tier B (p95 300ms).
Request schema: RoutingPlanGetRequest Response schema: RoutingPlanEnvelope
Sample request (schema-derived)
json
{
"plan_id": "string"
}Sample response (shape-only)
json
{
"success": true,
"data": {
"plan": {
"plan_id": "string",
"status": "planned",
"policy": {
"mode": "closest",
"split_shipments": false,
"max_splits": 0
},
"shipments": [
{
"logical_guid": null,
"lines": null,
"confidence": null
}
],
"unassigned_lines": [
{
"line_id": null,
"requested_qty": null,
"uom": null
}
]
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /routing/plan/get",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /routing/plan/list
Purpose: List routing plans (draft)
Notes: List routing plans (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Paginated with limit/next_token (default 8; clamp 1–256). Route class Tier B (p95 300ms).
Request schema: RoutingPlanListRequest Response schema: RoutingPlanListEnvelope
Sample request (schema-derived)
json
{
"order_id": "string",
"limit": 8,
"next_token": "string"
}Sample response (shape-only)
json
{
"success": true,
"data": {
"plans": [
{
"plan_id": "string",
"status": "planned",
"policy": {
"mode": null,
"split_shipments": null,
"max_splits": null
},
"shipments": [
{}
],
"unassigned_lines": [
{}
]
}
]
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /routing/plan/list",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /routing/policy/get
Purpose: Get routing policy (draft)
Notes: Get routing policy (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Org-scoped reads may return 404 for non-associated callers (anti-enumeration). Route class Tier B (p95 300ms).
Request schema: RoutingPolicyGetRequest Response schema: RoutingPolicyEnvelope
Sample request (schema-derived)
json
{
"channel_code": "pos_generic"
}Sample response (shape-only)
json
{
"success": true,
"data": {
"policy": {
"channel_code": "pos_generic",
"policy": {
"mode": "closest",
"split_shipments": false,
"max_splits": 0
},
"revision": 0
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /routing/policy/get",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /routing/policy/list
Purpose: List routing policies (draft)
Notes: List routing policies (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Paginated with limit/next_token (default 8; clamp 1–256). Route class Tier B (p95 300ms).
Request schema: RoutingPolicyListRequest Response schema: RoutingPolicyListEnvelope
Sample request (schema-derived)
json
{
"channel_code": "pos_generic"
}Sample response (shape-only)
json
{
"success": true,
"data": {
"policies": [
{
"channel_code": "pos_generic",
"policy": {
"mode": null,
"split_shipments": null,
"max_splits": null
},
"revision": 0
}
]
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /routing/policy/list",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /routing/policy/set
Purpose: Set routing policy (draft)
Notes: Set routing policy (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. If this updates a revisioned record, expected_revision is required (428 if missing; 409 on mismatch). Route class Tier C (p95 350ms, p99 800ms).
Request schema: RoutingPolicySetRequest Response schema: RoutingPolicyEnvelope
Sample request (schema-derived)
json
{
"channel_code": "pos_generic",
"policy": {
"mode": "closest",
"split_shipments": false,
"max_splits": 0
},
"request_context": {
"orgcode": "ORGCODE",
"actor": "string",
"context_source": "session"
},
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"policy": {
"channel_code": "pos_generic",
"policy": {
"mode": "closest",
"split_shipments": false,
"max_splits": 0
},
"revision": 0
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /routing/policy/set",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /self-service/order/get
Purpose: Get order by ID for customer self-service
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"order": {}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /self-service/order/get",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /self-service/order/list
Purpose: List orders for a customer
Notes: Paginated; use limit and next_token.
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"orders": [
{}
],
"next_token": {}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /self-service/order/list",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /self-service/return/get
Purpose: Get return by ID for customer self-service
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"return_request": {}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /self-service/return/get",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /self-service/return/request
Purpose: Request a customer-initiated return (G94)
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"return_id": "string",
"status": "active"
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /self-service/return/request",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /self-service/shipment/track
Purpose: Get shipment tracking info for customer
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"shipment": {},
"tracking": {}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /self-service/shipment/track",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /special-order/approve
Purpose: Approve special order (draft)
Notes: Approve special order (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. If this updates a revisioned record, expected_revision is required (428 if missing; 409 on mismatch). Route class Tier A (p95 500ms).
Request schema: SpecialOrderApproveRequest Response schema: SpecialOrderEnvelope
Sample request (schema-derived)
json
{
"special_order_id": "string",
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"special_order": {
"special_order_id": "string",
"status": "active",
"channel_code": "pos_generic"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /special-order/approve",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /special-order/cancel
Purpose: Cancel special order (draft)
Notes: Cancel special order (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier D (p95 350ms, p99 800ms).
Request schema: SpecialOrderCancelRequest Response schema: SpecialOrderEnvelope
Sample request (schema-derived)
json
{
"special_order_id": "string",
"cancel_code": "CODE1",
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"special_order": {
"special_order_id": "string",
"status": "active",
"channel_code": "pos_generic"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /special-order/cancel",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /special-order/create
Purpose: Create special order (draft)
Notes: Create special order (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. If this updates a revisioned record, expected_revision is required (428 if missing; 409 on mismatch). Route class Tier D (p95 300ms, p99 600ms).
Request schema: SpecialOrderCreateRequest Response schema: SpecialOrderEnvelope
Sample request (schema-derived)
json
{
"special_order": {
"request_context": {
"orgcode": "ORGCODE",
"actor": "string",
"context_source": "session"
},
"reason": "example",
"source_refs": [
{
"kind": null,
"id": null
}
]
},
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"special_order": {
"special_order_id": "string",
"status": "active",
"channel_code": "pos_generic"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /special-order/create",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /special-order/get
Purpose: Get special order (draft)
Notes: Get special order (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Org-scoped reads may return 404 for non-associated callers (anti-enumeration). Route class Tier B (p95 300ms).
Request schema: SpecialOrderGetRequest Response schema: SpecialOrderEnvelope
Sample request (schema-derived)
json
{
"special_order_id": "string"
}Sample response (shape-only)
json
{
"success": true,
"data": {
"special_order": {
"special_order_id": "string",
"status": "active",
"channel_code": "pos_generic"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /special-order/get",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /special-order/list
Purpose: List special orders (draft)
Notes: List special orders (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Paginated with limit/next_token (default 8; clamp 1–256). Route class Tier B (p95 300ms).
Request schema: SpecialOrderListRequest Response schema: SpecialOrderListEnvelope
Sample request (schema-derived)
json
{
"status": "active",
"channel_code": "pos_generic",
"customer_ref": "string"
}Sample response (shape-only)
json
{
"success": true,
"data": {
"special_orders": [
{
"special_order_id": "string",
"status": "active",
"channel_code": "pos_generic"
}
]
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /special-order/list",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /special-order/notify
Purpose: Notify customer that special order has arrived
Notes: Transitions special order from arrived → notified. Sets pickup_window_expires_at based on channel policy (default 14 days).
Request schema: None Response schema: SpecialOrderEnvelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"special_order": {
"special_order_id": "string",
"status": "active",
"channel_code": "pos_generic"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /special-order/notify",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /special-order/pickup
Purpose: Customer picks up special order and pays remaining balance
Notes: Transitions special order from notified → completed. Accepts optional payment_amount for balance payment. Uses price_snapshot if price_lock is enabled.
Request schema: None Response schema: SpecialOrderEnvelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"special_order": {
"special_order_id": "string",
"status": "active",
"channel_code": "pos_generic"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /special-order/pickup",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /special-order/status
Purpose: Update special order status (generic FSM transition)
Notes: Generic status transition for special orders. Valid transitions: draft→approved, approved→submitted, submitted→sourcing, sourcing→in_transit, in_transit→arrived, arrived→notified, notified→completed/forfeited. All statuses can transition to cancelled.
Request schema: None Response schema: SpecialOrderEnvelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"special_order": {
"special_order_id": "string",
"status": "active",
"channel_code": "pos_generic"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /special-order/status",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /special-order/submit
Purpose: Submit special order (draft)
Notes: Submit special order (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. If this updates a revisioned record, expected_revision is required (428 if missing; 409 on mismatch). Route class Tier D (p95 300ms, p99 600ms).
Request schema: SpecialOrderSubmitRequest Response schema: SpecialOrderEnvelope
Sample request (schema-derived)
json
{
"special_order_id": "string",
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"special_order": {
"special_order_id": "string",
"status": "active",
"channel_code": "pos_generic"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /special-order/submit",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}GET /stat
Purpose: Health check
Notes: Health check. Tenant routes require x-orgcode; /stat health checks do not. Org-scoped reads may return 404 for non-associated callers (anti-enumeration). Route class Tier A (p95 500ms).
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"service": "string",
"status": "active"
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "GET /stat",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /tax/finalize
Purpose: Finalize taxes (draft)
Notes: Finalize taxes (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier C (p95 450ms, p99 1000ms).
Request schema: TaxFinalizeRequest Response schema: TaxRecordEnvelope
Sample request (schema-derived)
json
{
"tax_final": {
"target_ref": {
"kind": "string",
"id": "string"
}
},
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"tax_record": {
"tax_record_id": "RECORD_ID",
"status": "active",
"target_ref": {
"kind": "string",
"id": "string"
}
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /tax/finalize",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /tax/policy/get
Purpose: Get tax policy (draft)
Notes: Get tax policy (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Org-scoped reads may return 404 for non-associated callers (anti-enumeration). Route class Tier B (p95 300ms).
Request schema: TaxPolicyGetRequest Response schema: TaxPolicyEnvelope
Sample request (schema-derived)
json
{
"policy_version": "string",
"effective_as_of": "2026-01-01T00:00:00Z"
}Sample response (shape-only)
json
{
"success": true,
"data": {
"policy": {
"policy_version": "string",
"tax_basis_default": "included",
"tax_liability_trigger_default": "order",
"jurisdictions": [
{
"jurisdiction_code": null,
"tax_code": null,
"rate": null
}
]
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /tax/policy/get",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /tax/policy/list
Purpose: List tax policies (draft)
Notes: List tax policies (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Paginated with limit/next_token (default 8; clamp 1–256). Route class Tier B (p95 300ms).
Request schema: TaxPolicyListRequest Response schema: TaxPolicyListEnvelope
Sample request (schema-derived)
json
{
"limit": 8,
"next_token": "string"
}Sample response (shape-only)
json
{
"success": true,
"data": {
"policies": [
{
"policy_version": "string",
"tax_basis_default": "included",
"tax_liability_trigger_default": "order",
"jurisdictions": [
{}
]
}
]
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /tax/policy/list",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /tax/policy/set
Purpose: Set tax policy (draft)
Notes: Set tax policy (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. If this updates a revisioned record, expected_revision is required (428 if missing; 409 on mismatch). Route class Tier C (p95 350ms, p99 800ms).
Request schema: TaxPolicySetRequest Response schema: TaxPolicyEnvelope
Sample request (schema-derived)
json
{
"policy": {
"policy_version": "string",
"tax_basis_default": "included",
"tax_liability_trigger_default": "order",
"jurisdictions": [
{
"jurisdiction_code": null,
"tax_code": null,
"rate": null
}
]
},
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"policy": {
"policy_version": "string",
"tax_basis_default": "included",
"tax_liability_trigger_default": "order",
"jurisdictions": [
{
"jurisdiction_code": null,
"tax_code": null,
"rate": null
}
]
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /tax/policy/set",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /tax/quote
Purpose: Quote taxes (draft)
Notes: Quote taxes (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier C (p95 400ms, p99 900ms).
Request schema: TaxQuoteRequest Response schema: TaxQuoteEnvelope
Sample request (schema-derived)
json
{
"tax_quote": {
"jurisdiction_code": "CODE1",
"lines": [
{
"qty": null,
"unit_price": null
}
]
},
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"tax_quote": {
"tax_quote_id": "string",
"status": "active",
"jurisdiction_code": "CODE1"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /tax/quote",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /tender-policy/get
Purpose: Fetch a tender policy by ID
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"tender_policy": {}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /tender-policy/get",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /tender-policy/list
Purpose: List tender policies with optional status filter
Notes: Paginated; use limit and next_token.
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"tender_policies": [
{}
],
"next_token": {},
"count": 0
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /tender-policy/list",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /tender-policy/set
Purpose: Create or update a tender policy
Notes: If this updates a revisioned record, expected_revision is required.
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"tender_policy": {}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /tender-policy/set",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /tender/capture
Purpose: Capture tender (draft)
Notes: Capture tender (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier D (p95 300ms, p99 600ms). If gateway_code is provided, it is validated against active payment gateways (400 invalid-gateway if not found). Active tender policy amount limits (max_amount_minor / min_amount_minor) are enforced (400 tender-amount-exceeds-maximum / tender-amount-below-minimum).
Request schema: TenderCaptureRequest Response schema: TenderEnvelope
Sample request (schema-derived)
json
{
"tender": {
"order_id": "string",
"tender_code": "CODE1",
"amount": {
"currency": "string",
"amount": 0
},
"request_context": {
"orgcode": "ORGCODE",
"actor": "string",
"context_source": "session"
},
"reason": "example",
"source_refs": [
{
"kind": null,
"id": null
}
]
},
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"tender": {
"tender_id": "string",
"status": "active",
"order_id": "string"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /tender/capture",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /tender/get
Purpose: Get tender (draft)
Notes: Get tender (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Org-scoped reads may return 404 for non-associated callers (anti-enumeration). Route class Tier B (p95 300ms).
Request schema: TenderGetRequest Response schema: TenderEnvelope
Sample request (schema-derived)
json
{
"tender_id": "string"
}Sample response (shape-only)
json
{
"success": true,
"data": {
"tender": {
"tender_id": "string",
"status": "active",
"order_id": "string"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /tender/get",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /tender/list
Purpose: List tenders (draft)
Notes: List tenders (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Paginated with limit/next_token (default 8; clamp 1–256). Route class Tier B (p95 300ms).
Request schema: TenderListRequest Response schema: TenderListEnvelope
Sample request (schema-derived)
json
{
"order_id": "string",
"status": "active",
"limit": 8
}Sample response (shape-only)
json
{
"success": true,
"data": {
"tenders": [
{
"tender_id": "string",
"status": "active",
"order_id": "string"
}
]
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /tender/list",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /tender/settle
Purpose: Settle tender liability (draft)
Notes: Settle tender liability (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. If this updates a revisioned record, expected_revision is required (428 if missing; 409 on mismatch). Route class Tier C (p95 300ms, p99 600ms).
Request schema: TenderSettleRequest Response schema: TenderEnvelope
Sample request (schema-derived)
json
{
"tender_id": "string",
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"tender": {
"tender_id": "string",
"status": "active",
"order_id": "string"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /tender/settle",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /tender/void
Purpose: Void tender (draft)
Notes: Void tender (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier C (p95 300ms, p99 600ms).
Request schema: TenderVoidRequest Response schema: TenderEnvelope
Sample request (schema-derived)
json
{
"tender_id": "string",
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"tender": {
"tender_id": "string",
"status": "active",
"order_id": "string"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /tender/void",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /till/close
Purpose: Close a till session with optional count
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"till": {}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /till/close",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /till/get
Purpose: Fetch a till by ID
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"till": {}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /till/get",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /till/list
Purpose: List tills with optional filters
Notes: Paginated; use limit and next_token.
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"tills": [
{}
],
"next_token": {},
"count": 0
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /till/list",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /till/open
Purpose: Open a new till session
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"till": {}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /till/open",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /warranty-claim/approve
Purpose: Approve a filed warranty claim
Notes: If this updates a revisioned record, expected_revision is required.
Request schema: None Response schema: WarrantyClaimEnvelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"claim": {
"claim_id": "string",
"orgcode": "ORGCODE",
"warranty_id": "string"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /warranty-claim/approve",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /warranty-claim/file
Purpose: File a warranty claim
Notes: Create a warranty claim with idempotency. Lifecycle: filed → approved → in_repair → resolved. Resolves G52 (warranty claim/RMA entity).
Request schema: None Response schema: WarrantyClaimEnvelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"claim": {
"claim_id": "string",
"orgcode": "ORGCODE",
"warranty_id": "string"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /warranty-claim/file",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /warranty-claim/get
Purpose: Get a warranty claim by claim_id
Request schema: None Response schema: WarrantyClaimEnvelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"claim": {
"claim_id": "string",
"orgcode": "ORGCODE",
"warranty_id": "string"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /warranty-claim/get",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /warranty-claim/list
Purpose: List warranty claims by status, warranty_id, or customer_ref (paginated)
Notes: Paginated; use limit and next_token.
Request schema: None Response schema: WarrantyClaimListEnvelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"claims": [
{
"claim_id": "string",
"orgcode": "ORGCODE",
"warranty_id": "string"
}
]
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /warranty-claim/list",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /warranty-claim/resolve
Purpose: Resolve an approved warranty claim with disposition
Notes: Resolve operations may return not-found for non-associated callers.
Request schema: None Response schema: WarrantyClaimEnvelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"claim": {
"claim_id": "string",
"orgcode": "ORGCODE",
"warranty_id": "string"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /warranty-claim/resolve",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /warranty-config/get
Purpose: Get per-org warranty config (L1)
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /warranty-config/get",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /warranty-config/set
Purpose: Set per-org warranty config (L1)
Notes: If this updates a revisioned record, expected_revision is required.
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /warranty-config/set",
"service": "scm",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}