openapi: 3.0.1
info:
title: Cargoson Carriers Price Requests API
description: Cargoson is a multi-carrier transport management (TMS) REST API. It exposes a single, unified interface for requesting freight rates, creating shipment queries and direct bookings, retrieving labels and tracking details, and listing carrier services across 2,000+ carriers. Authentication uses an API key as a Bearer token. Requests must send an Accept header of `application/vnd.api.v1`. Endpoints and field names below reflect Cargoson's public integration documentation; request/response schemas not published by Cargoson are intentionally left open (additionalProperties true) rather than fabricated.
termsOfService: https://www.cargoson.com/en/terms
contact:
name: Cargoson Support
url: https://www.cargoson.com/en/integrations
version: '1'
servers:
- url: https://www.cargoson.com/api/v1
description: Cargoson production API (v1)
security:
- bearerAuth: []
tags:
- name: Price Requests
description: Retrieve live freight rate quotes across activated carriers.
paths:
/freightPrices/list:
post:
operationId: listFreightPrices
tags:
- Price Requests
summary: Get freight rate quotes
description: Returns live freight rate quotes and available services from the carriers activated on the account, based on the supplied collection, delivery, and shipment row details.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/FreightPriceListRequest'
responses:
'200':
description: List of freight price quotes.
content:
application/json:
schema:
$ref: '#/components/schemas/FreightPriceListResponse'
'401':
description: Missing or invalid API key.
'422':
description: Validation error in the request body.
components:
schemas:
FreightPrice:
type: object
description: A single carrier rate quote. Exact fields vary by carrier.
additionalProperties: true
ShipmentRow:
type: object
description: A single line/row in a shipment.
properties:
quantity:
type: integer
description: Number of packages.
package_type:
type: string
description: Package type code (e.g. pallet, parcel, box).
weight:
type: number
description: Weight of the row.
description:
type: string
description: Goods description.
additionalProperties: true
FreightPriceListResponse:
type: object
description: Collection of freight price quotes.
properties:
data:
type: array
items:
$ref: '#/components/schemas/FreightPrice'
additionalProperties: true
FreightPriceListRequest:
type: object
description: Request for freight rate quotes. Uses the same collection, delivery, and rows_attributes structure as a query.
properties:
collection_country:
type: string
collection_postcode:
type: string
collection_city:
type: string
delivery_country:
type: string
delivery_postcode:
type: string
delivery_city:
type: string
rows_attributes:
type: array
items:
$ref: '#/components/schemas/ShipmentRow'
additionalProperties: true
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: 'API key passed as a Bearer token in the Authorization header (`Authorization: Bearer YOUR_API_KEY`). Requests must also send `Accept: application/vnd.api.v1`.'