Curosa
Supplier Portal API Reference New

Fulfilment

Shipments

Retrieve shipments and update shipment status for customer fulfilment

Overview

The Shipments endpoints allow you to view customer shipments and update fulfilment status as orders move through your dispatch workflow.

Authentication

All endpoints require authentication. Include your API token in the Authorization header. For more information on obtaining a token, see the Authentication guide.

List Shipments

Retrieve a list of shipments.

Endpoint: GET https://curosa.com/api/v1/shipments

Request

curl --location 'https://curosa.com/api/v1/shipments?status=pending' \
--header 'Authorization: Bearer YOUR_API_TOKEN'

Query Parameters

Parameter Type Description
status string Optional shipment status filter (example: pending)

List Ready-to-Ship Shipments

Retrieve shipments that are ready to ship today and have not yet been marked as shipped or collected.

Endpoint: GET https://curosa.com/api/v1/shipments/ready-to-ship

Request

curl --location 'https://curosa.com/api/v1/shipments/ready-to-ship' \
--header 'Authorization: Bearer YOUR_API_TOKEN'

Response Behavior

This endpoint returns shipments that:

  • are due to be shipped on the current day
  • are not currently marked as shipped
  • are not currently marked as collected

Get Shipment

Retrieve a specific shipment by order number.

Endpoint: GET https://curosa.com/api/v1/shipments/{order_number}

Request

curl --location 'https://curosa.com/api/v1/shipments/OSN-01260312-002001' \
--header 'Authorization: Bearer YOUR_API_TOKEN'

Path Parameters

Parameter Type Description
order_number string Shipment order number

Mark Shipment as Shipped

Mark a shipment as shipped and provide carrier/tracking information.

Endpoint: POST https://curosa.com/api/v1/shipments/{order_number}/shipped

Request

curl --location 'https://curosa.com/api/v1/shipments/OSN-01260312-002001/shipped' \
--header 'Authorization: Bearer YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
    "carrier": "DHL",
    "tracking_number": "DHL-123456789",
    "is_collected": false
}'

Request Body

Field Type Required Description
carrier string Yes Shipping carrier name
tracking_number string Yes Carrier tracking number
is_collected boolean No Set true if shipment has already been collected

Mark Shipment as Collected

Mark a shipment as collected by the carrier.

Endpoint: POST https://curosa.com/api/v1/shipments/{order_number}/collected

Request

curl --location 'https://curosa.com/api/v1/shipments/OSN-01260312-002001/collected' \
--header 'Authorization: Bearer YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
    "carrier": "DHL",
    "tracking_number": "DHL-123456789"
}'

Request Body

Field Type Required Description
carrier string Yes Shipping carrier name
tracking_number string Yes Carrier tracking number

Rate Limiting

Shipment endpoints are rate limited to 3,600 requests per hour. The current limit and remaining requests are returned in the response headers as x-ratelimit-limit and x-ratelimit-remaining.