Skip to main content

UCP Procurement

Thyris exposes UCP-compatible procurement endpoints under:

https://merchant.thyris.cloud/api/protocols/ucp/procurement

These endpoints use the same authentication, scope enforcement, payload shape, and response model as the REST Procurement API.

For required and optional fields, see Request Field Requirements.

Authentication​

Authorization: Bearer tr_live_your_key_here

or:

X-Procurement-API-Key: tr_live_your_key_here

Endpoint Summary​

MethodEndpointEquivalent REST Endpoint
GET/storesGET /api/v1/procurement/stores
GET/suppliersGET /api/v1/procurement/suppliers
POST/suppliersPOST /api/v1/procurement/suppliers
GET/inventoryGET /api/v1/procurement/inventory
POST/inventoryPOST /api/v1/procurement/inventory
GET/ordersGET /api/v1/procurement/orders
POST/ordersPOST /api/v1/procurement/orders
PATCH/orders/{orderId}PATCH /api/v1/procurement/orders/{orderId}
POST/quotesDeprecated. Quote creation is reserved for the supported supplier quote intake flow.

Supplier Example​

curl -X POST "https://merchant.thyris.cloud/api/protocols/ucp/procurement/suppliers" \
-H "Authorization: Bearer tr_live_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"storeId": "STORE_UUID",
"name": "UCP Supplier",
"domain": "supplier.example.com",
"channel": "google_ucp",
"status": "connected",
"capabilities": ["inventory_feed", "quote_api"]
}'

Inventory Example​

curl -X POST "https://merchant.thyris.cloud/api/protocols/ucp/procurement/inventory" \
-H "Authorization: Bearer tr_live_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"storeId": "STORE_UUID",
"sku": "UCP-PACK-001",
"name": "UCP Packaging Item",
"status": "healthy",
"quantityOnHand": 500,
"reorderPoint": 100,
"unitCost": 0.35,
"currency": "USD"
}'

Order Example​

curl -X POST "https://merchant.thyris.cloud/api/protocols/ucp/procurement/orders" \
-H "Authorization: Bearer tr_live_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"storeId": "STORE_UUID",
"supplierId": "SUPPLIER_UUID",
"status": "requested",
"source": "ucp",
"reason": "UCP procurement order request demo.",
"items": [
{
"name": "UCP Packaging Item",
"quantity": 400,
"unitCost": 0.35,
"currency": "USD"
}
]
}'

Notes​

  • Use the REST Procurement API documentation for field definitions and error behavior.
  • Scope rules are identical to REST procurement endpoints.
  • Procurement has no cart workflow. Use quote and purchase order statuses instead.
  • Procurement inventory and catalog products are independent datasets.
  • Create order requests with status=requested to start the supplier quote request workflow.
  • Supplier quotes are created only through the supported quote intake flow. Do not manually post quote payloads or manually set quote statuses.
  • Procurement creation, supplier communication, inbound quote intake, policy updates, and status updates can trigger outbound procurement webhooks.