GRAPHQL API
Explore, test, and integrate with our GraphQL endpoint
Operations about user
Refresh the API token by extending its validity period to one period from the current time. A valid Bearer Token is required.
Everything about your drivers
Allows a driver to create a new delivery route if authorized.
Allows an authenticated driver to batch assign orders to a specific route using the routeId in the path.
Allows a driver to batch remove their own orders from a specific route if allowed.
Retrieve a list of orders filtered by optional parameters such as status, id, unassigned flag, and pagination.
Query how many receiving packages exist at a kiosk pickup location. The driver must be assigned to the route, the route must not be ended, and the order must be a kiosk pickup order (related_order_type = 6).
Driver scans a code at a kiosk location and receives a single awaiting-processing package from the receiving area onto their vehicle inventory. Supports every customer-dropped type: returns, express drop-offs and storage drop-offs. The code may be a return code, a reference number, or the package's own unique code. Plain delivery packages are intentionally excluded. If the package has already been received, the mutation returns result=false with message Package has already been received.
Returns the latest price breakdown for the order. If the order is linked to a storage, moving, or shipping order, returns the related order's price details in a unified format.
Everything about client
Returns active channels enabled for Local Delivery orders. Channels reserved for Storage, Moving, or Shipping are excluded. When customer_id or customer_code is provided, the customer's Local Delivery channel whitelist is applied; an empty whitelist means all Local Delivery channels. Default Channel is represented by an empty order_channel_code and is allowed only when the business Default Channel Local Delivery setting is enabled and it is included in the customer's whitelist or no whitelist is configured.
Returns a list of user-selectable surcharges for local delivery orders. Optionally filter by channel_id to only return surcharges applicable to a specific order channel.
Each order in the orders array can include an optional 'surcharges' field (array of objects with surcharge_id, quantity, selected_option, selected_options) to apply surcharges to individual orders.
Everything about shipping
Everything about addressbook
Everything about Drivers
Everything about Drivers Skills
Everything about ReturnReasons
Operations about LabelService
Operations for Optical Character Recognition (OCR) label parsing
Accepts an uploaded file (image, PDF, HEIC, WebP, or archive) and extracts shipping label fields.
Returns the order owned by the caller's business. Alliance Order View: a client may also query orders owned by an alliance partner that shares Order View with them (partner holds the Share grant, caller holds the Receive grant, and Order View is enabled for the alliance). For such cross-business orders the response sets is_alliance_data to true, includes alliance {id, name, code} and order_owner {business_id, business_name} objects, and masks commercial fields (pricing, commission, internal reference, customer id, order channel, order batches, external/third-party tracking identifiers).
Updates time_window_start and time_window_end for one or multiple orders using their reference numbers.
Generate one or more tracking numbers with optional prefix, suffix, and length. Authentication required.
Alliance management operations
Dataset management operations
Dataset advanced features: statistics, validation, webhooks, scheduled imports, audit
UA Business API operations
UA User API operations
Points of Interest management operations
Other operations: password change, V2 endpoints, inventory extensions
Returns available configuration options for building routes: routing engines with their balance modes, capacity types, related order types, order sources, and default values.
V3 client build route API with full /orders/build parameter support. Supports routing engine selection (SROUTE/SROUTE2), unified balance mode, order source and related order type filtering, and structured driver objects with nested addresses and driver-default fallback.
Product management with multi-platform support (WooCommerce, Shopify, Magento). Supports simple, variable, grouped, bundled, virtual, and downloadable product types.
List products for the authenticated business. Supports filtering by product class, SKU, name, and status.
Get a single product with full details including variants, options, platform links, images, barcodes, and bundle items.
Create a new product. Supports all product classes: simple, variable, grouped, bundled, virtual, downloadable.
Trigger product catalog sync from WooCommerce, Shopify, or Magento. Imports products with variants, options, and creates platform links for tracking.
Customer-facing APIs for placing orders from a customer account
Returns warehouses the customer can use, packaging catalog, supplies products, pickup timeframes, unit definitions, surcharges, and dynamic form bindings. Wraps the REST endpoint of the same path.
Returns the moving service packages (pricing plans: pricing_type, base_price, hourly_rate, min_hours, min_charge, prepay_ratio), packaging catalog, supplies products, moving-date timeframes, unit definitions, surcharges, and dynamic form bindings. Moving orders do not use warehouses — the customer provides origin/destination addresses directly.
Step 1 of the two-step create-shipping-order flow. Returns a lightweight list of shipping services the customer is authorized to use, derived from the customer_shipping_service assignment table. Customers with no explicit service assignment get an empty list. After picking a service, call customerShippingOrderServiceConfig with its service_code for the full per-service config.
Step 2 of the two-step create-shipping-order flow. Returns the selected service's warehouses (full address fields), surcharges (drawn from the service's surcharge groups), plus the shared packaging catalog, supplies products (only when allow_purchase_supplies is true), unit definitions, and dynamic form bindings. Returns an error payload if the customer is not authorized for the given service or the service does not exist.
Paginated list; mirrors admin StorageOrderController::index filter/sort semantics via StorageOrderService::getStorageOrders, scoped to the authenticated customer.
Paginated list; mirrors admin MovingOrderController::index filter/sort semantics via MovingOrderService::getMovingOrders, scoped to the authenticated customer.
Paginated list scoped to customer + service. Returns 403 if the customer is not authorized for the service, 404 if the service does not exist.
The order id alone identifies the service; the customer's service access is still enforced via the customer_shipping_service assignment.
Customer-driven shipout of stored packages plus the staff pricing flow. Customer operations require the customer shipout_service setting to be enabled.
Returns the customer's storage packages that are received, not stocked out, and not locked by an active shipout. Optional warehouse_id filter narrows to one source warehouse. Partner accounts blocked. Requires the customer shipout_service setting to be enabled; otherwise returns {result:false,message:"Ship Out Disabled"}.
All selected storage packages must belong to the customer and live at the same warehouse_id. Auto-priced services (PRICING_PRICE_PLAN) compute total_price immediately; manual-priced (PRICING_MANUAL) services land in the staff pricing queue with has_items_needing_quote=true. The package field is a JSON-encoded array of shipping boxes (manually entered — may differ from storage units if items are repacked). Requires the customer shipout_service setting to be enabled; otherwise returns {result:false,message:"Ship Out Disabled"}.
Used by warehouse staff to set the price on a storage-shipout ShippingOrder when its service uses PRICING_MANUAL. After submission, has_items_needing_quote is cleared and the customer can pay. Customers/sub-accounts/partners cannot call this.
Third-party delivery provider order pull and acceptance APIs
Returns orders assigned to the authenticated third-party delivery provider.
Returns one assignment for the authenticated provider and marks it as pulled.
Marks an assignment as accepted by the authenticated provider.
Rejects an assignment and lets Superroute attempt the next matching provider.
Submits an action_code or external_event_code and lets Superroute create status, tracking, and operation records. The assignment is located by (identifier, identifier_type). external_event_code is resolved through the provider's configured event mappings first, then falls back to the adapter's built-in mapping (for example Instadispatch SHIPMENT_DELIVERED -> delivered).
Submits POD photos/signature using a JSON string. The assignment is located by (identifier, identifier_type). The target operation event is optionally located by (event_reference, event_reference_type) — external_event_code is resolved through the provider's configured event mappings first, then falls back to the adapter's built-in mapping.
GraphQL wrapper for the shared smart locker webhook receiver. For Mibox, pass the exact JSON body string in payload_json plus the Mibox signature headers as arguments; Superroute verifies the HMAC signature with the Webhook Secret configured on the Mibox smart locker account, normalizes grid changes, updates door status, and records close events.
GraphQL wrapper for the Superbox device event ingest endpoint. Pass the original device MQTT topic, the device JSON payload string, and the platform ingest token. Supported topic suffixes: status, grids-snapshot, event/photos, event/open-grids-result, event/manual-unlock-selfcheck, event/boot-rescan-finished.
GraphQL wrapper for the SuperPrinter agent pairing endpoint. Pass the one-time pairing code (and optionally the PC fingerprint); returns the node_token used for all subsequent agent calls.
GraphQL wrapper for print-job submission. options_json is a JSON string of print options (copies/duplex/paper).
Move mis-received local delivery packages between warehouses with batch rollback and audit trail
Filter packages already received into the wrong warehouse by received_at range, received_by and order ref. Returns up to 500 packages.
Validates input, dispatches WarehouseTransferJob onto the configured queue, and returns a batch_no immediately. The actual package moves happen in the background. Poll warehouseTransferShow with the returned batch_no to see progress.
Returns transfer batches grouped by batch_no with package counts. Each batch item carries job-execution fields: status (int, see WarehouseTransferStatusInput: 1=Queued, 2=Processing, 3=Completed, 4=Failed, 5=RollbackProcessing, 6=RolledBack, 7=RollbackFailed), expected_count, processed_count, failed_count, error_message, started_at, completed_at.
Returns the batch's job-execution status plus per-package transfer/rollback logs. Poll this endpoint while in_progress=true (i.e. status in {1,2,5}) to see progress. Status codes: 1=Queued, 2=Processing, 3=Completed, 4=Failed, 5=RollbackProcessing, 6=RolledBack, 7=RollbackFailed.
Pre-flight checks the batch exists and is not already rolled back, then dispatches WarehouseTransferJob onto the configured queue. Returns immediately. Poll warehouseTransferShow with the same batch_no to see rollback progress.
Open Tracking Event Protocol — unified tracking timeline with EPCIS / ONE Record / UN-CEFACT projections
Returns the unified OTEP event timeline across self-delivery, third-party and carrier sources. Set format to project to an external standard.