GetShippingMethods
Retrieve available shipping methods for a destination country via the Shipping API. The endpoint queries our shipping provider checkout options and returns normalized shipping methods.
Provide exactly one shipment input: either the models array with modelId values, or the package object with package information. Do not send both in the same request.
API Playground
Get checkout shipping methods for a destination country. Provide either models or package information, not both.
Endpoint
POST https://devapi.marketiger3d.com/v2/Shipping/GetShippingMethods
Authentication
This endpoint requires a Bearer token. Include the token in the Authorization header:
Authorization: Bearer <your_access_token>
Request Body
Using model IDs:
{
"country": "NL",
"models": [
{
"modelId": "123e4567-e89b-12d3-a456-426614174000",
"quantity": 1
}
]
}
Using package information:
{
"country": "NL",
"package": {
"weight": 1000,
"length": 20,
"width": 15,
"height": 10
}
}
Request Body Schema
| Field | Type | Required | Description |
|---|---|---|---|
| country | string | Yes | Destination country code (ISO-2, uppercase). |
| models | array | Required without package | Array of model orders (same structure as used when creating orders). Do not send with package. |
| models[].modelId | string | Yes, when using models | GUID of the model that will be shipped. |
| models[].quantity | number | Yes, when using models | Quantity of the model (minimum 1). |
| package | object | Required without models | Package details for a shipment that is not based on uploaded models. Do not send with models. |
| package.weight | number | Yes, when using package | Package weight in grams. Must be greater than 0. |
| package.length | number | Optional | Package length in centimeters. If any dimension is supplied, all dimensions are required. |
| package.width | number | Optional | Package width in centimeters. If any dimension is supplied, all dimensions are required. |
| package.height | number | Optional | Package height in centimeters. If any dimension is supplied, all dimensions are required. |
Package Data Example
Use the package object when you already know the parcel details and do not want the API to derive the shipment from uploaded models.
Minimal package data:
{
"country": "NL",
"package": {
"weight": 1000
}
}
Package data with dimensions:
{
"country": "NL",
"package": {
"weight": 1000,
"length": 20,
"width": 15,
"height": 10
}
}
Example Request
Using model IDs:
curl -X POST "https://devapi.marketiger3d.com/v2/Shipping/GetShippingMethods" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-d '{
"country": "US",
"models": [
{ "modelId": "123e4567-e89b-12d3-a456-426614174000", "quantity": 1 },
{ "modelId": "223e4567-e89b-12d3-a456-426614174000", "quantity": 2 }
]
}'
Using package information:
curl -X POST "https://devapi.marketiger3d.com/v2/Shipping/GetShippingMethods" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-d '{
"country": "US",
"package": {
"weight": 1000,
"length": 20,
"width": 15,
"height": 10
}
}'
Success Response (200 OK)
{
"success": true,
"data": {
"methods": [
{
"shippingMethodId": 9059,
"carrier": "dhl",
"method": "home_delivery",
"servicePoint": false,
"price": 850,
"minDeliveryTime": "2025-12-18T00:00:00Z",
"maxDeliveryTime": "2025-12-20T00:00:00Z",
"estimatedDeliveryTime": "2025-12-18T00:00:00Z"
}
]
}
}
Response Schema
| Field | Type | Description |
|---|---|---|
| success | boolean | Indicates whether the request succeeded. |
| data | object | Container for the response payload. |
| data.methods | array | Array of available shipping methods. |
| data.methods[].shippingMethodId | number | Shipping method ID to use when creating an order. |
| data.methods[].carrier | string | Carrier code (e.g., dhl). |
| data.methods[].method | string | Delivery method (e.g., home_delivery). |
| data.methods[].servicePoint | boolean | Whether the method uses a service point. |
| data.methods[].price | number | Price in cents. |
| data.methods[].minDeliveryTime | string | Earliest expected delivery time (ISO 8601 UTC). |
| data.methods[].maxDeliveryTime | string | Latest expected delivery time (ISO 8601 UTC). |
| data.methods[].estimatedDeliveryTime | string | Estimated delivery time (ISO 8601 UTC). |
| error | object | Present when success is false; contains type and message. |
Error Responses
Validation errors return HTTP 400 Bad Request with success: false in the response body.
{
"success": false,
"error": {
"type": "INCORRECT_PARAMETERS",
"message": "Request body is empty."
}
}
{
"success": false,
"error": {
"type": "INCORRECT_PARAMETERS",
"message": "Country is not set."
}
}
{
"success": false,
"error": {
"type": "INCORRECT_PARAMETERS",
"message": "Either models or package is required."
}
}
{
"success": false,
"error": {
"type": "INCORRECT_PARAMETERS",
"message": "Package weight is required and must be greater than 0 grams."
}
}
{
"success": false,
"error": {
"type": "INCORRECT_PARAMETERS",
"message": "Package length, width, and height are required when dimensions are supplied and must be greater than 0 centimeters."
}
}
{
"success": false,
"error": {
"type": "INTERNAL_ERROR",
"message": "Error message from exception"
}
}
Note: Always check the success field in the response body to determine if the request was successful.
Notes
countryis uppercased on the server before querying the shipping provider.methodsis the normalized list of available shipping methods for the destination country.- Provide either
modelsorpackage; do not provide both. - When using
models, the API uses the model ID array for validation and applies the default shipping weight behind the scenes. - When using
package,weightis required in grams. Dimensions are optional, butlength,width, andheightmust be supplied together when any dimension is supplied.