Unified Order Service
Home
Getting Started
  • Core API
  • Drone API
Resources
Home
Getting Started
  • Core API
  • Drone API
Resources
    • Core API Reference
    • Orders API Reference
    • Order Items API
    • Channels API Reference
    • Places API Reference
    • Storage Locations API Reference
    • Webhooks API Reference
      • Order Failed Webhook - Operation Type Specification
    • API Keys Reference

Core API Reference

The Core API provides endpoints for managing orders, channels, places, storage locations, and other entities in the Unified Order Service.

API Endpoints Overview

System Endpoints

EndpointMethodDescription
/v1/healthGETHealth check endpoint
/v1/versionGETGet current API version information

Orders Endpoints

EndpointMethodDescription
/v1/ordersPOSTCreate a new order
/v1/ordersGETList orders with pagination and filtering
/v1/orders/{orderId}GETGet order details by ID
/v1/orders/{orderId}PUTUpdate an existing order
/v1/orders/{orderId}/statusPATCHUpdate order status
/v1/orders/{orderId}/itemsGETGet items in an order
/v1/orders/{orderId}/historyGETGet complete version history with metadata
/v1/orders/{orderId}/versions/{version}GETGet specific order version details
/v1/orders/{orderId}/status-historyGETGet chronological history of status changes

Channels Endpoints

EndpointMethodDescription
/v1/channelsPOSTCreate a new channel
/v1/channelsGETList channels with pagination
/v1/channels/{channelId}GETGet channel details by ID
/v1/channels/{channelId}PUTUpdate channel configuration
/v1/channels/{channelId}/health-checkPOSTTrigger a health check for a channel
/v1/channels/{channelId}/order-schemaGETGet JSON schema for creating orders in this channel
/v1/channels/{channelId}/inventoryGETGet inventory for a channel
/v1/channels/{channelId}/inventory/syncPOSTTrigger inventory sync for a channel
/v1/channels/base-schemaGETGet base order schema
/v1/channels/typesGETList all available channel types
/v1/channels/typesPOSTAdd a new channel type

Places Endpoints

EndpointMethodDescription
/v1/placesPOSTCreate a new place
/v1/placesGETList places with pagination
/v1/places/{placeId}GETGet place details by ID
/v1/places/{placeId}PUTUpdate an existing place
/v1/places/{placeId}PATCHPartially update a place
/v1/places/{placeId}/channels/{channelId}POSTAdd a place to a channel
/v1/places/{placeId}/channels/{channelId}DELETERemove a place from a channel
/v1/places/{placeId}/inventoryGETGet inventory for a place

Storage Locations Endpoints

EndpointMethodDescription
/v1/places/{placeId}/storage-locationGETList all storage locations for a place
/v1/places/{placeId}/storage-locationPOSTCreate a new storage location for a place
/v1/places/{placeId}/storage-location/{id}GETGet storage location details by ID
/v1/places/{placeId}/storage-location/{id}PATCHUpdate an existing storage location
/v1/places/{placeId}/storage-location/{id}DELETEDelete a storage location
/v1/places/{placeId}/storage-location/{id}/temperatureGETGet current temperature for a storage location
/v1/places/{placeId}/storage-location/{id}/temperature/historyGETGet temperature history for a storage location

Subscriptions Endpoints

EndpointMethodDescription
/dts/places/{placeId}/subscriptionsPUTStore or update device subscription for push notifications
/dts/places/{placeId}/subscriptionsDELETERemove device subscription

FCM Notifications

FCM notifications are automatically sent by the system when order events occur. See the FCM Notifications API Reference for payload formats and event specifications.

Payload Structure: All FCM notifications use a default.data wrapper structure for compatibility with mobile apps.

Event Types:

  • event_order_created - Order creation notifications
  • event_order_status_changed - Order status change notifications
  • event_timeslot_started - Timeslot monitoring notifications
  • event_unpicked_orders_reminder - Reminder notifications for unpicked orders

Webhooks Endpoints

EndpointMethodDescription
/v1/channels/{channelId}/webhookPUTUpdate webhook configuration for a channel
/v1/channels/{channelId}/webhookGETGet webhook configuration for a channel
/v1/channels/{channelId}/webhook/testPOSTTest webhook configuration for a channel
/v1/channels/{channelId}/webhook/eventsGETList available webhook events for a channel
/v1/webhooks/logsGETGet recent webhook delivery logs

API Keys Endpoints

EndpointMethodDescription
/v1/api-keysPOSTCreate a new API key
/v1/api-keysGETList API keys
/v1/api-keys/{keyId}GETGet API key details
/v1/api-keys/{keyId}PUTUpdate API key configuration
/v1/api-keys/{keyId}DELETEDeactivate an API key
/v1/api-keys/{keyId}/permissionsGETGet permissions for an API key
/v1/api-keys/{keyId}/permissionsPUTUpdate permissions for an API key

Authentication

All endpoints require authentication using an API key in the Authorization header:

Authorization: Bearer YOUR_API_KEY

For more details on authentication, see the Authentication Guide.

Error Handling

The API returns standard HTTP status codes to indicate the success or failure of a request. Error responses include a message field with more details about the error.

Common Error Codes

  • 400 Bad Request: The request was malformed or missing required parameters
  • 401 Unauthorized: Authentication failed or is missing
  • 403 Forbidden: The API key doesn't have the required permissions
  • 404 Not Found: The requested resource doesn't exist
  • 409 Conflict: Resource conflict (e.g., duplicate name)
  • 429 Too Many Requests: Rate limit exceeded
  • 500 Internal Server Error: An unexpected error occurred on the server
Last Updated: 12/1/25, 11:31 AM
Next
Orders API Reference