CORENIO API

Connect your software to Corenio.

Build your own webshop, app or integration using Corenio data. Read products and stock, manage carts and retrieve orders through the API.

Webshop · App · ERPCorenio
HTTPSJSONAPI v1.0
Your systems. The same data.
Quick start

From idea to your first integration.

01

Define your workflow

Choose which data to exchange and which application is the source. Start with product information and stock, for example.

02

Request API access

Discuss the access and modules your integration needs with Corenio. Use the relevant key or token from your server.

03

Read, verify and expand

Test a read operation first. Check returned data and error handling before enabling workflows that change data.

Access

A secure connection starts with access.

The documentation describes an API key header and a Bearer token. The authentication you need depends on the endpoint and your access. Confirm this during setup.

Discuss your API integration
Server and headers
https://api.corenio.com

api-key: YOUR_API_KEY
Authorization: Bearer YOUR_TOKEN
Content-Type: application/json

Keep keys on your server. Do not place them in public frontend code, URLs or logs.

Examples

Your first request: check stock.

Replace YOURSKU with an existing product SKU and YOUR_API_KEY with your key. The stock route supports id, ean and sku as types.

The code is displayed and copied only. This website does not execute API requests.

curl --request GET \
  "https://api.corenio.com/api/v1.0/products/stock/YOURSKU?type=sku" \
  --header "api-key: YOUR_API_KEY" \
  --header "Accept: application/json"
API reference

30 operations, all in one place.

Search for an endpoint and open its details. Field names, schemas and technical example values follow the original OpenAPI specification.

GETList cart items/api/v1.0/carts/{cart_id}/items/list
Carts

Parameters

FieldLocationTypeRequired
cart_idpathintegerRequired
limitqueryintegerOptional
pagequeryintegerOptional
View schema
[
  {
    "name": "cart_id",
    "in": "path",
    "description": "ID of the cart whose items should be returned.",
    "required": true,
    "schema": {
      "type": "integer",
      "example": 19403076
    }
  },
  {
    "name": "limit",
    "in": "query",
    "description": "Maximum number of items returned per page.",
    "required": false,
    "schema": {
      "type": "integer",
      "default": 10,
      "maximum": 30,
      "minimum": 1,
      "example": 10
    }
  },
  {
    "name": "page",
    "in": "query",
    "description": "Page number to return.",
    "required": false,
    "schema": {
      "type": "integer",
      "default": 1,
      "minimum": 1,
      "example": 1
    }
  }
]

Responses

200400401404
View schema
{
  "200": {
    "description": "Cart items successfully retrieved.",
    "content": {
      "application/json": {
        "schema": {
          "required": [
            "cart_items",
            "total_items",
            "pages",
            "items_per_page",
            "current_page",
            "format",
            "success",
            "error_message"
          ],
          "properties": {
            "cart_items": {
              "description": "Cart item collection keyed by cart item ID.",
              "type": "object",
              "additionalProperties": {
                "required": [
                  "item_id",
                  "quantity"
                ],
                "properties": {
                  "item_id": {
                    "description": "Unique ID of the cart item.",
                    "type": "integer",
                    "example": 1508
                  },
                  "quantity": {
                    "description": "Quantity of the item in the cart.",
                    "type": "integer",
                    "minimum": 1,
                    "example": 3
                  }
                },
                "type": "object"
              }
            },
            "total_items": {
              "type": "integer",
              "example": 3
            },
            "pages": {
              "type": "integer",
              "example": 1
            },
            "items_per_page": {
              "type": "integer",
              "example": 10
            },
            "current_page": {
              "type": "integer",
              "example": 1
            },
            "format": {
              "type": "string",
              "example": "json"
            },
            "success": {
              "type": "boolean",
              "example": true
            },
            "error_message": {
              "type": "array",
              "items": {},
              "example": []
            }
          },
          "type": "object"
        }
      }
    }
  },
  "400": {
    "description": "Invalid cart ID or pagination parameters."
  },
  "401": {
    "description": "Invalid, missing, or expired authentication token."
  },
  "404": {
    "description": "The cart was not found or contains no items."
  }
}
POSTAdd a cart item/api/v1.0/carts/{cart_id}/items
Carts

Parameters

FieldLocationTypeRequired
cart_idpathintegerRequired
View schema
[
  {
    "name": "cart_id",
    "in": "path",
    "description": "ID of the cart to which the item will be added.",
    "required": true,
    "schema": {
      "type": "integer",
      "example": 19403076
    }
  }
]

Request body

Required

View schema
{
  "description": "Product and quantity to add to the cart.",
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "required": [
          "product_id",
          "quantity"
        ],
        "properties": {
          "product_id": {
            "description": "ID of the product to add.",
            "type": "integer",
            "example": 48291
          },
          "quantity": {
            "description": "Quantity to add. Must be between 1 and the maximum allowed item quantity.",
            "type": "integer",
            "default": 1,
            "minimum": 1,
            "example": 2
          },
          "configuration_id": {
            "description": "Optional ID of the selected product configuration.",
            "type": "integer",
            "example": 125,
            "nullable": true
          },
          "user_input": {
            "description": "Optional product configuration input supplied by the user.",
            "type": "object",
            "example": {
              "engraving": "Example",
              "color": "black"
            },
            "nullable": true,
            "additionalProperties": {}
          }
        },
        "type": "object"
      }
    }
  }
}

Responses

201400401404
View schema
{
  "201": {
    "description": "Cart item successfully created.",
    "content": {
      "application/json": {
        "schema": {
          "required": [
            "item_id",
            "format",
            "success",
            "error_message"
          ],
          "properties": {
            "item_id": {
              "description": "ID of the newly created cart item.",
              "type": "integer",
              "example": 1508
            },
            "format": {
              "type": "string",
              "example": "json"
            },
            "success": {
              "type": "boolean",
              "example": true
            },
            "error_message": {
              "type": "array",
              "items": {},
              "example": []
            }
          },
          "type": "object"
        }
      }
    }
  },
  "400": {
    "description": "The product_id, quantity, configuration_id, or user_input field is invalid."
  },
  "401": {
    "description": "Invalid, missing, or expired authentication token."
  },
  "404": {
    "description": "The cart or product was not found."
  }
}
DELETERemove cart items/api/v1.0/carts/{cart_id}/items
Carts

Parameters

FieldLocationTypeRequired
cart_idpathintegerRequired
View schema
[
  {
    "name": "cart_id",
    "in": "path",
    "description": "ID of the cart.",
    "required": true,
    "schema": {
      "type": "integer",
      "example": 19403076
    }
  }
]

Request body

Required

View schema
{
  "description": "An array containing the IDs of the cart items to remove.",
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "required": [
          "cartitem_ids"
        ],
        "properties": {
          "cartitem_ids": {
            "description": "Cart item IDs to remove. At least one ID is required.",
            "type": "array",
            "items": {
              "type": "integer"
            },
            "minItems": 1,
            "uniqueItems": true,
            "example": [
              1508,
              1509,
              1512
            ]
          }
        },
        "type": "object"
      }
    }
  }
}

Responses

200400401404
View schema
{
  "200": {
    "description": "Cart items successfully removed.",
    "content": {
      "application/json": {
        "schema": {
          "required": [
            "removed",
            "format",
            "success",
            "error_message"
          ],
          "properties": {
            "removed": {
              "description": "IDs of the cart items that were successfully removed.",
              "type": "array",
              "items": {
                "type": "integer"
              },
              "example": [
                1508,
                1509,
                1512
              ]
            },
            "format": {
              "type": "string",
              "example": "json"
            },
            "success": {
              "type": "boolean",
              "example": true
            },
            "error_message": {
              "type": "array",
              "items": {},
              "example": []
            }
          },
          "type": "object"
        }
      }
    }
  },
  "400": {
    "description": "The cartitem_ids field is missing, empty, or invalid."
  },
  "401": {
    "description": "Invalid, missing, or expired authentication token."
  },
  "404": {
    "description": "The cart was not found or none of the specified cart items were found."
  }
}
PATCHUpdate quantity/api/v1.0/carts/{cart_id}/items/{cartitem_id}
Carts

Parameters

FieldLocationTypeRequired
cart_idpathintegerRequired
cartitem_idpathintegerRequired
View schema
[
  {
    "name": "cart_id",
    "in": "path",
    "description": "ID of the cart.",
    "required": true,
    "schema": {
      "type": "integer",
      "example": 19403076
    }
  },
  {
    "name": "cartitem_id",
    "in": "path",
    "description": "ID of the item in the cart.",
    "required": true,
    "schema": {
      "type": "integer",
      "example": 1508
    }
  }
]

Request body

Required

View schema
{
  "description": "The new quantity for the cart item.",
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "required": [
          "quantity"
        ],
        "properties": {
          "quantity": {
            "description": "New quantity for the cart item. Must be between 1 and the maximum allowed item quantity.",
            "type": "integer",
            "minimum": 1,
            "example": 3
          }
        },
        "type": "object"
      }
    }
  }
}

Responses

200400401404
View schema
{
  "200": {
    "description": "Cart item quantity successfully updated.",
    "content": {
      "application/json": {
        "schema": {
          "required": [
            "cart_id",
            "cartitem_id",
            "new_quantity",
            "format",
            "success",
            "error_message"
          ],
          "properties": {
            "cart_id": {
              "description": "ID of the updated cart.",
              "type": "integer",
              "example": 19403076
            },
            "cartitem_id": {
              "description": "ID of the updated cart item.",
              "type": "integer",
              "example": 1508
            },
            "new_quantity": {
              "description": "The updated quantity of the cart item.",
              "type": "integer",
              "minimum": 1,
              "example": 3
            },
            "format": {
              "type": "string",
              "example": "json"
            },
            "success": {
              "type": "boolean",
              "example": true
            },
            "error_message": {
              "type": "array",
              "items": {},
              "example": []
            }
          },
          "type": "object"
        }
      }
    }
  },
  "400": {
    "description": "The quantity field is missing or outside the allowed range."
  },
  "401": {
    "description": "Invalid, missing, or expired authentication token."
  },
  "404": {
    "description": "The cart or cart item was not found."
  }
}
POSTCreate a cart/api/v1.0/carts/create
Carts

Responses

201401
View schema
{
  "201": {
    "description": "Cart successfully created.",
    "content": {
      "application/json": {
        "schema": {
          "required": [
            "cart_id",
            "format",
            "success",
            "error_message"
          ],
          "properties": {
            "cart_id": {
              "description": "ID of the newly created cart.",
              "type": "integer",
              "example": 19403076
            },
            "format": {
              "type": "string",
              "example": "json"
            },
            "success": {
              "type": "boolean",
              "example": true
            },
            "error_message": {
              "type": "array",
              "items": {},
              "example": []
            }
          },
          "type": "object"
        }
      }
    }
  },
  "401": {
    "description": "Invalid, missing, or expired authentication token."
  }
}
POSTConvert cart to order/api/v1.0/carts/{cart_id}/finalize
Carts

Parameters

FieldLocationTypeRequired
cart_idpathintegerRequired
View schema
[
  {
    "name": "cart_id",
    "in": "path",
    "description": "ID of the cart to finalize.",
    "required": true,
    "schema": {
      "type": "integer",
      "example": 19403076
    }
  }
]

Responses

201400401404409
View schema
{
  "201": {
    "description": "Cart successfully finalized and order created.",
    "content": {
      "application/json": {
        "schema": {
          "required": [
            "order_id",
            "format",
            "success",
            "error_message"
          ],
          "properties": {
            "order_id": {
              "description": "ID of the newly created order.",
              "type": "integer",
              "example": 205481
            },
            "format": {
              "type": "string",
              "example": "json"
            },
            "success": {
              "type": "boolean",
              "example": true
            },
            "error_message": {
              "type": "array",
              "items": {},
              "example": []
            }
          },
          "type": "object"
        }
      }
    }
  },
  "400": {
    "description": "The cart ID is invalid or the cart cannot be finalized."
  },
  "401": {
    "description": "Invalid, missing, or expired authentication token."
  },
  "404": {
    "description": "The cart was not found or does not belong to the authenticated user."
  },
  "409": {
    "description": "The cart has already been finalized."
  }
}
POSTSet shipping method/api/v1.0/carts/{cart_id}/shipping
Carts

Parameters

FieldLocationTypeRequired
cart_idpathintegerRequired
View schema
[
  {
    "name": "cart_id",
    "in": "path",
    "description": "ID of the cart.",
    "required": true,
    "schema": {
      "type": "integer",
      "example": 19403076
    }
  }
]

Request body

Required

View schema
{
  "description": "The shipping method to select for the cart.",
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "required": [
          "shipping_method_id"
        ],
        "properties": {
          "shipping_method_id": {
            "description": "ID of an available shipping method.",
            "type": "integer",
            "example": 12
          }
        },
        "type": "object"
      }
    }
  }
}

Responses

200400401404
View schema
{
  "200": {
    "description": "Shipping method successfully selected.",
    "content": {
      "application/json": {
        "schema": {
          "required": [
            "shipping_method_id",
            "shipping_method",
            "shipping_price_ex_vat",
            "shipping_price_vat",
            "format",
            "success",
            "error_message"
          ],
          "properties": {
            "shipping_method_id": {
              "description": "ID of the selected shipping method.",
              "type": "integer",
              "example": 12
            },
            "shipping_method": {
              "description": "Name of the selected shipping method.",
              "type": "string",
              "example": "Standard shipping"
            },
            "currency": {
              "description": "Currency.",
              "type": "string",
              "example": "EUR"
            },
            "shipping_price_ex_vat": {
              "description": "Shipping price excluding VAT.",
              "type": "number",
              "format": "float",
              "example": 7
            },
            "shipping_price_vat": {
              "description": "VAT charged on the shipping price.",
              "type": "number",
              "format": "float",
              "example": 1.47
            },
            "format": {
              "type": "string",
              "example": "json"
            },
            "success": {
              "type": "boolean",
              "example": true
            },
            "error_message": {
              "type": "array",
              "items": {},
              "example": []
            }
          },
          "type": "object"
        }
      }
    }
  },
  "400": {
    "description": "The shipping_method_id is missing, invalid, or unavailable for this cart."
  },
  "401": {
    "description": "Invalid, missing, or expired authentication token."
  },
  "404": {
    "description": "The cart was not found or does not belong to the authenticated user."
  }
}
GETList shipping methods/api/v1.0/carts/{cart_id}/shippingmethods/{language}
Carts

Parameters

FieldLocationTypeRequired
cart_idpathintegerRequired
languagepathstringRequired
View schema
[
  {
    "name": "cart_id",
    "in": "path",
    "description": "ID of the cart.",
    "required": true,
    "schema": {
      "type": "integer",
      "example": 19403076
    }
  },
  {
    "name": "language",
    "in": "path",
    "description": "Two-character language code used for the translated title and description.",
    "required": true,
    "schema": {
      "type": "string",
      "enum": [
        "nl",
        "en",
        "de"
      ],
      "example": "nl"
    }
  }
]

Responses

200400401404
View schema
{
  "200": {
    "description": "Available shipping methods successfully retrieved.",
    "content": {
      "application/json": {
        "schema": {
          "required": [
            "shipping_methods",
            "format",
            "success",
            "error_message"
          ],
          "properties": {
            "shipping_methods": {
              "description": "Shipping methods available for the cart.",
              "type": "array",
              "items": {
                "required": [
                  "id",
                  "icon",
                  "icon_thumb",
                  "title",
                  "description",
                  "price"
                ],
                "properties": {
                  "id": {
                    "description": "ID of the shipping method.",
                    "type": "integer",
                    "example": 12
                  },
                  "icon": {
                    "description": "URL of the shipping method icon.",
                    "type": "string",
                    "format": "uri",
                    "example": "https://example.com/images/shipping/dhl.svg"
                  },
                  "icon_thumb": {
                    "description": "URL of the thumbnail version of the icon.",
                    "type": "string",
                    "format": "uri",
                    "example": "https://example.com/images/shipping/thumb_dhl.svg"
                  },
                  "title": {
                    "description": "Translated name of the shipping method.",
                    "type": "string",
                    "example": "Standaard verzending"
                  },
                  "description": {
                    "description": "Translated description of the shipping method.",
                    "type": "string",
                    "example": "Levering binnen 1 tot 2 werkdagen."
                  },
                  "price": {
                    "required": [
                      "currency",
                      "vat_percentage",
                      "price_ex_vat"
                    ],
                    "properties": {
                      "currency": {
                        "description": "ISO 4217 currency code.",
                        "type": "string",
                        "example": "EUR"
                      },
                      "vat_percentage": {
                        "description": "VAT percentage applied to the shipping price.",
                        "type": "number",
                        "format": "float",
                        "example": 21
                      },
                      "price_ex_vat": {
                        "description": "Shipping price excluding VAT.",
                        "type": "string",
                        "example": "7.00"
                      }
                    },
                    "type": "object"
                  }
                },
                "type": "object"
              }
            },
            "format": {
              "type": "string",
              "example": "json"
            },
            "success": {
              "type": "boolean",
              "example": true
            },
            "error_message": {
              "type": "array",
              "items": {},
              "example": []
            }
          },
          "type": "object"
        }
      }
    }
  },
  "400": {
    "description": "The cart_id or language parameter is invalid."
  },
  "401": {
    "description": "Invalid, missing, or expired authentication token."
  },
  "404": {
    "description": "The cart was not found or no shipping methods are available."
  }
}
GETList carts/api/v1.0/carts/list
Carts

Parameters

FieldLocationTypeRequired
limitqueryintegerOptional
pagequeryintegerOptional
View schema
[
  {
    "name": "limit",
    "in": "query",
    "description": "Maximum number of carts returned per page. The maximum allowed value is 30.",
    "required": false,
    "schema": {
      "type": "integer",
      "default": 10,
      "maximum": 30,
      "example": 10
    }
  },
  {
    "name": "page",
    "in": "query",
    "description": "Page number to return.",
    "required": false,
    "schema": {
      "type": "integer",
      "default": 1,
      "minimum": 1,
      "example": 1
    }
  }
]

Responses

200401404
View schema
{
  "200": {
    "description": "Carts successfully retrieved.",
    "content": {
      "application/json": {
        "schema": {
          "required": [
            "carts",
            "total_items",
            "pages",
            "items_per_page",
            "current_page",
            "format",
            "success",
            "error_message"
          ],
          "properties": {
            "carts": {
              "description": "Cart collection keyed by cart ID.",
              "type": "object",
              "additionalProperties": {
                "required": [
                  "cart_id",
                  "helpdeskcode",
                  "item_quantity",
                  "item_subtotal",
                  "shipping",
                  "total_vat",
                  "total_ex_vat",
                  "total"
                ],
                "properties": {
                  "cart_id": {
                    "type": "integer",
                    "example": 19403076
                  },
                  "helpdeskcode": {
                    "type": "string",
                    "example": "bf04e"
                  },
                  "item_quantity": {
                    "type": "integer",
                    "example": 3
                  },
                  "item_subtotal": {
                    "description": "Formatted subtotal of all cart items.",
                    "type": "string",
                    "example": "€ 97,05"
                  },
                  "shipping": {
                    "description": "Formatted shipping cost.",
                    "type": "string",
                    "example": "€ 7,00"
                  },
                  "total_vat": {
                    "description": "Formatted total VAT amount.",
                    "type": "string",
                    "example": "€ 21,85"
                  },
                  "total_ex_vat": {
                    "description": "Formatted total excluding VAT.",
                    "type": "string",
                    "example": "€ 104,05"
                  },
                  "total": {
                    "description": "Formatted total including VAT.",
                    "type": "string",
                    "example": "€ 125,90"
                  }
                },
                "type": "object"
              }
            },
            "total_items": {
              "type": "integer",
              "example": 2
            },
            "pages": {
              "type": "integer",
              "example": 1
            },
            "items_per_page": {
              "type": "integer",
              "example": 10
            },
            "current_page": {
              "type": "integer",
              "example": 1
            },
            "format": {
              "type": "string",
              "example": "json"
            },
            "success": {
              "type": "boolean",
              "example": true
            },
            "error_message": {
              "type": "array",
              "items": {},
              "example": []
            }
          },
          "type": "object"
        }
      }
    }
  },
  "401": {
    "description": "Invalid, missing, or expired authentication token."
  },
  "404": {
    "description": "No carts were found for the authenticated user."
  }
}
DELETEDelete a cart/api/v1.0/carts/{cart_id}
Carts

Parameters

FieldLocationTypeRequired
cart_idpathintegerRequired
View schema
[
  {
    "name": "cart_id",
    "in": "path",
    "description": "ID of the cart to remove.",
    "required": true,
    "schema": {
      "type": "integer",
      "example": 19403076
    }
  }
]

Responses

200400401404
View schema
{
  "200": {
    "description": "Cart successfully removed.",
    "content": {
      "application/json": {
        "schema": {
          "required": [
            "removed",
            "format",
            "success",
            "error_message"
          ],
          "properties": {
            "removed": {
              "description": "ID of the cart that was removed.",
              "type": "integer",
              "example": 19403076
            },
            "format": {
              "type": "string",
              "example": "json"
            },
            "success": {
              "type": "boolean",
              "example": true
            },
            "error_message": {
              "type": "array",
              "items": {},
              "example": []
            }
          },
          "type": "object"
        }
      }
    }
  },
  "400": {
    "description": "The cart_id path parameter is invalid."
  },
  "401": {
    "description": "Invalid, missing, or expired authentication token."
  },
  "404": {
    "description": "The cart was not found or does not belong to the authenticated user."
  }
}
POSTRetrieve subcategories/api/v1.0/categories/byParent
Categories

Request body

Required

View schema
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "required": [
          "parent_id"
        ],
        "properties": {
          "parent_id": {
            "description": "An category ID.",
            "type": "integer"
          },
          "language": {
            "description": "The language of the response.",
            "type": "string",
            "default": "en"
          },
          "page": {
            "description": "The page number for pagination, starting from 0.",
            "type": "integer",
            "default": 1
          },
          "limit": {
            "description": "The maximum number of items per page.",
            "type": "integer",
            "default": 10
          }
        },
        "type": "object"
      }
    }
  }
}

Responses

200400404
View schema
{
  "200": {
    "description": "Get categories by parent_id successfully."
  },
  "400": {
    "description": "Invalid input. parent_id must be provided."
  },
  "404": {
    "description": "No categories found."
  }
}
POSTSearch categories/api/v1.0/categories/search
Categories

Request body

Required

View schema
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "required": [
          "search_term"
        ],
        "properties": {
          "search_term": {
            "description": "1 or multiple search_term (use variations for more hits) title, seo_path etc.",
            "type": "array",
            "items": {
              "type": "string",
              "default": ""
            },
            "example": [
              "name, seo_path"
            ]
          },
          "language": {
            "description": "The language of the response.",
            "type": "string",
            "default": "en"
          },
          "page": {
            "description": "The page number for pagination, starting from 0.",
            "type": "integer",
            "default": 1
          },
          "limit": {
            "description": "The maximum number of items per page.",
            "type": "integer",
            "default": 10
          }
        },
        "type": "object"
      }
    }
  }
}

Responses

200400404
View schema
{
  "200": {
    "description": "Get categories by search_term."
  },
  "400": {
    "description": "Invalid input. search_term must be provided."
  },
  "404": {
    "description": "No categories found."
  }
}
GETList orders/api/v1.0/orders
Orders

Parameters

FieldLocationTypeRequired
limitqueryintegerOptional
pagequeryintegerOptional
languagequerystringOptional
statusquerystringOptional
date_fromquerystringOptional
date_tillquerystringOptional
View schema
[
  {
    "name": "limit",
    "in": "query",
    "description": "Maximum number of orders returned per page.",
    "required": false,
    "schema": {
      "type": "integer",
      "default": 10,
      "maximum": 30,
      "minimum": 1,
      "example": 10
    }
  },
  {
    "name": "page",
    "in": "query",
    "description": "Page number to return.",
    "required": false,
    "schema": {
      "type": "integer",
      "default": 1,
      "minimum": 1,
      "example": 1
    }
  },
  {
    "name": "language",
    "in": "query",
    "description": "Two-character language code used for translated order data.",
    "required": false,
    "schema": {
      "type": "string",
      "maxLength": 2,
      "minLength": 2,
      "example": "nl"
    }
  },
  {
    "name": "status",
    "in": "query",
    "description": "Comma-separated list of order status IDs. An order is returned when its status matches one of the supplied IDs.",
    "required": false,
    "schema": {
      "type": "string",
      "pattern": "^\\d+(,\\d+)*$",
      "example": "1,3,4"
    }
  },
  {
    "name": "date_from",
    "in": "query",
    "description": "Return orders created on or after this date.",
    "required": false,
    "schema": {
      "type": "string",
      "format": "date",
      "example": "2026-01-01"
    }
  },
  {
    "name": "date_till",
    "in": "query",
    "description": "Return orders created on or before this date.",
    "required": false,
    "schema": {
      "type": "string",
      "format": "date",
      "example": "2026-08-31"
    }
  }
]

Responses

200400401404
View schema
{
  "200": {
    "description": "Orders successfully retrieved.",
    "content": {
      "application/json": {
        "schema": {
          "required": [
            "orders",
            "total_items",
            "pages",
            "items_per_page",
            "current_page",
            "format",
            "success",
            "error_message"
          ],
          "properties": {
            "orders": {
              "description": "Order collection keyed by order ID.",
              "type": "object",
              "additionalProperties": {
                "description": "Order data generated by OrderListDTO.",
                "type": "object"
              }
            },
            "total_items": {
              "description": "Total number of orders matching the filters.",
              "type": "integer",
              "minimum": 0,
              "example": 24
            },
            "pages": {
              "description": "Total number of available pages.",
              "type": "integer",
              "minimum": 0,
              "example": 3
            },
            "items_per_page": {
              "description": "Maximum number of orders returned per page.",
              "type": "integer",
              "example": 10
            },
            "current_page": {
              "description": "Current page number.",
              "type": "integer",
              "minimum": 1,
              "example": 1
            },
            "format": {
              "type": "string",
              "example": "json"
            },
            "success": {
              "type": "boolean",
              "example": true
            },
            "error_message": {
              "type": "array",
              "items": {},
              "example": []
            }
          },
          "type": "object"
        }
      }
    }
  },
  "400": {
    "description": "One or more pagination, language, or date parameters are invalid."
  },
  "401": {
    "description": "Invalid, missing, or expired authentication token."
  },
  "404": {
    "description": "No orders matching the supplied filters were found."
  }
}
POSTCreate a payment link/api/v1.0/orders/paymentlink
Orders

Request body

Required

View schema
{
  "description": "The order, payment method and optional partial payment amount.",
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "required": [
          "order_id",
          "payment_method"
        ],
        "properties": {
          "order_id": {
            "description": "ID of the order for which the payment link should be created.",
            "type": "integer",
            "example": 205481
          },
          "payment_method": {
            "description": "ID of the payment method to use.",
            "type": "integer",
            "example": 3
          },
          "payment_amount": {
            "description": "Optional partial payment amount. When omitted, a link for the total unpaid amount is created. The amount cannot exceed the outstanding order amount.",
            "type": "number",
            "format": "float",
            "minimum": 0.01,
            "example": 50,
            "nullable": true
          }
        },
        "type": "object"
      }
    }
  }
}

Responses

200400401404
View schema
{
  "200": {
    "description": "Payment link successfully created.",
    "content": {
      "application/json": {
        "schema": {
          "required": [
            "order_id",
            "total_unpaid",
            "payment_method",
            "payment_url",
            "format",
            "success",
            "error_message"
          ],
          "properties": {
            "order_id": {
              "description": "ID of the order.",
              "type": "integer",
              "example": 205481
            },
            "total_unpaid": {
              "description": "Total outstanding amount on the order before this payment is completed.",
              "type": "number",
              "format": "float",
              "example": 125.9
            },
            "payment_method": {
              "description": "Name of the selected payment method.",
              "type": "string",
              "example": "iDEAL"
            },
            "payment_url": {
              "description": "URL where the customer can complete the payment.",
              "type": "string",
              "format": "uri",
              "example": "https://payments.example.com/pay/abc123"
            },
            "format": {
              "type": "string",
              "example": "json"
            },
            "success": {
              "type": "boolean",
              "example": true
            },
            "error_message": {
              "type": "array",
              "items": {},
              "example": []
            }
          },
          "type": "object"
        }
      }
    }
  },
  "400": {
    "description": "A required field is missing, the payment amount is invalid, the payment method is unavailable, or the order has already been fully paid."
  },
  "401": {
    "description": "Invalid, missing, or expired authentication token."
  },
  "404": {
    "description": "The order was not found or does not belong to the authenticated user."
  }
}
GETDownload order document/api/v1.0/orders/{order_id}/pdf/{type}
Orders

Parameters

FieldLocationTypeRequired
order_idpathintegerRequired
typepathstringRequired
View schema
[
  {
    "name": "order_id",
    "in": "path",
    "description": "ID of the order.",
    "required": true,
    "schema": {
      "type": "integer",
      "example": 205481
    }
  },
  {
    "name": "type",
    "in": "path",
    "description": "Type of PDF document to generate.",
    "required": true,
    "schema": {
      "type": "string",
      "enum": [
        "order",
        "invoice",
        "credit"
      ],
      "example": "invoice"
    }
  }
]

Responses

200400401404500
View schema
{
  "200": {
    "description": "PDF document successfully generated.",
    "content": {
      "application/json": {
        "schema": {
          "required": [
            "order_id",
            "filename",
            "pdf_base64",
            "format",
            "success",
            "error_message"
          ],
          "properties": {
            "order_id": {
              "description": "ID of the order.",
              "type": "integer",
              "example": 205481
            },
            "filename": {
              "description": "Suggested filename for the PDF document.",
              "type": "string",
              "example": "invoice-205481.pdf"
            },
            "pdf_base64": {
              "description": "Base64-encoded contents of the PDF document.",
              "type": "string",
              "format": "byte",
              "example": "JVBERi0xLjQKJc..."
            },
            "format": {
              "type": "string",
              "example": "json"
            },
            "success": {
              "type": "boolean",
              "example": true
            },
            "error_message": {
              "type": "array",
              "items": {},
              "example": []
            }
          },
          "type": "object"
        }
      }
    }
  },
  "400": {
    "description": "The order_id is invalid or the document type is not order, invoice, or credit."
  },
  "401": {
    "description": "Invalid, missing, or expired authentication token."
  },
  "404": {
    "description": "The order or requested PDF document was not found."
  },
  "500": {
    "description": "The PDF document could not be generated."
  }
}
GETCheck stock/api/v1.0/products/stock/{identifier}
Products

Parameters

FieldLocationTypeRequired
identifierpathstringRequired
typequerystringOptional
View schema
[
  {
    "name": "identifier",
    "in": "path",
    "description": "<b>ID</b> or <b>EAN</b> or <b>SKU</b>.",
    "required": true,
    "schema": {
      "type": "string",
      "pattern": "^[a-z0-9A-Z]+$"
    }
  },
  {
    "name": "type",
    "in": "query",
    "required": false,
    "schema": {
      "type": "string",
      "enum": [
        "id",
        "ean",
        "sku"
      ]
    }
  }
]

Responses

200404
View schema
{
  "200": {
    "description": "Get stock",
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/Product"
        }
      }
    }
  },
  "404": {
    "description": "Product Not Found",
    "content": {
      "application/json": {
        "schema": {
          "properties": {
            "success": {
              "type": "boolean",
              "example": false
            },
            "error_message": {
              "properties": {
                "code": {
                  "type": "integer",
                  "example": 404
                },
                "message": {
                  "type": "string",
                  "example": "Product Not Found"
                },
                "details": {
                  "type": "string",
                  "example": "The product with the specified ID: '{productId}', could not be found. Please verify the ID and try again."
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        }
      }
    }
  }
}
POSTSearch products/api/v1.0/products/search
Products

Request body

Required

View schema
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "properties": {
          "filters": {
            "description": "The filters ",
            "properties": {
              "productnumbers": {
                "description": "1 or multiple productnumbers.",
                "type": "array",
                "items": {
                  "type": "string",
                  "default": ""
                },
                "example": [
                  "productnumber"
                ]
              },
              "eancodes": {
                "description": "1 or multiple eancodes.",
                "type": "array",
                "items": {
                  "type": "string",
                  "default": ""
                },
                "example": [
                  "eancode"
                ]
              },
              "brands": {
                "description": "1 or multiple brand names.",
                "type": "array",
                "items": {
                  "type": "string",
                  "default": ""
                },
                "example": [
                  "Brand name"
                ]
              },
              "brand_ids": {
                "description": "1 or multiple brand ids.",
                "type": "array",
                "items": {
                  "type": "integer",
                  "default": 0
                },
                "example": [
                  1,
                  2,
                  3
                ]
              },
              "categories": {
                "description": "1 or multiple category seo_paths.",
                "type": "array",
                "items": {
                  "type": "string",
                  "default": ""
                },
                "example": [
                  "/parts/subcat"
                ]
              },
              "categorie_ids": {
                "description": "1 or multiple category ids.",
                "type": "array",
                "items": {
                  "type": "integer",
                  "default": 0
                },
                "example": [
                  1,
                  2,
                  3
                ]
              },
              "producttype_ids": {
                "description": "1 or multiple producttype ids.",
                "type": "array",
                "items": {
                  "type": "integer",
                  "default": 0
                },
                "example": [
                  1,
                  2,
                  3
                ]
              },
              "vehicle_ids": {
                "description": "1 or multiple internal vehicle ids.",
                "type": "array",
                "items": {
                  "type": "integer",
                  "default": 0
                },
                "example": [
                  1,
                  2,
                  3
                ]
              },
              "ktype_ids": {
                "description": "1 or multiple ktype ids.",
                "type": "array",
                "items": {
                  "type": "integer",
                  "default": 0
                },
                "example": [
                  1,
                  2,
                  3
                ]
              },
              "property_ids": {
                "type": "array",
                "items": {
                  "type": "integer"
                },
                "example": [
                  120,
                  151
                ]
              }
            },
            "type": "object"
          },
          "page": {
            "description": "The page number for pagination, starting from 0.",
            "type": "integer",
            "default": 1
          },
          "limit": {
            "description": "The maximum number of items per page.",
            "type": "integer",
            "default": 10,
            "maximum": 50,
            "minimum": 10
          }
        },
        "type": "object"
      }
    }
  }
}

Responses

200400
View schema
{
  "200": {
    "description": "Get product ids successfully."
  },
  "400": {
    "description": "Invalid input. 1 or multiple variables must be provided."
  }
}
POSTRetrieve product filters/api/v1.0/products/search/filters
Products

Request body

Required

View schema
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "properties": {
          "filters": {
            "properties": {
              "productnumbers": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "example": [
                  "12345",
                  "67890"
                ]
              },
              "eancodes": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "example": [
                  "8712345678901"
                ]
              },
              "categories": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "example": [
                  "engine-parts"
                ]
              },
              "category_ids": {
                "type": "array",
                "items": {
                  "type": "integer"
                },
                "example": [
                  10,
                  20
                ]
              },
              "brands": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "example": [
                  "FEBI BILSTEIN"
                ]
              },
              "brand_ids": {
                "type": "array",
                "items": {
                  "type": "integer"
                },
                "example": [
                  19,
                  60
                ]
              },
              "producttype_ids": {
                "type": "array",
                "items": {
                  "type": "integer"
                },
                "example": [
                  1,
                  2
                ]
              },
              "vehicle_ids": {
                "type": "array",
                "items": {
                  "type": "integer"
                },
                "example": [
                  1001
                ]
              },
              "ktype_ids": {
                "type": "array",
                "items": {
                  "type": "integer"
                },
                "example": [
                  12345
                ]
              },
              "property_ids": {
                "type": "array",
                "items": {
                  "type": "integer"
                },
                "example": [
                  120,
                  151
                ]
              }
            },
            "type": "object"
          },
          "limit": {
            "type": "integer",
            "maximum": 50,
            "example": 10
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "example": 1
          }
        },
        "type": "object"
      }
    }
  }
}

Responses

200404400
View schema
{
  "200": {
    "description": "Filters retrieved successfully",
    "content": {
      "application/json": {
        "schema": {
          "properties": {
            "total_items": {
              "type": "integer",
              "example": 2
            },
            "pages": {
              "type": "integer",
              "example": 1
            },
            "items_per_pages": {
              "type": "integer",
              "example": 10
            },
            "current_page": {
              "type": "integer",
              "example": 1
            },
            "filters": {
              "type": "object",
              "example": {
                "5_property_120": {
                  "id": "property_120",
                  "title": "fitting position",
                  "filters": [
                    {
                      "title": "front axle left",
                      "id": 153,
                      "icon": "",
                      "count": 2,
                      "selected": false
                    },
                    {
                      "title": "front axle right",
                      "id": 154,
                      "icon": "",
                      "count": 1,
                      "selected": false
                    },
                    {
                      "title": "front",
                      "id": 937,
                      "icon": "",
                      "count": 1,
                      "selected": false
                    },
                    {
                      "title": "upper",
                      "id": 1283,
                      "icon": "",
                      "count": 1,
                      "selected": false
                    }
                  ],
                  "selected": null
                }
              },
              "additionalProperties": {
                "properties": {
                  "id": {
                    "type": "string",
                    "example": "property_120"
                  },
                  "title": {
                    "type": "string",
                    "example": "fitting position"
                  },
                  "filters": {
                    "type": "array",
                    "items": {
                      "properties": {
                        "title": {
                          "type": "string",
                          "example": "front axle left"
                        },
                        "id": {
                          "type": "integer",
                          "example": 153
                        },
                        "icon": {
                          "type": "string",
                          "example": ""
                        },
                        "count": {
                          "type": "integer",
                          "example": 2
                        },
                        "selected": {
                          "type": "boolean",
                          "example": false
                        }
                      },
                      "type": "object"
                    }
                  },
                  "selected": {
                    "example": null,
                    "nullable": true
                  }
                },
                "type": "object"
              }
            }
          },
          "type": "object"
        }
      }
    }
  },
  "404": {
    "description": "No products found",
    "content": {
      "application/json": {
        "schema": {
          "properties": {
            "error": {
              "type": "string",
              "example": "No Products Found"
            },
            "message": {
              "type": "string",
              "example": "The products with the specified filters could not be found."
            }
          },
          "type": "object"
        }
      }
    }
  },
  "400": {
    "description": "Missing filters",
    "content": {
      "application/json": {
        "schema": {
          "properties": {
            "error": {
              "type": "string",
              "example": "Missing required filters"
            },
            "fields": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "type": "object"
        }
      }
    }
  }
}
POSTRetrieve product data/api/v1.0/products/data
Products

Request body

Required

View schema
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "required": [
          "products",
          "language"
        ],
        "properties": {
          "products": {
            "description": "An array of product IDs.",
            "type": "array",
            "items": {
              "type": "integer",
              "default": ""
            }
          },
          "language": {
            "description": "The language of the response.",
            "type": "string",
            "default": "en"
          },
          "options": {
            "description": "The optional flags",
            "properties": {
              "vehicle_id": {
                "description": "Vehicle id required for vehicle properties.",
                "type": "integer",
                "default": "0"
              },
              "oenumbers": {
                "description": "Include OE numbers.",
                "type": "boolean",
                "default": false
              },
              "images": {
                "description": "Include images.",
                "type": "boolean",
                "default": false
              },
              "usageNumbers": {
                "description": "Include usage numbers.",
                "type": "boolean",
                "default": false
              },
              "measurements": {
                "description": "Include measurements.",
                "type": "boolean",
                "default": false
              },
              "package_measurements": {
                "description": "Include package measurements.",
                "type": "boolean",
                "default": false
              },
              "stock": {
                "description": "Include internal,external stock.",
                "type": "boolean",
                "default": false
              },
              "categories": {
                "description": "Include categories.",
                "type": "boolean",
                "default": false
              },
              "brand": {
                "description": "Include brand.",
                "type": "boolean",
                "default": false
              },
              "properties": {
                "description": "Include properties.",
                "type": "boolean",
                "default": false
              }
            },
            "type": "object"
          },
          "page": {
            "description": "The page number for pagination, starting from 0.",
            "type": "integer",
            "default": 1
          },
          "limit": {
            "description": "The maximum number of items per page.",
            "type": "integer",
            "default": 10,
            "maximum": 50,
            "minimum": 10
          }
        },
        "type": "object"
      }
    }
  }
}

Responses

200400
View schema
{
  "200": {
    "description": "Get product data successfully."
  },
  "400": {
    "description": "Invalid input. Either products and language or categorieUrl and language must be provided."
  }
}
POSTRetrieve product and vehicle data/api/v1.0/products/data/vehicles
Products

Request body

Required

View schema
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "required": [
          "product_id"
        ],
        "properties": {
          "product_id": {
            "description": "An product ID.",
            "type": "integer"
          },
          "page": {
            "description": "The page number for pagination, starting from 0.",
            "type": "integer",
            "default": 1
          },
          "limit": {
            "description": "The maximum number of items per page.",
            "type": "integer",
            "default": 10
          }
        },
        "type": "object"
      }
    }
  }
}

Responses

200400404
View schema
{
  "200": {
    "description": "Get product vehicles successfully."
  },
  "400": {
    "description": "Invalid input. product_id must be provided."
  },
  "404": {
    "description": "No vehicles found."
  }
}
POSTRetrieve alternative products/api/v1.0/products/alternatives
Products

Request body

Required

View schema
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "required": [
          "product_id",
          "language",
          "vehicle_id"
        ],
        "properties": {
          "product_id": {
            "description": "Product id.",
            "type": "integer",
            "default": ""
          },
          "language": {
            "description": "The language of the response.",
            "type": "string",
            "default": "en"
          },
          "vehicle_id": {
            "description": "The vehicle_id required for compatibility.",
            "type": "integer",
            "default": ""
          },
          "brand_id": {
            "description": "The brand_id (optional)",
            "type": "integer",
            "default": ""
          },
          "options": {
            "description": "The optional flags",
            "properties": {
              "images": {
                "description": "Include images.",
                "type": "boolean",
                "default": false
              },
              "stock": {
                "description": "Include internal,external stock.",
                "type": "boolean",
                "default": false
              },
              "categories": {
                "description": "Include categories.",
                "type": "boolean",
                "default": false
              },
              "brand": {
                "description": "Include brand.",
                "type": "boolean",
                "default": false
              },
              "properties": {
                "description": "Include properties.",
                "type": "boolean",
                "default": false
              }
            },
            "type": "object"
          },
          "page": {
            "description": "The page number for pagination, starting from 0.",
            "type": "integer",
            "default": 1
          },
          "limit": {
            "description": "The maximum number of items per page.",
            "type": "integer",
            "default": 10,
            "maximum": 50,
            "minimum": 10
          }
        },
        "type": "object"
      }
    }
  }
}

Responses

200400
View schema
{
  "200": {
    "description": "Get product data successfully."
  },
  "400": {
    "description": "Invalid input. products, language and vehicle_id must be provided."
  }
}
POSTRetrieve maintenance products/api/v1.0/products/maintenance
Products

Request body

Required

View schema
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "required": [
          "product_id",
          "language"
        ],
        "properties": {
          "product_id": {
            "description": "Product id.",
            "type": "integer",
            "default": ""
          },
          "language": {
            "description": "The language of the response.",
            "type": "string",
            "default": "en"
          },
          "options": {
            "description": "The optional flags",
            "properties": {
              "images": {
                "description": "Include images.",
                "type": "boolean",
                "default": false
              },
              "stock": {
                "description": "Include internal,external stock.",
                "type": "boolean",
                "default": false
              },
              "categories": {
                "description": "Include categories.",
                "type": "boolean",
                "default": false
              },
              "brand": {
                "description": "Include brand.",
                "type": "boolean",
                "default": false
              },
              "properties": {
                "description": "Include properties.",
                "type": "boolean",
                "default": false
              }
            },
            "type": "object"
          },
          "page": {
            "description": "The page number for pagination, starting from 0.",
            "type": "integer",
            "default": 1
          },
          "limit": {
            "description": "The maximum number of items per page.",
            "type": "integer",
            "default": 10,
            "maximum": 50,
            "minimum": 10
          }
        },
        "type": "object"
      }
    }
  }
}

Responses

200400
View schema
{
  "200": {
    "description": "Get product data successfully."
  },
  "400": {
    "description": "Invalid input. products, language and vehicle_id must be provided."
  }
}
POSTCreate a user/api/v1.0/users/create
Users

Request body

Required

View schema
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "properties": {
          "username": {
            "description": "Username for login. If the system is configured to use email as username, this must be a valid email address.",
            "type": "string",
            "example": "john@example.com"
          },
          "email": {
            "description": "Email address of the user.",
            "type": "string",
            "example": "john@example.com"
          },
          "password": {
            "description": "User password. If not provided, a random password will be generated automatically.",
            "type": "string",
            "example": "StrongPassword123"
          },
          "gender": {
            "description": "Gender of the user.",
            "type": "string",
            "example": "male"
          },
          "firstname": {
            "type": "string",
            "example": "John"
          },
          "lastname": {
            "type": "string",
            "example": "Doe"
          },
          "address": {
            "type": "string",
            "example": "Main Street"
          },
          "address2": {
            "type": "string",
            "example": "Apartment 5"
          },
          "addressnumber": {
            "type": "string",
            "example": "12"
          },
          "postalcode": {
            "type": "string",
            "example": "1234AB"
          },
          "city": {
            "type": "string",
            "example": "Amsterdam"
          },
          "country": {
            "description": "Country code (ISO2 or ISO3). Will be converted internally to the country ID.",
            "type": "string",
            "example": "NL"
          },
          "state": {
            "type": "string",
            "example": "North Holland"
          },
          "phone": {
            "type": "string",
            "example": "+31 20 1234567"
          },
          "mobphone": {
            "type": "string",
            "example": "+31 6 12345678"
          },
          "companyname": {
            "type": "string",
            "example": "Example BV"
          },
          "chambercommerce": {
            "description": "Chamber of Commerce registration number.",
            "type": "string",
            "example": "12345678"
          },
          "eori_number": {
            "type": "string",
            "example": "NL123456789"
          },
          "vatnumber": {
            "type": "string",
            "example": "NL123456789B01"
          }
        },
        "type": "object"
      }
    }
  }
}

Responses

200400
View schema
{
  "200": {
    "description": "User successfully created.",
    "content": {
      "application/json": {
        "schema": {
          "properties": {
            "id": {
              "type": "integer",
              "example": 125
            }
          },
          "type": "object"
        }
      }
    }
  },
  "400": {
    "description": "Validation error (missing or invalid fields)."
  }
}
POSTLog in a user/api/v1.0/users/auth/login
Users

Request body

Required

View schema
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "required": [
          "username",
          "password"
        ],
        "properties": {
          "username": {
            "type": "string",
            "example": "john@example.com"
          },
          "password": {
            "type": "string",
            "example": "StrongPassword123"
          }
        },
        "type": "object"
      }
    }
  }
}

Responses

200400
View schema
{
  "200": {
    "description": "Login successful",
    "content": {
      "application/json": {
        "schema": {
          "properties": {
            "token": {
              "type": "string",
              "example": "4e6c6d4f5b1c4b1c3f8e6f4d"
            },
            "user_id": {
              "type": "integer",
              "example": 125
            }
          },
          "type": "object"
        }
      }
    }
  },
  "400": {
    "description": "Invalid credentials"
  }
}
POSTLog out current session/api/v1.0/users/auth/logout
Users

Responses

200401
View schema
{
  "200": {
    "description": "User logged out",
    "content": {
      "application/json": {
        "schema": {
          "properties": {
            "logged_out": {
              "type": "boolean",
              "example": true
            }
          },
          "type": "object"
        }
      }
    }
  },
  "401": {
    "description": "Invalid or missing token"
  }
}
POSTLog out all sessions/api/v1.0/users/auth/logout/all
Users

Responses

200401
View schema
{
  "200": {
    "description": "User logged out",
    "content": {
      "application/json": {
        "schema": {
          "properties": {
            "logged_out": {
              "type": "boolean",
              "example": true
            }
          },
          "type": "object"
        }
      }
    }
  },
  "401": {
    "description": "Invalid or missing token"
  }
}
POSTRefresh token/api/v1.0/users/auth/refresh
Users

Responses

200401
View schema
{
  "200": {
    "description": "Token refreshed",
    "content": {
      "application/json": {
        "schema": {
          "properties": {
            "token": {
              "type": "string",
              "example": "new_token_abcdef123456"
            },
            "expires_in": {
              "description": "Token lifetime in seconds",
              "type": "integer",
              "example": 2592000
            }
          },
          "type": "object"
        }
      }
    }
  },
  "401": {
    "description": "Invalid or expired token"
  }
}
POSTRetrieve current user/api/v1.0/users/auth/whoami
Users

Responses

200401
View schema
{
  "200": {
    "description": "User information",
    "content": {
      "application/json": {
        "schema": {
          "properties": {
            "user_id": {
              "type": "integer",
              "example": 125
            },
            "username": {
              "type": "string",
              "example": "john@example.com"
            },
            "email": {
              "type": "string",
              "example": "john@example.com"
            },
            "firstname": {
              "type": "string",
              "example": "John"
            },
            "lastname": {
              "type": "string",
              "example": "Doe"
            }
          },
          "type": "object"
        }
      }
    }
  },
  "401": {
    "description": "Invalid or expired token"
  }
}
POSTSearch vehicles/api/v1.0/vehicles/search
Vehicles

Request body

Required

View schema
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "required": [
          "filters"
        ],
        "properties": {
          "filters": {
            "description": "At least one filter must be provided.",
            "properties": {
              "licenseplates": {
                "description": "1 or multiple licenseplates. Requires 'country' to be set.",
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "vinnumbers": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "vehicle_ids": {
                "type": "array",
                "items": {
                  "type": "integer"
                }
              },
              "ktype_ids": {
                "type": "array",
                "items": {
                  "type": "integer"
                }
              }
            },
            "type": "object"
          },
          "country": {
            "description": "ISO country code (e.g. 'nl'). REQUIRED when using 'filters.licenseplates'.",
            "type": "string",
            "example": "nl"
          },
          "language": {
            "type": "string",
            "default": "en"
          },
          "page": {
            "type": "integer",
            "default": 1
          },
          "limit": {
            "type": "integer",
            "default": 10,
            "maximum": 50,
            "minimum": 10
          }
        },
        "type": "object"
      },
      "examples": {
        "licenseplate_search": {
          "summary": "Licenseplate search (country REQUIRED)",
          "value": {
            "filters": {
              "licenseplates": [
                "AB123CD"
              ]
            },
            "country": "nl",
            "language": "en",
            "page": 1,
            "limit": 10
          }
        },
        "multiple_licenseplates": {
          "summary": "Multiple licenseplates",
          "value": {
            "filters": {
              "licenseplates": [
                "AB123CD",
                "XY987ZT"
              ]
            },
            "country": "nl",
            "language": "en"
          }
        },
        "vin_search": {
          "summary": "Search by VIN (no country required)",
          "value": {
            "filters": {
              "vinnumbers": [
                "WBA123456789",
                "VF1123456789"
              ]
            },
            "language": "en"
          }
        },
        "vehicle_ids_search": {
          "summary": "Search by internal vehicle IDs",
          "value": {
            "filters": {
              "vehicle_ids": [
                1,
                25,
                99
              ]
            },
            "language": "en"
          }
        },
        "ktype_ids_search": {
          "summary": "Search by TecDoc ktype IDs",
          "value": {
            "filters": {
              "ktype_ids": [
                12345,
                67890
              ]
            },
            "language": "en"
          }
        },
        "combined_search": {
          "summary": "Combined filters (VIN + ktype)",
          "value": {
            "filters": {
              "vinnumbers": [
                "WBA123456789"
              ],
              "ktype_ids": [
                12345
              ]
            },
            "language": "en",
            "page": 1,
            "limit": 20
          }
        },
        "invalid_missing_country": {
          "summary": "Invalid: licenseplate without country",
          "value": {
            "filters": {
              "licenseplates": [
                "AB123CD"
              ]
            },
            "language": "en"
          }
        },
        "invalid_no_filters": {
          "summary": "Invalid: no filters provided",
          "value": {
            "filters": [],
            "language": "en"
          }
        }
      }
    }
  }
}

Responses

200
View schema
{
  "200": {
    "description": "Get vehicles successfully. Vehicles are returned as an object keyed by vehicle ID. Each vehicle contains a 'matched_on' field describing which input matched it.",
    "content": {
      "application/json": {
        "examples": {
          "licenseplate_result": {
            "summary": "Licenseplate search result",
            "value": {
              "vehicles": {
                "1": {
                  "id": 1,
                  "ktype": 116873,
                  "manufacturer": "TOYOTA",
                  "short_name": "1.2 (PAB40)",
                  "model": {
                    "id": 1,
                    "model": "AYGO",
                    "model_group": "AYGO",
                    "model_type": "_B4_",
                    "vehicle_type": null
                  },
                  "cylinder_amount": 3,
                  "cylinder_capacity_ccm": 1199,
                  "cylinder_capacity_liter": 120,
                  "valves": 4,
                  "impulsion_type": "Voorwielaandrijving",
                  "construction_type": "Hatchback",
                  "construction_start": "2014-04",
                  "construction_end": null,
                  "power_hp": 82,
                  "power_kw": 60,
                  "fueltype": "Benzine",
                  "matched_on": {
                    "type": "licenseplate",
                    "country": "ch",
                    "value": "3mp480"
                  }
                }
              },
              "total_items": 1,
              "pages": 1,
              "items_per_pages": 10,
              "current_page": 1,
              "format": "json",
              "success": true,
              "error_message": []
            }
          },
          "vin_result": {
            "summary": "VIN search result",
            "value": {
              "vehicles": {
                "201": {
                  "id": 201,
                  "ktype": 99887,
                  "manufacturer": "BMW",
                  "short_name": "320d",
                  "fueltype": "Diesel",
                  "matched_on": {
                    "type": "vinnumber",
                    "value": "WBA123456789"
                  }
                }
              },
              "total_items": 1,
              "pages": 1,
              "items_per_pages": 10,
              "current_page": 1,
              "format": "json",
              "success": true,
              "error_message": []
            }
          },
          "empty_result": {
            "summary": "No vehicles found",
            "value": {
              "vehicles": [],
              "total_items": 0,
              "pages": 0,
              "items_per_pages": 10,
              "current_page": 1,
              "format": "json",
              "success": false,
              "error_message": [
                "No vehicles found"
              ]
            }
          }
        }
      }
    }
  }
}
POSTSearch for a vehicle by name and model/api/v1.0/vehicles/searchByNameModel
Vehicles

Request body

Required

View schema
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "required": [
          "manufacturer"
        ],
        "properties": {
          "manufacturer": {
            "description": "Manufacturer name (required)",
            "type": "string",
            "example": "BMW"
          },
          "short_name": {
            "description": "Vehicle short name",
            "type": "string",
            "example": "320d"
          },
          "modelname": {
            "description": "Vehicle model name",
            "type": "string",
            "example": "3 Series"
          },
          "modelgroup": {
            "description": "Vehicle model group",
            "type": "string",
            "example": "Golf"
          },
          "construction_type": {
            "description": "Vehicle construction type",
            "type": "string",
            "example": "Hatchback"
          },
          "construction_start": {
            "description": "Production start date",
            "type": "string",
            "format": "date",
            "example": "2018-01-01"
          },
          "construction_end": {
            "description": "Production end date",
            "type": "string",
            "format": "date",
            "example": "2022-12-31"
          },
          "language": {
            "type": "string",
            "default": "en",
            "example": "en"
          },
          "page": {
            "type": "integer",
            "default": 1,
            "example": 1
          },
          "limit": {
            "type": "integer",
            "default": 10,
            "maximum": 50,
            "minimum": 10,
            "example": 10
          }
        },
        "type": "object"
      },
      "examples": {
        "manufacturer_and_model": {
          "summary": "Manufacturer + model name",
          "value": {
            "manufacturer": "BMW",
            "modelname": "3 Series",
            "language": "en",
            "page": 1,
            "limit": 10
          }
        },
        "manufacturer_and_modelgroup": {
          "summary": "Manufacturer + model group",
          "value": {
            "manufacturer": "Volkswagen",
            "modelgroup": "Golf",
            "language": "en"
          }
        },
        "full_search": {
          "summary": "Complete search",
          "value": {
            "manufacturer": "Mercedes-Benz",
            "short_name": "220 CDI",
            "modelname": "C-Class",
            "construction_type": "Sedan",
            "construction_start": "2018-01-01",
            "construction_end": "2022-12-31",
            "language": "en",
            "page": 1,
            "limit": 20
          }
        },
        "construction_type_search": {
          "summary": "Manufacturer + construction type",
          "value": {
            "manufacturer": "Audi",
            "construction_type": "Hatchback",
            "language": "en"
          }
        },
        "invalid_request": {
          "summary": "Invalid request",
          "value": {
            "language": "en"
          }
        }
      }
    }
  }
}

Responses

200404403422
View schema
{
  "200": {
    "description": "Vehicles found successfully",
    "content": {
      "application/json": {
        "schema": {},
        "example": {
          "vehicles": [
            {
              "id": 123,
              "ktype": 456789,
              "manufacturer": "BMW",
              "short_name": "320d",
              "model": {
                "id": 10,
                "model": "3 Series",
                "model_group": "3 Series",
                "model_type": "F30",
                "vehicle_type": null
              },
              "fueltype": "Diesel",
              "construction_type": "Sedan",
              "construction_start": "2018-01",
              "construction_end": null,
              "power_hp": 190,
              "power_kw": 140
            }
          ],
          "total_items": 1,
          "pages": 1,
          "items_per_pages": 10,
          "current_page": 1,
          "success": true,
          "error_message": []
        }
      }
    }
  },
  "404": {
    "description": "No vehicles found"
  },
  "403": {
    "description": "TecDoc service disabled"
  },
  "422": {
    "description": "Validation error"
  }
}
Download OpenAPI specification ↓Open original documentation Based on the published specification retrieved on 7 October 2026.
Shared data models
{
  "StockItem": {
    "properties": {
      "stock": {
        "type": "integer",
        "example": 1
      },
      "batch_id": {
        "type": "string",
        "example": ""
      },
      "warehouse_id": {
        "type": "integer",
        "example": 1
      },
      "warehouse_name": {
        "type": "string",
        "example": "Central Warehouse"
      },
      "warehouse_location_id": {
        "type": "integer",
        "example": 3
      },
      "warehouse_location_code": {
        "type": "string",
        "example": "W001R001C01S01",
        "nullable": true
      }
    },
    "type": "object"
  },
  "InventoryDetail": {
    "properties": {
      "unique_identifier": {
        "type": "string",
        "example": "178_0_0_0"
      },
      "configuration_id": {
        "type": "integer",
        "example": 0
      },
      "user_input_hash": {
        "type": "string",
        "example": ""
      },
      "stock": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/StockItem"
        }
      },
      "total_quantity": {
        "type": "integer",
        "example": 21
      }
    },
    "type": "object"
  },
  "InventoryDetails": {
    "type": "object",
    "example": {
      "178_0_0_0": {
        "unique_identifier": "178_0_0_0",
        "configuration_id": 0,
        "user_input_hash": "",
        "stock": [
          {
            "stock": 1,
            "batch_id": "",
            "warehouse_id": 1,
            "warehouse_name": "Central Warehouse",
            "warehouse_location_id": 3,
            "warehouse_location_code": "W001R001C01S01"
          }
        ],
        "total_quantity": 10
      }
    },
    "additionalProperties": {
      "$ref": "#/components/schemas/InventoryDetail"
    }
  },
  "Product": {
    "required": [
      "product_id",
      "total_quantity",
      "success"
    ],
    "properties": {
      "product_id": {
        "type": "string",
        "example": "1"
      },
      "product_ean": {
        "type": "string",
        "example": "10011001000101"
      },
      "product_number": {
        "type": "string",
        "example": "AB120923"
      },
      "total_quantity": {
        "type": "integer",
        "example": 10
      },
      "inventory_details": {
        "$ref": "#/components/schemas/InventoryDetails"
      },
      "success": {
        "type": "boolean",
        "example": true
      }
    },
    "type": "object"
  },
  "OrderCreateDTO": {
    "title": "OrderCreateResponse",
    "description": "Response schema returned after attempting to create an order. Provides identifiers, item details, and status information.",
    "properties": {
      "order_id": {
        "description": "Unique identifier assigned to the order by the Corenio system. This ID is used to track and manage the order internally.",
        "type": "integer",
        "example": 126
      },
      "external_order_id": {
        "description": "Optional identifier provided by an external system. Useful for correlating this order with external platforms such as e-commerce or ERP systems.",
        "type": "string",
        "example": "EXT-4589-XYZ"
      },
      "order_items": {
        "description": "List of items included in the order. Each item contains a product ID and the quantity ordered.",
        "type": "array",
        "items": {
          "properties": {
            "product_id": {
              "description": "Unique identifier of the product being ordered.",
              "type": "integer",
              "example": 1679
            },
            "amount": {
              "description": "Quantity of the product to be included in the order.",
              "type": "integer",
              "example": 1
            }
          },
          "type": "object"
        }
      },
      "format": {
        "description": "The response format. Typically set to 'json'.",
        "type": "string",
        "example": "json"
      },
      "success": {
        "description": "Indicates whether the order was created successfully. `true` means the operation succeeded, `false` indicates failure.",
        "type": "boolean",
        "example": true
      },
      "error_message": {
        "description": "Array of error messages, if any occurred during order creation. Empty if the operation was successful.",
        "type": "array",
        "items": {
          "type": "string"
        },
        "example": []
      }
    },
    "type": "object"
  },
  "OrderStatusDTO": {
    "title": "OrderStatusResponse",
    "description": "Response schema for checking the current status of an order. Includes status code, message, and success flag.",
    "properties": {
      "order_id": {
        "description": "Internal identifier of the order whose status is being queried. This is Corenio orderID.",
        "type": "string",
        "example": "123"
      },
      "is_credit_for": {
        "description": "If this order is a credit, it references the original order ID. Optional field.",
        "type": "string",
        "example": "456",
        "nullable": true
      },
      "credited_by": {
        "description": "If this order has been credited by another order, it references that order ID. Optional field.",
        "type": "string",
        "example": "789",
        "nullable": true
      },
      "success": {
        "description": "Indicates whether the status check was successful. 1 for success, 0 for failure.",
        "type": "integer",
        "example": 1
      },
      "status": {
        "description": "Current status of the order. This can be represented as an integer status code or a string such as 'shipped'.",
        "oneOf": [
          {
            "type": "integer",
            "example": 2
          },
          {
            "type": "string",
            "example": "shipped"
          }
        ]
      },
      "error-message": {
        "description": "Error message in case the status retrieval failed. Can be null if no error occurred.",
        "type": "string",
        "example": "No errors",
        "nullable": true
      }
    },
    "type": "object"
  }
}

From a working integration to reliable daily use.

Use targeted filters

Product search accepts filters including brand names, category IDs, vehicle IDs and KType IDs. Use the exact schema field names, such as categorie_ids.

Handle errors deliberately

Check the HTTP status for each endpoint. A cart that has already been finalised can return 409, for example. Do not repeat write operations without first checking whether the change has been processed.

Verify pagination and access

Product search documents a limit of 10 to 50. For page, the source mentions both a starting value of 0 and a default of 1; confirm the behaviour in your integration test. Also agree on usage limits and access rights with Corenio.

API + CORENIO

Ready to connect your workflow?

Corenio offers API capabilities for every module. This reference covers publicly documented endpoints. Discuss additional module integrations and the access you need with us.

Book a personal demo