Create a shipment
curl --request POST \
--url https://clarus-api.com/api/shipments \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Clarus-Subdomain: <api-key>' \
--data '
{
"data": {
"type": "shipments",
"attributes": {
"goods_out_id": 123,
"carrier_id": 123,
"carrier_service_id": 123,
"reference": "<string>",
"tracking_number": "<string>",
"external_system_reference1": "<string>",
"external_system_reference2": "<string>",
"external_system_reference3": "<string>",
"string1": "<string>",
"string2": "<string>",
"string3": "<string>",
"string4": "<string>",
"string5": "<string>",
"packages": [
{
"reference": "<string>",
"weight": 123,
"height": 123,
"length": 123,
"width": 123
}
]
},
"relationships": {
"address": {
"data": {
"type": "addresses",
"attributes": {
"name": "John Smith",
"address_1": "123 Main Street",
"address_2": "Unit 4B",
"address_3": "London",
"address_4": "Greater London",
"postcode": "SW1A 1AA",
"country_code": "GB",
"email_address": "[email protected]",
"phone_number": "+44 20 7946 0958"
}
}
}
}
}
}
'import requests
url = "https://clarus-api.com/api/shipments"
payload = { "data": {
"type": "shipments",
"attributes": {
"goods_out_id": 123,
"carrier_id": 123,
"carrier_service_id": 123,
"reference": "<string>",
"tracking_number": "<string>",
"external_system_reference1": "<string>",
"external_system_reference2": "<string>",
"external_system_reference3": "<string>",
"string1": "<string>",
"string2": "<string>",
"string3": "<string>",
"string4": "<string>",
"string5": "<string>",
"packages": [
{
"reference": "<string>",
"weight": 123,
"height": 123,
"length": 123,
"width": 123
}
]
},
"relationships": { "address": { "data": {
"type": "addresses",
"attributes": {
"name": "John Smith",
"address_1": "123 Main Street",
"address_2": "Unit 4B",
"address_3": "London",
"address_4": "Greater London",
"postcode": "SW1A 1AA",
"country_code": "GB",
"email_address": "[email protected]",
"phone_number": "+44 20 7946 0958"
}
} } }
} }
headers = {
"Authorization": "Bearer <token>",
"X-Clarus-Subdomain": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
Authorization: 'Bearer <token>',
'X-Clarus-Subdomain': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
data: {
type: 'shipments',
attributes: {
goods_out_id: 123,
carrier_id: 123,
carrier_service_id: 123,
reference: '<string>',
tracking_number: '<string>',
external_system_reference1: '<string>',
external_system_reference2: '<string>',
external_system_reference3: '<string>',
string1: '<string>',
string2: '<string>',
string3: '<string>',
string4: '<string>',
string5: '<string>',
packages: [{reference: '<string>', weight: 123, height: 123, length: 123, width: 123}]
},
relationships: {
address: {
data: {
type: 'addresses',
attributes: {
name: 'John Smith',
address_1: '123 Main Street',
address_2: 'Unit 4B',
address_3: 'London',
address_4: 'Greater London',
postcode: 'SW1A 1AA',
country_code: 'GB',
email_address: '[email protected]',
phone_number: '+44 20 7946 0958'
}
}
}
}
}
})
};
fetch('https://clarus-api.com/api/shipments', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": {
"id": 123,
"type": "shipments",
"attributes": {
"goods_out_id": 123,
"carrier_id": 123,
"carrier_service_id": 123,
"reference": "<string>",
"tracking_number": "<string>",
"external_system_reference1": "<string>",
"external_system_reference2": "<string>",
"external_system_reference3": "<string>",
"string1": "<string>",
"string2": "<string>",
"string3": "<string>",
"string4": "<string>",
"string5": "<string>",
"packages": [
{
"reference": "<string>",
"weight": 123,
"height": 123,
"length": 123,
"width": 123
}
]
}
}
}{
"error": "<string>"
}{
"errors": [
{
"code": 123,
"symbol": "<string>",
"details": "<string>",
"source": "<string>",
"context": {}
}
]
}Shipments
Create a shipment
Create a new shipment for a goods out order. Shipments contain package information and are submitted to carriers for label generation.
POST
/
api
/
shipments
Create a shipment
curl --request POST \
--url https://clarus-api.com/api/shipments \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Clarus-Subdomain: <api-key>' \
--data '
{
"data": {
"type": "shipments",
"attributes": {
"goods_out_id": 123,
"carrier_id": 123,
"carrier_service_id": 123,
"reference": "<string>",
"tracking_number": "<string>",
"external_system_reference1": "<string>",
"external_system_reference2": "<string>",
"external_system_reference3": "<string>",
"string1": "<string>",
"string2": "<string>",
"string3": "<string>",
"string4": "<string>",
"string5": "<string>",
"packages": [
{
"reference": "<string>",
"weight": 123,
"height": 123,
"length": 123,
"width": 123
}
]
},
"relationships": {
"address": {
"data": {
"type": "addresses",
"attributes": {
"name": "John Smith",
"address_1": "123 Main Street",
"address_2": "Unit 4B",
"address_3": "London",
"address_4": "Greater London",
"postcode": "SW1A 1AA",
"country_code": "GB",
"email_address": "[email protected]",
"phone_number": "+44 20 7946 0958"
}
}
}
}
}
}
'import requests
url = "https://clarus-api.com/api/shipments"
payload = { "data": {
"type": "shipments",
"attributes": {
"goods_out_id": 123,
"carrier_id": 123,
"carrier_service_id": 123,
"reference": "<string>",
"tracking_number": "<string>",
"external_system_reference1": "<string>",
"external_system_reference2": "<string>",
"external_system_reference3": "<string>",
"string1": "<string>",
"string2": "<string>",
"string3": "<string>",
"string4": "<string>",
"string5": "<string>",
"packages": [
{
"reference": "<string>",
"weight": 123,
"height": 123,
"length": 123,
"width": 123
}
]
},
"relationships": { "address": { "data": {
"type": "addresses",
"attributes": {
"name": "John Smith",
"address_1": "123 Main Street",
"address_2": "Unit 4B",
"address_3": "London",
"address_4": "Greater London",
"postcode": "SW1A 1AA",
"country_code": "GB",
"email_address": "[email protected]",
"phone_number": "+44 20 7946 0958"
}
} } }
} }
headers = {
"Authorization": "Bearer <token>",
"X-Clarus-Subdomain": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
Authorization: 'Bearer <token>',
'X-Clarus-Subdomain': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
data: {
type: 'shipments',
attributes: {
goods_out_id: 123,
carrier_id: 123,
carrier_service_id: 123,
reference: '<string>',
tracking_number: '<string>',
external_system_reference1: '<string>',
external_system_reference2: '<string>',
external_system_reference3: '<string>',
string1: '<string>',
string2: '<string>',
string3: '<string>',
string4: '<string>',
string5: '<string>',
packages: [{reference: '<string>', weight: 123, height: 123, length: 123, width: 123}]
},
relationships: {
address: {
data: {
type: 'addresses',
attributes: {
name: 'John Smith',
address_1: '123 Main Street',
address_2: 'Unit 4B',
address_3: 'London',
address_4: 'Greater London',
postcode: 'SW1A 1AA',
country_code: 'GB',
email_address: '[email protected]',
phone_number: '+44 20 7946 0958'
}
}
}
}
}
})
};
fetch('https://clarus-api.com/api/shipments', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": {
"id": 123,
"type": "shipments",
"attributes": {
"goods_out_id": 123,
"carrier_id": 123,
"carrier_service_id": 123,
"reference": "<string>",
"tracking_number": "<string>",
"external_system_reference1": "<string>",
"external_system_reference2": "<string>",
"external_system_reference3": "<string>",
"string1": "<string>",
"string2": "<string>",
"string3": "<string>",
"string4": "<string>",
"string5": "<string>",
"packages": [
{
"reference": "<string>",
"weight": 123,
"height": 123,
"length": 123,
"width": 123
}
]
}
}
}{
"error": "<string>"
}{
"errors": [
{
"code": 123,
"symbol": "<string>",
"details": "<string>",
"source": "<string>",
"context": {}
}
]
}Request Structure
{
"data": {
"type": "shipments",
"attributes": {
"goods_out_id": 123,
"carrier_id": 5,
"carrier_service_id": 10,
"packages_changes": [
{
"type": "ADD",
"attributes": {
"weight": 2.5,
"length": 30,
"width": 20,
"height": 15
}
}
]
},
"relationships": {
"address": {
"data": {
"type": "addresses",
"attributes": {
"name": "John Smith",
"address_1": "123 Main Street",
"postcode": "AB1 2CD",
"country_code": "GB"
}
}
}
}
}
}
Key Fields
| Field | Required | Description |
|---|---|---|
goods_out_id | Yes | Order to ship |
carrier_id | No | Carrier for delivery |
carrier_service_id | No | Service level |
packages_changes | No | Package details (ADD/UPDATE/REMOVE) |
Address
An optional delivery address (overrides goods out address) can be provided indata.relationships.address. See the example above.
Package Dimensions
Weight in kg, dimensions in cm.Authorizations
OAuth 2.0 authentication. Use the client credentials or authorization code flow to obtain an access token.
The subdomain/tenant name identifying which tenant's data to access. Required for all API requests.
Body
application/json
Show child attributes
Show child attributes
Response
Shipment created successfully
Show child attributes
Show child attributes
⌘I

