Appearance
API Calls
Base: https://api.g3nretailstack.com/ics
Source of truth: /internal-docs/ics-openapi.yaml → /ics/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 | /adjustment/create | Create manual adjustment (draft) | AdjustmentCreateRequest | AdjustmentEnvelope |
| POST | /allocation/create | Create allocation (draft) | AllocationCreateRequest | AllocationEnvelope |
| POST | /allocation/expire | Expire allocation (draft) | AllocationExpireRequest | AllocationEnvelope |
| POST | /allocation/release | Release allocation (draft) | AllocationReleaseRequest | AllocationEnvelope |
| POST | /allocation/suggest | Suggest allocation quantities (draft) | AllocationSuggestRequest | AllocationSuggestEnvelope |
| POST | /atp/query | Compute channel-aware Available-to-Promise across facilities (read-only, no events) | None | Envelope |
| POST | /bin/create | Create bin (draft) | BinCreateRequest | BinEnvelope |
| POST | /bin/get | Get bin (draft) | BinGetRequest | BinEnvelope |
| POST | /bin/list | List bins (draft) | BinListRequest | BinListEnvelope |
| POST | /bin/status/set | Set bin status (draft) | BinStatusSetRequest | BinEnvelope |
| 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 | /commit/create | Create commit (draft) | CommitCreateRequest | CommitEnvelope |
| POST | /commit/create-direct | Direct commit from available stock (draft) | CommitCreateRequest | CommitEnvelope |
| POST | /commit/release | Release commit (draft) | CommitReleaseRequest | CommitEnvelope |
| POST | /consignment/consume | Consume consignment stock (draft) | ConsignmentConsumeRequest | ConsignmentEnvelope |
| POST | /consignment/receive | Receive consignment stock (draft) | ConsignmentReceiveRequest | ConsignmentEnvelope |
| POST | /consignment/settle | Settle consignment usage (draft) | ConsignmentSettlementRequest | ConsignmentEnvelope |
| POST | /count/approve | Approve count results (draft) | CountApproveRequest | CountEnvelope |
| POST | /count/create | Create count (draft) | CountCreateRequest | CountEnvelope |
| POST | /count/plan/get | Get count plan (draft) | CountPlanGetRequest | CountPlanEnvelope |
| POST | /count/plan/list | List count plans (draft) | CountPlanListRequest | CountPlanListEnvelope |
| POST | /count/plan/set | Create or update count plan (draft) | CountPlanSetRequest | CountPlanEnvelope |
| POST | /count/plan/status/set | Set count plan status (draft) | CountPlanStatusSetRequest | CountPlanEnvelope |
| POST | /count/reject | Reject count results (draft) | CountRejectRequest | CountEnvelope |
| POST | /count/submit | Submit count results (draft) | CountSubmitRequest | CountEnvelope |
| POST | /demand/signal/compute | Compute demand signals for a facility from stock card entries (G83) | None | Envelope |
| POST | /demand/signal/get | Get demand signal for a variant at a facility | None | Envelope |
| POST | /demand/signal/list | List demand signals for a facility | None | Envelope |
| POST | /holdback/get | Fetch a holdback rule by scope | None | Envelope |
| POST | /holdback/list | List all holdback rules for a facility | None | Envelope |
| POST | /holdback/set | Create or update a holdback rule for a facility (scope '*' = facility-wide, or variant_id for per-variant override) | None | Envelope |
| 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 | /pack/record | Record pack movement (draft) | PackRecordRequest | StockCardEntryEnvelope |
| POST | /pick/record | Record pick movement (draft) | PickRecordRequest | StockCardEntryEnvelope |
| POST | /putaway/record | Record putaway movement (draft) | PutawayRecordRequest | StockCardEntryEnvelope |
| POST | /qc/complete | Complete QC for a receipt (draft) | QcCompleteRequest | ReceiveEnvelope |
| POST | /receive/get | Get receipt (draft) | ReceiveGetRequest | ReceiveEnvelope |
| POST | /receive/list | List receipts (draft) | ReceiveListRequest | ReceiveListEnvelope |
| POST | /receive/record | Record receipt (draft) | ReceiveRecordRequest | ReceiveEnvelope |
| POST | /replenishment/record | Record replenishment movement (draft) | ReplenishmentRecordRequest | StockCardEntryEnvelope |
| POST | /replenishment/rule/get | Get replenishment rule (draft) | ReplenishmentRuleGetRequest | ReplenishmentRuleEnvelope |
| POST | /replenishment/rule/list | List replenishment rules (draft) | ReplenishmentRuleListRequest | ReplenishmentRuleListEnvelope |
| POST | /replenishment/rule/set | Set replenishment rule (draft) | ReplenishmentRuleSetRequest | ReplenishmentRuleEnvelope |
| POST | /replenishment/rule/status/set | Set replenishment rule status (draft) | ReplenishmentRuleStatusSetRequest | ReplenishmentRuleEnvelope |
| POST | /replenishment/suggest | Suggest replenishment quantities (draft) | ReplenishmentSuggestRequest | ReplenishmentSuggestEnvelope |
| POST | /reservation/create | Create reservation (draft) | ReservationCreateRequest | ReservationEnvelope |
| POST | /reservation/expire | Expire reservation (draft) | ReservationExpireRequest | ReservationEnvelope |
| POST | /reservation/release | Release reservation (draft) | ReservationReleaseRequest | ReservationEnvelope |
| POST | /search/comments | Search comments (org-wide) | CommentSearchRequest | CommentSearchEnvelope |
| POST | /search/inbox | Search inbox notifications (org-wide) | InboxSearchRequest | InboxSearchEnvelope |
| POST | /serial/360 | Composite serial 360 — returns serial record + all related warranty claims in one call | None | Envelope |
| POST | /serial/get | Get a serial record by serial_number + variant_id | None | SerialEnvelope |
| POST | /serial/list | List serial records by variant_id or status (paginated) | None | SerialListEnvelope |
| POST | /serial/lookup | Lookup serial by serial_number alone (returns all variants) | None | SerialListEnvelope |
| POST | /serial/lookup-udi | Lookup serial records by UDI (FDA recall support) | None | SerialListEnvelope |
| POST | /serial/register | Register a serial number with metadata | None | SerialEnvelope |
| POST | /serial/update | Update serial record metadata with expected_revision | None | SerialEnvelope |
| POST | /ship/record | Record ship movement (draft) | ShipRecordRequest | StockCardEntryEnvelope |
| POST | /snapshot/create | Capture a point-in-time inventory snapshot for a facility (G85) | None | Envelope |
| POST | /snapshot/detail | Get detail items (per-variant breakdown) of an inventory snapshot | None | Envelope |
| POST | /snapshot/get | Get an inventory snapshot by ID | None | Envelope |
| POST | /snapshot/list | List inventory snapshots for a facility | None | Envelope |
| GET | /stat | Health check | None | Envelope |
| POST | /stock/card/list | List stock card entries (draft) | StockCardListRequest | StockCardEnvelope |
| POST | /stock/get | Get stock position (draft) | StockGetRequest | StockEnvelope |
| POST | /stock/list | List stock positions (draft) | StockListRequest | StockListEnvelope |
| POST | /stock/policy/get | Get stock policy (draft) | StockPolicyGetRequest | StockPolicyEnvelope |
| POST | /stock/policy/set | Set stock policy (draft) | StockPolicySetRequest | StockPolicyEnvelope |
| POST | /stock/transition | Transition stock between buckets (draft) | StockTransitionRequest | StockTransitionEnvelope |
| POST | /transfer/report | Transfer analytics report (draft) | TransferReportRequest | TransferReportEnvelope |
| POST | /transfer/request/approve | Approve transfer request (draft) | TransferRequestApproveRequest | TransferEnvelope |
| POST | /transfer/request/create | Create transfer request (draft) | TransferRequestCreateRequest | TransferEnvelope |
| POST | /transfer/request/get | Get transfer request (draft) | TransferRequestGetRequest | TransferEnvelope |
| POST | /transfer/request/list | List transfer requests (draft) | TransferRequestListRequest | TransferListEnvelope |
| POST | /transfer/request/submit | Submit transfer request (draft) | TransferRequestSubmitRequest | TransferEnvelope |
| POST | /transfer/shipment/get | Get transfer shipment (draft) | TransferShipmentGetRequest | TransferShipmentEnvelope |
| POST | /transfer/shipment/list | List transfer shipments (draft) | TransferShipmentListRequest | TransferShipmentListEnvelope |
| POST | /transfer/shipment/receive | Receive transfer shipment (draft) | TransferReceiveRequest | TransferShipmentEnvelope |
| POST | /transfer/shipment/record | Record transfer shipment (draft) | TransferShipmentRecordRequest | TransferShipmentEnvelope |
| POST | /transfer/suggest | Suggest transfer quantities (draft) | TransferSuggestRequest | TransferSuggestEnvelope |
| POST | /zone/create | Create zone (draft) | ZoneCreateRequest | ZoneEnvelope |
| POST | /zone/get | Get zone (draft) | ZoneGetRequest | ZoneEnvelope |
| POST | /zone/list | List zones (draft) | ZoneListRequest | ZoneListEnvelope |
| POST | /zone/status/set | Set zone status (draft) | ZoneStatusSetRequest | ZoneEnvelope |
Call details
POST /adjustment/create
Purpose: Create manual adjustment (draft)
Notes: Create manual adjustment (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: AdjustmentCreateRequest Response schema: AdjustmentEnvelope
Sample request (schema-derived)
json
{
"adjustment": {
"policy_versions": {
"adjustment_policy_version": "string"
}
},
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"adjustment": {
"policy_versions": {
"adjustment_policy_version": "string"
}
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /adjustment/create",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /allocation/create
Purpose: Create allocation (draft)
Notes: Create allocation (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: AllocationCreateRequest Response schema: AllocationEnvelope
Sample request (schema-derived)
json
{
"allocation": {
"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": {
"allocation": {
"allocation_id": "string",
"status": "active",
"channel_code": "pos_generic"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /allocation/create",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /allocation/expire
Purpose: Expire allocation (draft)
Notes: Expire allocation (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: AllocationExpireRequest Response schema: AllocationEnvelope
Sample request (schema-derived)
json
{
"allocation_id": "string",
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"allocation": {
"allocation_id": "string",
"status": "active",
"channel_code": "pos_generic"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /allocation/expire",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /allocation/release
Purpose: Release allocation (draft)
Notes: Release allocation (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: AllocationReleaseRequest Response schema: AllocationEnvelope
Sample request (schema-derived)
json
{
"allocation_id": "string",
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"allocation": {
"allocation_id": "string",
"status": "active",
"channel_code": "pos_generic"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /allocation/release",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /allocation/suggest
Purpose: Suggest allocation quantities (draft)
Notes: Suggest allocation quantities (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier B (p95 300ms).
Request schema: AllocationSuggestRequest Response schema: AllocationSuggestEnvelope
Sample request (schema-derived)
json
{
"logical_guid": "LOGICAL_GUID",
"channel_code": "pos_generic",
"variant_id": "VARIANT_ID"
}Sample response (shape-only)
json
{
"success": true,
"data": {
"suggestions": [
{
"suggestion_id": "string",
"logical_guid": "LOGICAL_GUID",
"channel_code": "pos_generic"
}
]
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /allocation/suggest",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /atp/query
Purpose: Compute channel-aware Available-to-Promise across facilities (read-only, no events)
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"variants": [
{
"variant_id": "VARIANT_ID",
"total_on_hand": 0,
"total_available": 0
}
],
"facility_count": 0,
"variant_count": 0
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /atp/query",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /bin/create
Purpose: Create bin (draft)
Notes: Create bin (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 300ms).
Request schema: BinCreateRequest Response schema: BinEnvelope
Sample request (schema-derived)
json
{
"bin": {
"zone_code": "CODE1",
"bin_code": "CODE1"
},
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"bin": {
"bin_id": "string",
"bin_code": "CODE1",
"zone_code": "CODE1"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /bin/create",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /bin/get
Purpose: Get bin (draft)
Notes: Get bin (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: BinGetRequest Response schema: BinEnvelope
Sample request (schema-derived)
json
{
"zone_code": "CODE1",
"bin_code": "CODE1"
}Sample response (shape-only)
json
{
"success": true,
"data": {
"bin": {
"bin_id": "string",
"bin_code": "CODE1",
"zone_code": "CODE1"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /bin/get",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /bin/list
Purpose: List bins (draft)
Notes: List bins (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: BinListRequest Response schema: BinListEnvelope
Sample request (schema-derived)
json
{
"zone_code": "CODE1",
"status": "active",
"limit": 8
}Sample response (shape-only)
json
{
"success": true,
"data": {
"bins": [
{
"bin_id": "string",
"bin_code": "CODE1",
"zone_code": "CODE1"
}
],
"next_token": {}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /bin/list",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /bin/status/set
Purpose: Set bin status (draft)
Notes: Set bin 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 B (p95 350ms).
Request schema: BinStatusSetRequest Response schema: BinEnvelope
Sample request (schema-derived)
json
{
"zone_code": "CODE1",
"bin_code": "CODE1",
"status": "active",
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"bin": {
"bin_id": "string",
"bin_code": "CODE1",
"zone_code": "CODE1"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /bin/status/set",
"service": "ics",
"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": "ics",
"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": "ics",
"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": "ics",
"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": "ics",
"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": "ics",
"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": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /commit/create
Purpose: Create commit (draft)
Notes: Create commit (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: CommitCreateRequest Response schema: CommitEnvelope
Sample request (schema-derived)
json
{
"commit": {
"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": {
"commit": {
"commit_id": "string",
"status": "active",
"channel_code": "pos_generic"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /commit/create",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /commit/create-direct
Purpose: Direct commit from available stock (draft)
Notes: Direct commit — atomically moves stock from available to committed in a single step, bypassing reservation and allocation phases. Designed for in-store POS fast checkout where intermediate promise states add no business value. Condition: available >= qty. Stores commit_mode: 'direct' on the commit record. Route class Tier D (p95 200ms, p99 400ms).
Request schema: CommitCreateRequest Response schema: CommitEnvelope
Sample request (schema-derived)
json
{
"commit": {
"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": {
"commit": {
"commit_id": "string",
"status": "active",
"channel_code": "pos_generic"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /commit/create-direct",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /commit/release
Purpose: Release commit (draft)
Notes: Release commit (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: CommitReleaseRequest Response schema: CommitEnvelope
Sample request (schema-derived)
json
{
"commit_id": "string",
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"commit": {
"commit_id": "string",
"status": "active",
"channel_code": "pos_generic"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /commit/release",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /consignment/consume
Purpose: Consume consignment stock (draft)
Notes: Consume consignment stock (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier C (p95 300ms, p99 700ms).
Request schema: ConsignmentConsumeRequest Response schema: ConsignmentEnvelope
Sample request (schema-derived)
json
{
"consignment": {
"request_context": {
"orgcode": "ORGCODE",
"actor": "string",
"context_source": "session"
},
"reason": "example",
"source_refs": [
{
"kind": null,
"id": null
}
],
"owner_ref": {
"kind": "string",
"id": "string"
},
"lines": [
{
"variant_id": null,
"qty": null
}
],
"channel_code": "pos_generic"
},
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"consignment": {
"consignment_id": "string",
"consignment_type": "receive",
"status": "active"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /consignment/consume",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /consignment/receive
Purpose: Receive consignment stock (draft)
Notes: Receive consignment stock (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier D (p95 400ms, p99 800ms).
Request schema: ConsignmentReceiveRequest Response schema: ConsignmentEnvelope
Sample request (schema-derived)
json
{
"consignment": {
"request_context": {
"orgcode": "ORGCODE",
"actor": "string",
"context_source": "session"
},
"reason": "example",
"source_refs": [
{
"kind": null,
"id": null
}
],
"owner_ref": {
"kind": "string",
"id": "string"
},
"lines": [
{
"variant_id": null,
"qty": null
}
]
},
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"consignment": {
"consignment_id": "string",
"consignment_type": "receive",
"status": "active"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /consignment/receive",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /consignment/settle
Purpose: Settle consignment usage (draft)
Notes: Settle consignment usage (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 400ms, p99 800ms).
Request schema: ConsignmentSettlementRequest Response schema: ConsignmentEnvelope
Sample request (schema-derived)
json
{
"settlement": {
"request_context": {
"orgcode": "ORGCODE",
"actor": "string",
"context_source": "session"
},
"reason": "example",
"source_refs": [
{
"kind": null,
"id": null
}
],
"owner_ref": {
"kind": "string",
"id": "string"
},
"amount": {
"currency": "string",
"amount": 0
},
"lines": [
{
"variant_id": null,
"qty": null
}
]
},
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"consignment": {
"consignment_id": "string",
"consignment_type": "receive",
"status": "active"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /consignment/settle",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /count/approve
Purpose: Approve count results (draft)
Notes: Approve count results (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 400ms, p99 900ms).
Request schema: CountApproveRequest Response schema: CountEnvelope
Sample request (schema-derived)
json
{
"count_id": "string",
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"count": {
"count_id": "string",
"status": "active",
"count_type": "cycle"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /count/approve",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /count/create
Purpose: Create count (draft)
Notes: Create count (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: CountCreateRequest Response schema: CountEnvelope
Sample request (schema-derived)
json
{
"count": {
"count_id": "string",
"status": "active",
"count_type": "cycle"
},
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"count": {
"count_id": "string",
"status": "active",
"count_type": "cycle"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /count/create",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /count/plan/get
Purpose: Get count plan (draft)
Notes: Get count 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 C (p95 250ms, p99 600ms).
Request schema: CountPlanGetRequest Response schema: CountPlanEnvelope
Sample request (schema-derived)
json
{
"plan_id": "string"
}Sample response (shape-only)
json
{
"success": true,
"data": {
"plan": {
"plan_id": "string",
"caption": "Example caption",
"logical_guid": "LOGICAL_GUID"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /count/plan/get",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /count/plan/list
Purpose: List count plans (draft)
Notes: List count 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 C (p95 350ms, p99 800ms).
Request schema: CountPlanListRequest Response schema: CountPlanListEnvelope
Sample request (schema-derived)
json
{
"status": "active",
"limit": 8,
"next_token": {}
}Sample response (shape-only)
json
{
"success": true,
"data": {
"plans": [
{
"plan_id": "string",
"caption": "Example caption",
"logical_guid": "LOGICAL_GUID"
}
]
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /count/plan/list",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /count/plan/set
Purpose: Create or update count plan (draft)
Notes: Create or update count 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 350ms, p99 800ms).
Request schema: CountPlanSetRequest Response schema: CountPlanEnvelope
Sample request (schema-derived)
json
{
"plan": {
"plan_id": "string",
"caption": "Example caption",
"logical_guid": "LOGICAL_GUID"
},
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"plan": {
"plan_id": "string",
"caption": "Example caption",
"logical_guid": "LOGICAL_GUID"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /count/plan/set",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /count/plan/status/set
Purpose: Set count plan status (draft)
Notes: Set count plan 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 C (p95 300ms, p99 700ms).
Request schema: CountPlanStatusSetRequest Response schema: CountPlanEnvelope
Sample request (schema-derived)
json
{
"plan_id": "string",
"status": "active",
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"plan": {
"plan_id": "string",
"caption": "Example caption",
"logical_guid": "LOGICAL_GUID"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /count/plan/status/set",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /count/reject
Purpose: Reject count results (draft)
Notes: Reject count results (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 800ms).
Request schema: CountRejectRequest Response schema: CountEnvelope
Sample request (schema-derived)
json
{
"count_id": "string",
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"count": {
"count_id": "string",
"status": "active",
"count_type": "cycle"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /count/reject",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /count/submit
Purpose: Submit count results (draft)
Notes: Submit count results (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: CountSubmitRequest Response schema: CountEnvelope
Sample request (schema-derived)
json
{
"count_id": "string",
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"count": {
"count_id": "string",
"status": "active",
"count_type": "cycle"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /count/submit",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /demand/signal/compute
Purpose: Compute demand signals for a facility from stock card entries (G83)
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"computed_count": 0
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /demand/signal/compute",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /demand/signal/get
Purpose: Get demand signal for a variant at a facility
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"demand_signal": {}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /demand/signal/get",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /demand/signal/list
Purpose: List demand signals for a facility
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": {
"demand_signals": [
{}
],
"next_token": {},
"count": 0
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /demand/signal/list",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /holdback/get
Purpose: Fetch a holdback rule by scope
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"holdback": {}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /holdback/get",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /holdback/list
Purpose: List all holdback rules for a facility
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": {
"holdbacks": [
{}
],
"next_token": {},
"count": 0
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /holdback/list",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /holdback/set
Purpose: Create or update a holdback rule for a facility (scope '*' = facility-wide, or variant_id for per-variant override)
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": {
"holdback": {
"scope": "string",
"holdback_type": "absolute",
"holdback_value": 0
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /holdback/set",
"service": "ics",
"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": "ics",
"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": "ics",
"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": "ics",
"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": "ics",
"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": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /pack/record
Purpose: Record pack movement (draft)
Notes: Record pack movement (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: PackRecordRequest Response schema: StockCardEntryEnvelope
Sample request (schema-derived)
json
{
"pack": {
"variant_id": "VARIANT_ID",
"qty": {
"qty": 0,
"uom": "string"
},
"from_zone_code": "CODE1",
"from_bin_code": "CODE1",
"to_zone_code": "CODE1",
"to_bin_code": "CODE1"
},
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"entry": {
"entry_id": "string",
"variant_id": "VARIANT_ID",
"sku": "string"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /pack/record",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /pick/record
Purpose: Record pick movement (draft)
Notes: Record pick movement (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: PickRecordRequest Response schema: StockCardEntryEnvelope
Sample request (schema-derived)
json
{
"pick": {
"variant_id": "VARIANT_ID",
"qty": {
"qty": 0,
"uom": "string"
},
"from_zone_code": "CODE1",
"from_bin_code": "CODE1"
},
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"entry": {
"entry_id": "string",
"variant_id": "VARIANT_ID",
"sku": "string"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /pick/record",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /putaway/record
Purpose: Record putaway movement (draft)
Notes: Record putaway movement (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: PutawayRecordRequest Response schema: StockCardEntryEnvelope
Sample request (schema-derived)
json
{
"putaway": {
"variant_id": "VARIANT_ID",
"qty": {
"qty": 0,
"uom": "string"
},
"to_zone_code": "CODE1",
"to_bin_code": "CODE1"
},
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"entry": {
"entry_id": "string",
"variant_id": "VARIANT_ID",
"sku": "string"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /putaway/record",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /qc/complete
Purpose: Complete QC for a receipt (draft)
Notes: Complete QC for a receipt (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: QcCompleteRequest Response schema: ReceiveEnvelope
Sample request (schema-derived)
json
{
"qc": {
"receipt_id": "string",
"lines": [
{
"line_id": null
}
]
},
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"receipt": {
"receipt_id": "string",
"logical_guid": "LOGICAL_GUID",
"status": "active"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /qc/complete",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /receive/get
Purpose: Get receipt (draft)
Notes: Get receipt (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 C (p95 250ms, p99 600ms).
Request schema: ReceiveGetRequest Response schema: ReceiveEnvelope
Sample request (schema-derived)
json
{
"receipt_id": "string"
}Sample response (shape-only)
json
{
"success": true,
"data": {
"receipt": {
"receipt_id": "string",
"logical_guid": "LOGICAL_GUID",
"status": "active"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /receive/get",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /receive/list
Purpose: List receipts (draft)
Notes: List receipts (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 C (p95 350ms, p99 800ms).
Request schema: ReceiveListRequest Response schema: ReceiveListEnvelope
Sample request (schema-derived)
json
{
"status": "active",
"limit": 8,
"next_token": {}
}Sample response (shape-only)
json
{
"success": true,
"data": {
"receipts": [
{
"receipt_id": "string",
"logical_guid": "LOGICAL_GUID",
"status": "active"
}
]
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /receive/list",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /receive/record
Purpose: Record receipt (draft)
Notes: Record receipt (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: ReceiveRecordRequest Response schema: ReceiveEnvelope
Sample request (schema-derived)
json
{
"receipt": {
"receipt_id": "string",
"logical_guid": "LOGICAL_GUID",
"status": "active"
},
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"receipt": {
"receipt_id": "string",
"logical_guid": "LOGICAL_GUID",
"status": "active"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /receive/record",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /replenishment/record
Purpose: Record replenishment movement (draft)
Notes: Record replenishment movement (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).
Request schema: ReplenishmentRecordRequest Response schema: StockCardEntryEnvelope
Sample request (schema-derived)
json
{
"replenishment": {
"variant_id": "VARIANT_ID",
"qty": {
"qty": 0,
"uom": "string"
},
"from_zone_code": "CODE1",
"from_bin_code": "CODE1",
"to_zone_code": "CODE1",
"to_bin_code": "CODE1"
},
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"entry": {
"entry_id": "string",
"variant_id": "VARIANT_ID",
"sku": "string"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /replenishment/record",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /replenishment/rule/get
Purpose: Get replenishment rule (draft)
Notes: Get replenishment rule (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 C (p95 250ms, p99 600ms).
Request schema: ReplenishmentRuleGetRequest Response schema: ReplenishmentRuleEnvelope
Sample request (schema-derived)
json
{
"rule_id": "string"
}Sample response (shape-only)
json
{
"success": true,
"data": {
"rule": {
"rule_id": "string",
"variant_id": "VARIANT_ID",
"sku": "string"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /replenishment/rule/get",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /replenishment/rule/list
Purpose: List replenishment rules (draft)
Notes: List replenishment rules (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 C (p95 300ms, p99 700ms).
Request schema: ReplenishmentRuleListRequest Response schema: ReplenishmentRuleListEnvelope
Sample request (schema-derived)
json
{
"variant_id": "VARIANT_ID",
"status": "active",
"pick_bin_code": "CODE1"
}Sample response (shape-only)
json
{
"success": true,
"data": {
"rules": [
{
"rule_id": "string",
"variant_id": "VARIANT_ID",
"sku": "string"
}
]
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /replenishment/rule/list",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /replenishment/rule/set
Purpose: Set replenishment rule (draft)
Notes: Set replenishment rule (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).
Request schema: ReplenishmentRuleSetRequest Response schema: ReplenishmentRuleEnvelope
Sample request (schema-derived)
json
{
"rule": {
"variant_id": "VARIANT_ID",
"pick_zone_code": "CODE1",
"pick_bin_code": "CODE1",
"min_qty": {
"qty": 0,
"uom": "string"
},
"max_qty": {
"qty": 0,
"uom": "string"
}
},
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"rule": {
"rule_id": "string",
"variant_id": "VARIANT_ID",
"sku": "string"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /replenishment/rule/set",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /replenishment/rule/status/set
Purpose: Set replenishment rule status (draft)
Notes: Set replenishment rule 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 B (p95 350ms).
Request schema: ReplenishmentRuleStatusSetRequest Response schema: ReplenishmentRuleEnvelope
Sample request (schema-derived)
json
{
"rule_id": "string",
"status": "active",
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
],
"expected_revision": 0
}Sample response (shape-only)
json
{
"success": true,
"data": {
"rule": {
"rule_id": "string",
"variant_id": "VARIANT_ID",
"sku": "string"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /replenishment/rule/status/set",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /replenishment/suggest
Purpose: Suggest replenishment quantities (draft)
Notes: Suggest replenishment quantities (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier B (p95 300ms).
Request schema: ReplenishmentSuggestRequest Response schema: ReplenishmentSuggestEnvelope
Sample request (schema-derived)
json
{
"variant_id": "VARIANT_ID",
"sku": "string",
"status": "active"
}Sample response (shape-only)
json
{
"success": true,
"data": {
"suggestions": [
{
"suggestion_id": "string",
"rule_id": "string",
"logical_guid": "LOGICAL_GUID"
}
]
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /replenishment/suggest",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /reservation/create
Purpose: Create reservation (draft)
Notes: Create reservation (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: ReservationCreateRequest Response schema: ReservationEnvelope
Sample request (schema-derived)
json
{
"reservation": {
"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": {
"reservation": {
"reservation_id": "string",
"status": "active",
"channel_code": "pos_generic"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /reservation/create",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /reservation/expire
Purpose: Expire reservation (draft)
Notes: Expire reservation (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: ReservationExpireRequest Response schema: ReservationEnvelope
Sample request (schema-derived)
json
{
"reservation_id": "string",
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"reservation": {
"reservation_id": "string",
"status": "active",
"channel_code": "pos_generic"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /reservation/expire",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /reservation/release
Purpose: Release reservation (draft)
Notes: Release reservation (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: ReservationReleaseRequest Response schema: ReservationEnvelope
Sample request (schema-derived)
json
{
"reservation_id": "string",
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"reservation": {
"reservation_id": "string",
"status": "active",
"channel_code": "pos_generic"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /reservation/release",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /search/comments
Purpose: Search comments (org-wide)
Notes: Org-scoped full-text search across comments (ICS/SCM/PCM/CRM/PPM/Influencer/Accounting); results are best-effort and eventually consistent.
Request schema: CommentSearchRequest Response schema: CommentSearchEnvelope
Sample request (schema-derived)
json
{
"q": "string",
"services": [
"string"
],
"target_type": "string"
}Sample response (shape-only)
json
{
"success": true,
"data": {
"items": [
{
"service": "string",
"comment_id": "string",
"target_type": "string",
"target_id": "string"
}
]
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /search/comments",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /search/inbox
Purpose: Search inbox notifications (org-wide)
Notes: Org-scoped full-text search across inbox notifications (ICS/SCM/PCM/CRM/PPM/Influencer/Accounting); results are best-effort and eventually consistent.
Request schema: InboxSearchRequest Response schema: InboxSearchEnvelope
Sample request (schema-derived)
json
{
"q": "string",
"services": [
"string"
],
"team_guid": "string"
}Sample response (shape-only)
json
{
"success": true,
"data": {
"items": [
{
"service": "string",
"notification_id": "string",
"team_guid": "string"
}
]
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /search/inbox",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /serial/360
Purpose: Composite serial 360 — returns serial record + all related warranty claims in one call
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"serial": null,
"warranty_claims": [
{}
]
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /serial/360",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /serial/get
Purpose: Get a serial record by serial_number + variant_id
Request schema: None Response schema: SerialEnvelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"note": "See SerialEnvelope"
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /serial/get",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /serial/list
Purpose: List serial records by variant_id or status (paginated)
Notes: Paginated; use limit and next_token.
Request schema: None Response schema: SerialListEnvelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"note": "See SerialListEnvelope"
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /serial/list",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /serial/lookup
Purpose: Lookup serial by serial_number alone (returns all variants)
Request schema: None Response schema: SerialListEnvelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"note": "See SerialListEnvelope"
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /serial/lookup",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /serial/lookup-udi
Purpose: Lookup serial records by UDI (FDA recall support)
Request schema: None Response schema: SerialListEnvelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"note": "See SerialListEnvelope"
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /serial/lookup-udi",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /serial/register
Purpose: Register a serial number with metadata
Notes: Idempotent upsert of a serial record with manufacture date, warranty, condition, UDI. Resolves G50 (serial metadata) and G53 (serial lookup).
Request schema: None Response schema: SerialEnvelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"note": "See SerialEnvelope"
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /serial/register",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /serial/update
Purpose: Update serial record metadata with expected_revision
Notes: If this updates a revisioned record, expected_revision is required.
Request schema: None Response schema: SerialEnvelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"note": "See SerialEnvelope"
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /serial/update",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /ship/record
Purpose: Record ship movement (draft)
Notes: Record ship movement (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: ShipRecordRequest Response schema: StockCardEntryEnvelope
Sample request (schema-derived)
json
{
"ship": {
"variant_id": "VARIANT_ID",
"qty": {
"qty": 0,
"uom": "string"
},
"from_zone_code": "CODE1",
"from_bin_code": "CODE1",
"to_zone_code": "CODE1",
"to_bin_code": "CODE1"
},
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"entry": {
"entry_id": "string",
"variant_id": "VARIANT_ID",
"sku": "string"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /ship/record",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /snapshot/create
Purpose: Capture a point-in-time inventory snapshot for a facility (G85)
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": {
"snapshot": {}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /snapshot/create",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /snapshot/detail
Purpose: Get detail items (per-variant breakdown) of an inventory snapshot
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"details": [
{}
],
"next_token": {},
"count": 0
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /snapshot/detail",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /snapshot/get
Purpose: Get an inventory snapshot by ID
Request schema: None Response schema: Envelope
Sample request (schema-derived)
json
{}Sample response (shape-only)
json
{
"success": true,
"data": {
"snapshot": {}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /snapshot/get",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /snapshot/list
Purpose: List inventory snapshots for a facility
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": {
"snapshots": [
{}
],
"next_token": {},
"count": 0
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /snapshot/list",
"service": "ics",
"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": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /stock/card/list
Purpose: List stock card entries (draft)
Notes: List stock card entries (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: StockCardListRequest Response schema: StockCardEnvelope
Sample request (schema-derived)
json
{
"variant_id": "VARIANT_ID",
"sku": "string",
"logical_guid": "LOGICAL_GUID"
}Sample response (shape-only)
json
{
"success": true,
"data": {
"entries": [
{
"entry_id": "string",
"variant_id": "VARIANT_ID",
"sku": "string"
}
]
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /stock/card/list",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /stock/get
Purpose: Get stock position (draft)
Notes: When sku is provided without logical_guid, returns a list of matching positions across authorized logical facilities.
Request schema: StockGetRequest Response schema: StockEnvelope
Sample request (schema-derived)
json
{
"variant_id": "VARIANT_ID",
"sku": "string",
"include_bins": false
}Sample response (shape-only)
json
{
"success": true,
"data": {
"stock": {
"variant_id": "VARIANT_ID",
"sku": "string",
"logical_guid": "LOGICAL_GUID"
},
"positions": [
{
"variant_id": "VARIANT_ID",
"sku": "string",
"logical_guid": "LOGICAL_GUID"
}
],
"next_token": "string"
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /stock/get",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /stock/list
Purpose: List stock positions (draft)
Notes: When sku is provided without logical_guid, returns matching positions across authorized logical facilities.
Request schema: StockListRequest Response schema: StockListEnvelope
Sample request (schema-derived)
json
{
"variant_id": "VARIANT_ID",
"sku": "string",
"zone_code": "CODE1"
}Sample response (shape-only)
json
{
"success": true,
"data": {
"positions": [
{
"variant_id": "VARIANT_ID",
"sku": "string",
"logical_guid": "LOGICAL_GUID"
}
]
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /stock/list",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /stock/policy/get
Purpose: Get stock policy (draft)
Notes: Get stock 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 C (p95 150ms, p99 400ms).
Request schema: StockPolicyGetRequest Response schema: StockPolicyEnvelope
Sample request (schema-derived)
json
{
"variant_id": "VARIANT_ID"
}Sample response (shape-only)
json
{
"success": true,
"data": {
"policy": {
"variant_id": "VARIANT_ID",
"logical_guid": "LOGICAL_GUID",
"negative_stock_protection": false
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /stock/policy/get",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /stock/policy/set
Purpose: Set stock policy (draft)
Notes: Set stock 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 D (p95 250ms, p99 500ms).
Request schema: StockPolicySetRequest Response schema: StockPolicyEnvelope
Sample request (schema-derived)
json
{
"policy": {
"variant_id": "VARIANT_ID",
"logical_guid": "LOGICAL_GUID",
"negative_stock_protection": false
},
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"policy": {
"variant_id": "VARIANT_ID",
"logical_guid": "LOGICAL_GUID",
"negative_stock_protection": false
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /stock/policy/set",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /stock/transition
Purpose: Transition stock between buckets (draft)
Notes: Transition stock between buckets (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: StockTransitionRequest Response schema: StockTransitionEnvelope
Sample request (schema-derived)
json
{
"transition": {
"transition_id": "string",
"variant_id": "VARIANT_ID",
"logical_guid": "LOGICAL_GUID",
"qty": {
"qty": 0,
"uom": "string"
},
"from_bucket": "available",
"to_bucket": "available",
"policy_versions": {
"transition_policy_version": "string"
}
},
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"transition": {
"transition_id": "string",
"variant_id": "VARIANT_ID",
"logical_guid": "LOGICAL_GUID",
"qty": {
"qty": 0,
"uom": "string"
},
"from_bucket": "available",
"to_bucket": "available",
"policy_versions": {
"transition_policy_version": "string"
}
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /stock/transition",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /transfer/report
Purpose: Transfer analytics report (draft)
Notes: Transfer analytics report (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier B (p95 500ms).
Request schema: TransferReportRequest Response schema: TransferReportEnvelope
Sample request (schema-derived)
json
{
"status": "active",
"source_logical_guid": "LOGICAL_GUID",
"dest_logical_guid": "LOGICAL_GUID"
}Sample response (shape-only)
json
{
"success": true,
"data": {
"report": {
"transfer_count": 0
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /transfer/report",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /transfer/request/approve
Purpose: Approve transfer request (draft)
Notes: Approve transfer request (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: TransferRequestApproveRequest Response schema: TransferEnvelope
Sample request (schema-derived)
json
{
"transfer_id": "string",
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"transfer": {
"transfer_id": "string",
"status": "active",
"source_logical_guid": "LOGICAL_GUID"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /transfer/request/approve",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /transfer/request/create
Purpose: Create transfer request (draft)
Notes: Create transfer request (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: TransferRequestCreateRequest Response schema: TransferEnvelope
Sample request (schema-derived)
json
{
"transfer": {
"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": {
"transfer": {
"transfer_id": "string",
"status": "active",
"source_logical_guid": "LOGICAL_GUID"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /transfer/request/create",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /transfer/request/get
Purpose: Get transfer request (draft)
Notes: Get transfer request (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: TransferRequestGetRequest Response schema: TransferEnvelope
Sample request (schema-derived)
json
{
"transfer_id": "string"
}Sample response (shape-only)
json
{
"success": true,
"data": {
"transfer": {
"transfer_id": "string",
"status": "active",
"source_logical_guid": "LOGICAL_GUID"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /transfer/request/get",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /transfer/request/list
Purpose: List transfer requests (draft)
Notes: List transfer requests (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: TransferRequestListRequest Response schema: TransferListEnvelope
Sample request (schema-derived)
json
{
"status": "active",
"source_logical_guid": "LOGICAL_GUID",
"dest_logical_guid": "LOGICAL_GUID"
}Sample response (shape-only)
json
{
"success": true,
"data": {
"transfers": [
{
"transfer_id": "string",
"status": "active",
"source_logical_guid": "LOGICAL_GUID"
}
]
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /transfer/request/list",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /transfer/request/submit
Purpose: Submit transfer request (draft)
Notes: Submit transfer request (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: TransferRequestSubmitRequest Response schema: TransferEnvelope
Sample request (schema-derived)
json
{
"transfer_id": "string",
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"transfer": {
"transfer_id": "string",
"status": "active",
"source_logical_guid": "LOGICAL_GUID"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /transfer/request/submit",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /transfer/shipment/get
Purpose: Get transfer shipment (draft)
Notes: Get transfer 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: TransferShipmentGetRequest Response schema: TransferShipmentEnvelope
Sample request (schema-derived)
json
{
"transfer_id": "string",
"shipment_id": "string"
}Sample response (shape-only)
json
{
"success": true,
"data": {
"shipment": {
"shipment_id": "string",
"transfer_id": "string",
"status": "active"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /transfer/shipment/get",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /transfer/shipment/list
Purpose: List transfer shipments (draft)
Notes: List transfer 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: TransferShipmentListRequest Response schema: TransferShipmentListEnvelope
Sample request (schema-derived)
json
{
"transfer_id": "string",
"status": "active",
"exceptions_only": false
}Sample response (shape-only)
json
{
"success": true,
"data": {
"shipments": [
{
"shipment_id": "string",
"transfer_id": "string",
"status": "active",
"shipped_at": "2026-01-01T00:00:00Z",
"source_logical_guid": "LOGICAL_GUID",
"dest_logical_guid": "LOGICAL_GUID"
}
]
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /transfer/shipment/list",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /transfer/shipment/receive
Purpose: Receive transfer shipment (draft)
Notes: Receive transfer shipment (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: TransferReceiveRequest Response schema: TransferShipmentEnvelope
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",
"transfer_id": "string",
"status": "active"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /transfer/shipment/receive",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /transfer/shipment/record
Purpose: Record transfer shipment (draft)
Notes: Record transfer 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: TransferShipmentRecordRequest Response schema: TransferShipmentEnvelope
Sample request (schema-derived)
json
{
"shipment": {
"shipment_id": "string",
"transfer_id": "string",
"status": "active"
},
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"shipment": {
"shipment_id": "string",
"transfer_id": "string",
"status": "active"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /transfer/shipment/record",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /transfer/suggest
Purpose: Suggest transfer quantities (draft)
Notes: Suggest transfer quantities (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier B (p95 300ms).
Request schema: TransferSuggestRequest Response schema: TransferSuggestEnvelope
Sample request (schema-derived)
json
{
"source_logical_guid": "LOGICAL_GUID",
"dest_logical_guid": "LOGICAL_GUID",
"variant_id": "VARIANT_ID"
}Sample response (shape-only)
json
{
"success": true,
"data": {
"suggestions": [
{
"suggestion_id": "string",
"source_logical_guid": "LOGICAL_GUID",
"dest_logical_guid": "LOGICAL_GUID"
}
]
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /transfer/suggest",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /zone/create
Purpose: Create zone (draft)
Notes: Create zone (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 300ms).
Request schema: ZoneCreateRequest Response schema: ZoneEnvelope
Sample request (schema-derived)
json
{
"zone": {
"zone_code": "CODE1"
},
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"zone": {
"zone_id": "string",
"zone_code": "CODE1",
"logical_guid": "LOGICAL_GUID"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /zone/create",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /zone/get
Purpose: Get zone (draft)
Notes: Get zone (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 C (p95 250ms, p99 600ms).
Request schema: ZoneGetRequest Response schema: ZoneEnvelope
Sample request (schema-derived)
json
{
"zone_code": "CODE1"
}Sample response (shape-only)
json
{
"success": true,
"data": {
"zone": {
"zone_id": "string",
"zone_code": "CODE1",
"logical_guid": "LOGICAL_GUID"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /zone/get",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /zone/list
Purpose: List zones (draft)
Notes: List zones (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 C (p95 250ms, p99 600ms).
Request schema: ZoneListRequest Response schema: ZoneListEnvelope
Sample request (schema-derived)
json
{
"status": "active",
"limit": 8,
"next_token": "string"
}Sample response (shape-only)
json
{
"success": true,
"data": {
"zones": [
{
"zone_id": "string",
"zone_code": "CODE1",
"logical_guid": "LOGICAL_GUID"
}
]
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /zone/list",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}POST /zone/status/set
Purpose: Set zone status (draft)
Notes: Set zone 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 B (p95 350ms).
Request schema: ZoneStatusSetRequest Response schema: ZoneEnvelope
Sample request (schema-derived)
json
{
"zone_code": "CODE1",
"status": "active",
"reason": "example",
"source_refs": [
{
"kind": "string",
"id": "string"
}
]
}Sample response (shape-only)
json
{
"success": true,
"data": {
"zone": {
"zone_id": "string",
"zone_code": "CODE1",
"logical_guid": "LOGICAL_GUID"
}
},
"build": {
"build_id": "MONDAY-0000000000"
},
"stats": {
"call": "POST /zone/status/set",
"service": "ics",
"timestamp_utc": "2026-01-01T00:00:00Z"
}
}