Core API
The Carriyo Core API manages shared reference data used across the Shipping, Returns, and Orders APIs: delivery types, order types, time slots, locations, webhooks, and shipment attributes.
Delivery types, locations, order types, time slots, webhooks, and custom attributes are configuration you set up once and change infrequently. For most merchants it’s one-time onboarding plus occasional changes. Consider using the Carriyo Dashboard instead: it validates inputs, surfaces required fields contextually, and protects you from the most common misconfigurations.
See the Guides section for step-by-step setup guides.
Delivery Types
A delivery type represents the type of delivery service chosen by the customer. Delivery types are defined by the merchant and typically have values such as "Same Day", "Next Day", or "International".
4 operations · 0 objects
/delivery-typesCreate delivery type
Creates a new delivery type.
Headers
| Name | Value | Required | Description |
|---|---|---|---|
| Authorization | Bearer YOUR-ACCESS-TOKEN | Yes | OAuth 2.0 bearer token obtained from `POST /oauth/token`. |
| x-api-key | YOUR-API-KEY | Yes | Your tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
| tenant-id | YOUR-TENANT-ID | Yes | Your Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
| Content-Type | application/json | Yes | Media type of the request body. |
Request body
application/jsonSchema: delivery-type-requestResponses
delivery-type-responseerror-responseNeed the full machine-readable spec? Download the OpenAPI document →
/delivery-typesList delivery types
Returns the merchant's delivery types.
Headers
| Name | Value | Required | Description |
|---|---|---|---|
| Authorization | Bearer YOUR-ACCESS-TOKEN | Yes | OAuth 2.0 bearer token obtained from `POST /oauth/token`. |
| x-api-key | YOUR-API-KEY | Yes | Your tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
| tenant-id | YOUR-TENANT-ID | Yes | Your Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
Responses
Need the full machine-readable spec? Download the OpenAPI document →
/delivery-types/{delivery-type-id}Get delivery type
Returns the specified delivery type. If the delivery type has been deleted, the deleted property is set to true on the response.
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
| delivery-type-id | string | Yes | — |
Headers
| Name | Value | Required | Description |
|---|---|---|---|
| Authorization | Bearer YOUR-ACCESS-TOKEN | Yes | OAuth 2.0 bearer token obtained from `POST /oauth/token`. |
| x-api-key | YOUR-API-KEY | Yes | Your tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
| tenant-id | YOUR-TENANT-ID | Yes | Your Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
Responses
Need the full machine-readable spec? Download the OpenAPI document →
/delivery-types/{delivery-type-id}Delete delivery type
Permanently deletes the specified delivery type and removes references to it from rules and other settings. This cannot be undone.
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
| delivery-type-id | string | Yes | — |
Headers
| Name | Value | Required | Description |
|---|---|---|---|
| Authorization | Bearer YOUR-ACCESS-TOKEN | Yes | OAuth 2.0 bearer token obtained from `POST /oauth/token`. |
| x-api-key | YOUR-API-KEY | Yes | Your tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
| tenant-id | YOUR-TENANT-ID | Yes | Your Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
Responses
Need the full machine-readable spec? Download the OpenAPI document →
Locations
A location is usually a store or warehouse used as a pickup or dropoff point for shipments or return requests. The merchant configures a location in Carriyo with a code, name, and address, and references it when creating shipments or returns.
7 operations · 0 objects
/locationsCreate location
Creates a new location.
Headers
| Name | Value | Required | Description |
|---|---|---|---|
| Authorization | Bearer YOUR-ACCESS-TOKEN | Yes | OAuth 2.0 bearer token obtained from `POST /oauth/token`. |
| x-api-key | YOUR-API-KEY | Yes | Your tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
| tenant-id | YOUR-TENANT-ID | Yes | Your Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
| Content-Type | application/json | Yes | Media type of the request body. |
Request body
application/jsonSchema: location-request- Radius around the location's coordinates within which it can fulfil. Mutually exclusive with
fulfillment_zones(setting both is rejected). The value must be positive, and the location must havecoords. Coverage is matched by distance, so an order or storefront request qualifies only when it carries customer coordinates.
Responses
location-response- Radius around the location's coordinates within which it can fulfil. Mutually exclusive with
fulfillment_zones(setting both is rejected). The value must be positive, and the location must havecoords. Coverage is matched by distance, so an order or storefront request qualifies only when it carries customer coordinates.
Need the full machine-readable spec? Download the OpenAPI document →
/locationsList locations
Returns the merchant's locations.
Headers
| Name | Value | Required | Description |
|---|---|---|---|
| Authorization | Bearer YOUR-ACCESS-TOKEN | Yes | OAuth 2.0 bearer token obtained from `POST /oauth/token`. |
| x-api-key | YOUR-API-KEY | Yes | Your tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
| tenant-id | YOUR-TENANT-ID | Yes | Your Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
Responses
- Radius around the location's coordinates within which it can fulfil. Mutually exclusive with
fulfillment_zones(setting both is rejected). The value must be positive, and the location must havecoords. Coverage is matched by distance, so an order or storefront request qualifies only when it carries customer coordinates.
Need the full machine-readable spec? Download the OpenAPI document →
/locations/{location-id}Get location
Returns the specified location. If the location has been deleted, the deleted property is set to true on the response.
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
| location-id | string | Yes | — |
Headers
| Name | Value | Required | Description |
|---|---|---|---|
| Authorization | Bearer YOUR-ACCESS-TOKEN | Yes | OAuth 2.0 bearer token obtained from `POST /oauth/token`. |
| x-api-key | YOUR-API-KEY | Yes | Your tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
| tenant-id | YOUR-TENANT-ID | Yes | Your Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
Responses
location-response- Radius around the location's coordinates within which it can fulfil. Mutually exclusive with
fulfillment_zones(setting both is rejected). The value must be positive, and the location must havecoords. Coverage is matched by distance, so an order or storefront request qualifies only when it carries customer coordinates.
Need the full machine-readable spec? Download the OpenAPI document →
/locations/{location-id}Update location
Updates the specified location. All fields are updated to the values supplied in the request body; fields omitted from the request are cleared.
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
| location-id | string | Yes | — |
Headers
| Name | Value | Required | Description |
|---|---|---|---|
| Authorization | Bearer YOUR-ACCESS-TOKEN | Yes | OAuth 2.0 bearer token obtained from `POST /oauth/token`. |
| x-api-key | YOUR-API-KEY | Yes | Your tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
| tenant-id | YOUR-TENANT-ID | Yes | Your Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
| Content-Type | application/json | Yes | Media type of the request body. |
Request body
application/jsonSchema: location-request- Radius around the location's coordinates within which it can fulfil. Mutually exclusive with
fulfillment_zones(setting both is rejected). The value must be positive, and the location must havecoords. Coverage is matched by distance, so an order or storefront request qualifies only when it carries customer coordinates.
Responses
location-response- Radius around the location's coordinates within which it can fulfil. Mutually exclusive with
fulfillment_zones(setting both is rejected). The value must be positive, and the location must havecoords. Coverage is matched by distance, so an order or storefront request qualifies only when it carries customer coordinates.
Need the full machine-readable spec? Download the OpenAPI document →
/locations/{location-id}Partially update location
Partially updates the specified location. Only the fields included in the request body are changed; fields omitted are left unchanged. (The full PUT update, by contrast, clears omitted fields.)
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
| location-id | string | Yes | — |
Headers
| Name | Value | Required | Description |
|---|---|---|---|
| Authorization | Bearer YOUR-ACCESS-TOKEN | Yes | OAuth 2.0 bearer token obtained from `POST /oauth/token`. |
| x-api-key | YOUR-API-KEY | Yes | Your tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
| tenant-id | YOUR-TENANT-ID | Yes | Your Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
| Content-Type | application/json | Yes | Media type of the request body. |
Request body
application/jsonSchema: patch-location-request- Geographies this location can fulfil (country, optionally narrowed to states, cities, or areas). Supplying
fulfillment_zoneson a PATCH clears any existingfulfillment_radius, so you can switch a location from radius to zone coverage in a single call. Supplying bothfulfillment_zonesandfulfillment_radiusin the same request is rejected. A location with neither serves everywhere. - Radius around the location's coordinates within which it can fulfil. Supplying
fulfillment_radiuson a PATCH clears any existingfulfillment_zones, so you can switch a location from zone to radius coverage in a single call. Supplying both in the same request is rejected. The value must be positive, and the location must havecoords. Coverage is matched by distance, so an order or storefront request qualifies only when it carries customer coordinates.
Responses
location-response- Radius around the location's coordinates within which it can fulfil. Mutually exclusive with
fulfillment_zones(setting both is rejected). The value must be positive, and the location must havecoords. Coverage is matched by distance, so an order or storefront request qualifies only when it carries customer coordinates.
Need the full machine-readable spec? Download the OpenAPI document →
/locations/{location-id}Delete location
Permanently deletes the specified location and removes references to it from rules and other settings. This cannot be undone.
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
| location-id | string | Yes | — |
Headers
| Name | Value | Required | Description |
|---|---|---|---|
| Authorization | Bearer YOUR-ACCESS-TOKEN | Yes | OAuth 2.0 bearer token obtained from `POST /oauth/token`. |
| x-api-key | YOUR-API-KEY | Yes | Your tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
| tenant-id | YOUR-TENANT-ID | Yes | Your Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
Responses
location-response- Radius around the location's coordinates within which it can fulfil. Mutually exclusive with
fulfillment_zones(setting both is rejected). The value must be positive, and the location must havecoords. Coverage is matched by distance, so an order or storefront request qualifies only when it carries customer coordinates.
Need the full machine-readable spec? Download the OpenAPI document →
/locations/bulk/importBulk import locations
Create or update multiple locations in one request. Each entry is matched by location_code:
if a location with that code already exists it is updated; otherwise a new location is created.
Processing
- Rows are processed in parallel.
- Duplicate
location_codeorlocation_namevalues within the same request are rejected. - Quota limits may reject additional rows when the tenant is at its location cap.
Limits
Batch size is capped by the tenant bulk.import.limit setting (commonly 20 locations per request).
Split larger imports into multiple calls.
Response
Returns one entry per input row. Each entry includes:
result:acceptedwhen the row was created or updated;rejectedotherwise.reason: detail whenresultisrejected.location: the saved location whenresultisaccepted.locationCode: the code from the request (useful whenlocationis absent).
Headers
| Name | Value | Required | Description |
|---|---|---|---|
| Authorization | Bearer YOUR-ACCESS-TOKEN | Yes | OAuth 2.0 bearer token obtained from `POST /oauth/token`. |
| x-api-key | YOUR-API-KEY | Yes | Your tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
| tenant-id | YOUR-TENANT-ID | Yes | Your Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
| Content-Type | application/json | Yes | Media type of the request body. |
Request body
application/jsonSchema: location-bulk-import-requestrequiredResponses
Need the full machine-readable spec? Download the OpenAPI document →
Order Types
An order type represents the order journey chosen by the customer. Order types are defined by the merchant and typically have values such as "Home Delivery" or "Click & Collect".
4 operations · 0 objects
/order-typesCreate order type
Creates a new order type.
Headers
| Name | Value | Required | Description |
|---|---|---|---|
| Authorization | Bearer YOUR-ACCESS-TOKEN | Yes | OAuth 2.0 bearer token obtained from `POST /oauth/token`. |
| x-api-key | YOUR-API-KEY | Yes | Your tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
| tenant-id | YOUR-TENANT-ID | Yes | Your Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
| Content-Type | application/json | Yes | Media type of the request body. |
Request body
application/jsonSchema: order-type-requestResponses
order-type-responseerror-responseNeed the full machine-readable spec? Download the OpenAPI document →
/order-typesList order types
Returns the merchant's order types, most recently created first.
Headers
| Name | Value | Required | Description |
|---|---|---|---|
| Authorization | Bearer YOUR-ACCESS-TOKEN | Yes | OAuth 2.0 bearer token obtained from `POST /oauth/token`. |
| x-api-key | YOUR-API-KEY | Yes | Your tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
| tenant-id | YOUR-TENANT-ID | Yes | Your Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
Responses
Need the full machine-readable spec? Download the OpenAPI document →
/order-types/{order-type-id}Get order type
Returns the specified order type. If the order type has been deleted, the deleted property is set to true on the response.
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
| order-type-id | string | Yes | — |
Headers
| Name | Value | Required | Description |
|---|---|---|---|
| Authorization | Bearer YOUR-ACCESS-TOKEN | Yes | OAuth 2.0 bearer token obtained from `POST /oauth/token`. |
| x-api-key | YOUR-API-KEY | Yes | Your tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
| tenant-id | YOUR-TENANT-ID | Yes | Your Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
Responses
Need the full machine-readable spec? Download the OpenAPI document →
/order-types/{order-type-id}Delete order type
Permanently deletes the specified order type and removes references to it from rules and other settings. This cannot be undone.
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
| order-type-id | string | Yes | — |
Headers
| Name | Value | Required | Description |
|---|---|---|---|
| Authorization | Bearer YOUR-ACCESS-TOKEN | Yes | OAuth 2.0 bearer token obtained from `POST /oauth/token`. |
| x-api-key | YOUR-API-KEY | Yes | Your tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
| tenant-id | YOUR-TENANT-ID | Yes | Your Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
Responses
Need the full machine-readable spec? Download the OpenAPI document →
Time Slots
A time slot is used to schedule collections (pickup) and deliveries (dropoff). Each time slot has a code, name, and a start and end time. Time slots can be presented as pre-configured options to the customer when creating a shipment or a return.
4 operations · 0 objects
/time-slotsCreate time slot
Creates a new time slot.
Headers
| Name | Value | Required | Description |
|---|---|---|---|
| Authorization | Bearer YOUR-ACCESS-TOKEN | Yes | OAuth 2.0 bearer token obtained from `POST /oauth/token`. |
| x-api-key | YOUR-API-KEY | Yes | Your tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
| tenant-id | YOUR-TENANT-ID | Yes | Your Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
| Content-Type | application/json | Yes | Media type of the request body. |
Request body
application/jsonSchema: time-slotResponses
Need the full machine-readable spec? Download the OpenAPI document →
/time-slotsList time slots
Returns the merchant's time slots.
Headers
| Name | Value | Required | Description |
|---|---|---|---|
| Authorization | Bearer YOUR-ACCESS-TOKEN | Yes | OAuth 2.0 bearer token obtained from `POST /oauth/token`. |
| x-api-key | YOUR-API-KEY | Yes | Your tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
| tenant-id | YOUR-TENANT-ID | Yes | Your Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
Responses
Need the full machine-readable spec? Download the OpenAPI document →
/time-slots/{time-slot-id}Get time slot
Returns the specified time slot.
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
| time-slot-id | string | Yes | — |
Headers
| Name | Value | Required | Description |
|---|---|---|---|
| Authorization | Bearer YOUR-ACCESS-TOKEN | Yes | OAuth 2.0 bearer token obtained from `POST /oauth/token`. |
| x-api-key | YOUR-API-KEY | Yes | Your tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
| tenant-id | YOUR-TENANT-ID | Yes | Your Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
Responses
Need the full machine-readable spec? Download the OpenAPI document →
/time-slots/{time-slot-id}Delete time slot
Permanently deletes the specified time slot. This cannot be undone.
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
| time-slot-id | string | Yes | — |
Headers
| Name | Value | Required | Description |
|---|---|---|---|
| Authorization | Bearer YOUR-ACCESS-TOKEN | Yes | OAuth 2.0 bearer token obtained from `POST /oauth/token`. |
| x-api-key | YOUR-API-KEY | Yes | Your tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
| tenant-id | YOUR-TENANT-ID | Yes | Your Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
Responses
Need the full machine-readable spec? Download the OpenAPI document →
Delivery Options
A delivery option is a customer-facing delivery choice (such as "Same Day" or "Next Day Premium") shown on your webstore or app. Each option carries the carrier account that fulfils it, its pricing and delivery-time estimate, and the eligibility conditions (geography, order value, weight, payment type) under which it appears. The merchant configures delivery options in the Carriyo Dashboard; the shopper-facing lookups that evaluate them live in the Storefront API.
5 operations · 0 objects
/delivery-optionsCreate delivery option
Creates a customer-facing delivery option (e.g. 'Same Day', 'Next Day Premium') with its associated carrier, schedule, fee, and eligibility conditions.
Headers
| Name | Value | Required | Description |
|---|---|---|---|
| Authorization | Bearer YOUR-ACCESS-TOKEN | Yes | OAuth 2.0 bearer token obtained from `POST /oauth/token`. |
| x-api-key | YOUR-API-KEY | Yes | Your tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
| tenant-id | YOUR-TENANT-ID | Yes | Your Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
| Content-Type | application/json | Yes | Media type of the request body. |
Request body
application/jsonSchema: delivery-optionrequiredResponses
delivery-optionNeed the full machine-readable spec? Download the OpenAPI document →
/delivery-optionsList delivery options
Returns the merchant's delivery options.
Headers
| Name | Value | Required | Description |
|---|---|---|---|
| Authorization | Bearer YOUR-ACCESS-TOKEN | Yes | OAuth 2.0 bearer token obtained from `POST /oauth/token`. |
| x-api-key | YOUR-API-KEY | Yes | Your tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
| tenant-id | YOUR-TENANT-ID | Yes | Your Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
Responses
Need the full machine-readable spec? Download the OpenAPI document →
/delivery-options/{delivery-option-id}Get delivery option
Returns the specified delivery option.
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
| delivery-option-id | string | Yes | Delivery option ID. |
Headers
| Name | Value | Required | Description |
|---|---|---|---|
| Authorization | Bearer YOUR-ACCESS-TOKEN | Yes | OAuth 2.0 bearer token obtained from `POST /oauth/token`. |
| x-api-key | YOUR-API-KEY | Yes | Your tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
| tenant-id | YOUR-TENANT-ID | Yes | Your Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
Responses
delivery-optionNeed the full machine-readable spec? Download the OpenAPI document →
/delivery-options/{delivery-option-id}Update delivery option
Updates the specified delivery option.
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
| delivery-option-id | string | Yes | Delivery option ID. |
Headers
| Name | Value | Required | Description |
|---|---|---|---|
| Authorization | Bearer YOUR-ACCESS-TOKEN | Yes | OAuth 2.0 bearer token obtained from `POST /oauth/token`. |
| x-api-key | YOUR-API-KEY | Yes | Your tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
| tenant-id | YOUR-TENANT-ID | Yes | Your Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
| Content-Type | application/json | Yes | Media type of the request body. |
Request body
application/jsonSchema: delivery-optionrequiredResponses
delivery-optionNeed the full machine-readable spec? Download the OpenAPI document →
/delivery-options/{delivery-option-id}Delete delivery option
Permanently deletes the specified delivery option. This cannot be undone.
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
| delivery-option-id | string | Yes | Delivery option ID. |
Headers
| Name | Value | Required | Description |
|---|---|---|---|
| Authorization | Bearer YOUR-ACCESS-TOKEN | Yes | OAuth 2.0 bearer token obtained from `POST /oauth/token`. |
| x-api-key | YOUR-API-KEY | Yes | Your tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
| tenant-id | YOUR-TENANT-ID | Yes | Your Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
Responses
Need the full machine-readable spec? Download the OpenAPI document →
Webhooks
A webhook lets Carriyo push real-time updates to your system. Carriyo sends notifications as JSON payloads over HTTPS, which your backend can use to trigger downstream actions. The webhook entity holds the configuration: triggers, target URL, custom headers, and so on.
7 operations · 0 objects
/webhooksCreate webhook
Create a webhook subscription. The configuration sets the target URL, the
entity_type to listen on (Shipment, ReverseShipment, or ReturnRequest), the
statuses to deliver via notify_status, and any custom headers used to authenticate
the delivery to your endpoint.
Headers
| Name | Value | Required | Description |
|---|---|---|---|
| Authorization | Bearer YOUR-ACCESS-TOKEN | Yes | OAuth 2.0 bearer token obtained from `POST /oauth/token`. |
| x-api-key | YOUR-API-KEY | Yes | Your tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
| tenant-id | YOUR-TENANT-ID | Yes | Your Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
| Content-Type | application/json | Yes | Media type of the request body. |
Request body
application/jsonSchema: webhook-requestResponses
webhook-responseNeed the full machine-readable spec? Download the OpenAPI document →
/webhooksList webhooks
Returns the merchant's webhooks.
Headers
| Name | Value | Required | Description |
|---|---|---|---|
| Authorization | Bearer YOUR-ACCESS-TOKEN | Yes | OAuth 2.0 bearer token obtained from `POST /oauth/token`. |
| x-api-key | YOUR-API-KEY | Yes | Your tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
| tenant-id | YOUR-TENANT-ID | Yes | Your Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
Responses
Need the full machine-readable spec? Download the OpenAPI document →
/webhooks/failed-eventsRetrieve failed webhook events
Retrieve webhook events that failed within a given time range. The range can span up to 1 day and can reach back as far as the last 30 days.
A failed webhook event is one where Carriyo received a non-200 response from your
endpoint.
Set start_date and end_date in ISO 8601 format (for example
2023-03-22T10:15:30.123Z) to define the range.
Query parameters
| Name | Type | Required | Description |
|---|---|---|---|
| webhook_id | string | Yes | ID of the Carriyo webhook configuration |
| start_date | string | Yes | The start date and time in ISO 8601 format with milliseconds. Pattern: yyyy-MM-dd'T'HH:mm:ss.SSSZ |
| end_date | string | Yes | The end date and time in ISO 8601 format with milliseconds. Pattern: yyyy-MM-dd'T'HH:mm:ss.SSSZ |
Headers
| Name | Value | Required | Description |
|---|---|---|---|
| Authorization | Bearer YOUR-ACCESS-TOKEN | Yes | OAuth 2.0 bearer token obtained from `POST /oauth/token`. |
| x-api-key | YOUR-API-KEY | Yes | Your tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
| tenant-id | YOUR-TENANT-ID | Yes | Your Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
Responses
webhook-failed-events-success-responseNeed the full machine-readable spec? Download the OpenAPI document →
/webhooks/retrigger-failed-eventsRetrigger failed webhook events
Manually retrigger failed webhook events, for when your endpoint was unavailable or kept failing beyond the automatic retry limit.
A failed webhook event is one where Carriyo received a non-200 response from your
endpoint.
Specify a time range of up to 1 day, reaching back as far as the last 30 days. Each call retriggers at most 1,000 events.
Headers
| Name | Value | Required | Description |
|---|---|---|---|
| Authorization | Bearer YOUR-ACCESS-TOKEN | Yes | OAuth 2.0 bearer token obtained from `POST /oauth/token`. |
| x-api-key | YOUR-API-KEY | Yes | Your tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
| tenant-id | YOUR-TENANT-ID | Yes | Your Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
| Content-Type | application/json | Yes | Media type of the request body. |
Request body
application/jsonSchema: webhook-retrigger-failed-events-requestrequiredResponses
webhook-retrigger-failed-events-success-responseNeed the full machine-readable spec? Download the OpenAPI document →
/webhooks/{webhook-id}Get webhook
Returns the specified webhook.
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
| webhook-id | string | Yes | — |
Headers
| Name | Value | Required | Description |
|---|---|---|---|
| Authorization | Bearer YOUR-ACCESS-TOKEN | Yes | OAuth 2.0 bearer token obtained from `POST /oauth/token`. |
| x-api-key | YOUR-API-KEY | Yes | Your tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
| tenant-id | YOUR-TENANT-ID | Yes | Your Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
Responses
webhook-responseNeed the full machine-readable spec? Download the OpenAPI document →
/webhooks/{webhook-id}Update webhook
Updates the specified webhook. All fields are updated to the values supplied in the request body; fields omitted from the request are cleared.
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
| webhook-id | string | Yes | — |
Headers
| Name | Value | Required | Description |
|---|---|---|---|
| Authorization | Bearer YOUR-ACCESS-TOKEN | Yes | OAuth 2.0 bearer token obtained from `POST /oauth/token`. |
| x-api-key | YOUR-API-KEY | Yes | Your tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
| tenant-id | YOUR-TENANT-ID | Yes | Your Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
| Content-Type | application/json | Yes | Media type of the request body. |
Request body
application/jsonSchema: webhook-requestResponses
webhook-responseNeed the full machine-readable spec? Download the OpenAPI document →
/webhooks/{webhook-id}Delete webhook
Permanently deletes the specified webhook. This cannot be undone.
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
| webhook-id | string | Yes | — |
Headers
| Name | Value | Required | Description |
|---|---|---|---|
| Authorization | Bearer YOUR-ACCESS-TOKEN | Yes | OAuth 2.0 bearer token obtained from `POST /oauth/token`. |
| x-api-key | YOUR-API-KEY | Yes | Your tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
| tenant-id | YOUR-TENANT-ID | Yes | Your Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
Responses
webhook-responseNeed the full machine-readable spec? Download the OpenAPI document →
Attributes
A shipment attribute lets the merchant extend the shipment model with additional custom information that isn't natively supported in the Carriyo data model. As a merchant, you define your own custom attributes and reference them on shipments.
5 operations · 0 objects
/attributesCreate attribute
Creates a new custom attribute. Once created, the attribute can be set on shipments, addresses, or products depending on attribute_entity_type.
Headers
| Name | Value | Required | Description |
|---|---|---|---|
| Authorization | Bearer YOUR-ACCESS-TOKEN | Yes | OAuth 2.0 bearer token obtained from `POST /oauth/token`. |
| x-api-key | YOUR-API-KEY | Yes | Your tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
| tenant-id | YOUR-TENANT-ID | Yes | Your Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
| Content-Type | application/json | Yes | Media type of the request body. |
Request body
application/jsonSchema: attribute-requestResponses
attribute-responseerror-responseNeed the full machine-readable spec? Download the OpenAPI document →
/attributesList attributes
Returns the merchant's custom attributes.
Headers
| Name | Value | Required | Description |
|---|---|---|---|
| Authorization | Bearer YOUR-ACCESS-TOKEN | Yes | OAuth 2.0 bearer token obtained from `POST /oauth/token`. |
| x-api-key | YOUR-API-KEY | Yes | Your tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
| tenant-id | YOUR-TENANT-ID | Yes | Your Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
Responses
Need the full machine-readable spec? Download the OpenAPI document →
/attributes/{attribute-id}Get attribute
Returns the specified custom attribute.
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
| attribute-id | string | Yes | — |
Headers
| Name | Value | Required | Description |
|---|---|---|---|
| Authorization | Bearer YOUR-ACCESS-TOKEN | Yes | OAuth 2.0 bearer token obtained from `POST /oauth/token`. |
| x-api-key | YOUR-API-KEY | Yes | Your tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
| tenant-id | YOUR-TENANT-ID | Yes | Your Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
Responses
attribute-responseNeed the full machine-readable spec? Download the OpenAPI document →
/attributes/{attribute-id}Update attribute
Updates the specified custom attribute. Only attribute_type and allowed_values can be changed; other fields are fixed at creation time.
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
| attribute-id | string | Yes | — |
Headers
| Name | Value | Required | Description |
|---|---|---|---|
| Authorization | Bearer YOUR-ACCESS-TOKEN | Yes | OAuth 2.0 bearer token obtained from `POST /oauth/token`. |
| x-api-key | YOUR-API-KEY | Yes | Your tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
| tenant-id | YOUR-TENANT-ID | Yes | Your Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
| Content-Type | application/json | Yes | Media type of the request body. |
Request body
application/jsonSchema: attribute-update-requestResponses
attribute-responseerror-responseNeed the full machine-readable spec? Download the OpenAPI document →
/attributes/{attribute-id}Delete attribute
Deletes the specified custom attribute. Existing values on shipments / addresses / products are preserved but the attribute can no longer be set on new ones.
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
| attribute-id | string | Yes | — |
Headers
| Name | Value | Required | Description |
|---|---|---|---|
| Authorization | Bearer YOUR-ACCESS-TOKEN | Yes | OAuth 2.0 bearer token obtained from `POST /oauth/token`. |
| x-api-key | YOUR-API-KEY | Yes | Your tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
| tenant-id | YOUR-TENANT-ID | Yes | Your Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`. |
Responses
attribute-responseNeed the full machine-readable spec? Download the OpenAPI document →