Canal Shipping API
The shipping API from Canal — 1 operation(s) for shipping.
The shipping API from Canal — 1 operation(s) for shipping.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/canal:canal-shipping-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Rokt Catalog Shipping API
version: 1.0.1
description: Integrate with Rokt Catalog
servers:
- url: https://api.shopcanal.com/platform
description: Rokt Catalog Storefront Public API
tags:
- name: Shipping
paths:
/shipping/v1/calculate/:
post:
operationId: shipping_v1_calculate_create
description: Calculate shipping rates for supplier variants identified by `supplier_variant_rid` and `supplier_id`. Requires the ROKT_ADS_SHOP feature flag.
tags:
- Shipping
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ShippingCalculationQuery'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ShippingCalculationQuery'
multipart/form-data:
schema:
$ref: '#/components/schemas/ShippingCalculationQuery'
required: true
security:
- platformAppId: []
platformAppToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ShippingCalculationResponse'
description: ''
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: ''
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: ''
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: ''
summary: Shipping v1 calculate create
x-summary-source: derived
components:
schemas:
ShippingCalculationResponse:
type: object
properties:
line_items:
type: array
items:
$ref: '#/components/schemas/ShippingLineItemData'
description: List of shipping calculation results per line item.
calculation_errors:
type: array
items:
type: string
description: Error messages
required:
- calculation_errors
- line_items
SupplierShippingLineItem:
type: object
properties:
supplier_variant_rid:
type: string
supplier_id:
type: string
format: uuid
quantity:
type: integer
minimum: 1
required:
- quantity
- supplier_id
- supplier_variant_rid
Error:
type: object
properties:
message:
type: string
detail: {}
ShippingLineItemData:
type: object
properties:
supplier_variant_rid:
type: string
supplier_id:
type: string
format: uuid
quantity:
type: integer
shipping_amount:
type: string
shipping_details:
$ref: '#/components/schemas/ShippingDetailsData'
required:
- quantity
- shipping_amount
- shipping_details
- supplier_id
- supplier_variant_rid
ShippingCalculationQuery:
type: object
properties:
line_items:
type: array
items:
$ref: '#/components/schemas/SupplierShippingLineItem'
shipping_address:
allOf:
- $ref: '#/components/schemas/TaxAndShippingAddress'
description: The destination address, including fields like `city`, `province_code`, `country_code`, `zip`. `address1`, `name` and `phone` are optional but recommended.
required:
- line_items
- shipping_address
TaxAndShippingAddress:
type: object
description: Address serializer for tax and shipping calculations where address1 and name are optional
properties:
name:
type: string
address1:
type: string
address2:
type: string
city:
type: string
province:
type: string
province_code:
type: string
country:
type: string
country_code:
type: string
zip:
type: string
phone:
type: string
required:
- city
- country
- province
- zip
ShippingDetailsData:
type: object
properties:
price:
type: string
code:
type: string
title:
type: string
description:
type:
- string
- 'null'
default: ''
required:
- code
- price
- title
securitySchemes:
basicAuth:
type: http
scheme: basic
platformAppId:
type: apiKey
in: header
name: X-CANAL-APP-ID
platformAppToken:
type: apiKey
in: header
name: X-CANAL-APP-TOKEN