Vendor Orders

Working with vendor orders.

List Vendor Orders

GET /v1/vendor_orders

Retrieves a list of stored vendor orders.

Return Type

array<VendorOrders>

Filters

FieldOperatorsValue List URL
statusIN, NOT_IN
order_channel_idIN, NOT_IN
ordered_onON_DATE, LESS_THAN, MORE_THAN
finalisedON_DATE, LESS_THAN, MORE_THAN
codeEQUALS, LIKE

Sortings

Results can be sorted by the following keys: finalised, ordered_on.

Available expands

FieldReturn TypeDescription
address_countryCountriesA country.
currencyCurrenciesCurrency data.
itemsarray<VendorOrderItems>A line in a vendor order.
items.product_variationProductVariationsMarketplace listable products’ data.
items.statusVendorOrderItemStatusesA status for a vendor order item.
order_channelOrderChannelsCustomer order groups.
warehouseWarehousesA warehouse.

Rate limit cost

Each call to this endpoint deducts 1 credit from your request bucket.

Scopes

This endpoint is only available for users with scope APP::VENDOR-ORDERS::READ.

<?php

// Instantiate a GuzzleHttp client
$client = new \GuzzleHttp\Client();

// Make the request
$response = $client->request("GET", "https://public-api.bladepro.io/v1/vendor_orders?expand=*", [
    "headers" => [
        "Content-Type" => "application/json",
        "Access-Token" => "my-token-from-login",
    ],
]);

// Process the response
$responseBody = json_decode($response->getBody(), true);
require 'rest-client'
require 'json'

# Make the request
response = RestClient.get 'https://public-api.bladepro.io/v1/vendor_orders?expand=*', {
  access_token: 'my-token-from-login',
  content_type: :json,
  accept: :json
}

# Process the response
puts response.body
// Require the node HTTP module
var request = require("request");

// Make the request
request({
    method: "GET",
    json: true,
    uri: "https://public-api.bladepro.io/v1/vendor_orders?expand=*",
    headers: {
        "Access-Token": "my-token-from-login",
        "Content-Type": "application/json",
    },
    (error, response, body) => {
        // Process the response
        console.log(body);
    },
});
# Make the request
curl --location --request GET 'https://public-api.bladepro.io/v1/vendor_orders?expand=*' \
--header 'Content-Type: application/json' \
--header 'Access-Token: my-token-from-login'

Example result:

{
    "meta": {
        "request_reference": "235chjz9h-c893v86",
        "paging": {
            "page": 1,
            "records": 1,
            "per_page": 250,
            "total_records": 1,
            "total_pages": 1
        }
    },
    "data": [
        {
            "id": 123,
            "code": "QWER123ASD",
            "status": "processing",
            "vendor": "VEN-01",
            "ordered_on": "2026-08-27T07:38:35.048Z",
            "deliver_from": "2026-09-01T07:38:35.048Z",
            "deliver_to": "2026-09-06T07:38:35.048Z",
            "freight_terms": null,
            "payment_method": null,
            "payment_terms": null,
            "purchasing_entity": null,
            "delivery_party": null,
            "order_channel_id": 1,
            "currency_id": 1,
            "warehouse_id": 1,
            "finalised": null,
            "address_first_name": "Amazon",
            "address_last_name": "Inc.",
            "address_company": null,
            "address_line_one": "1 Amazon Rd",
            "address_line_two": null,
            "address_line_three": null,
            "address_postcode": "BH23 4FL",
            "address_town": "Christchurch",
            "address_county": "Dorset",
            "address_country_id": 231,
            "created": "2026-08-27T07:38:35.048Z",
            "modified": "2026-08-27T07:38:35.048Z"
        }
    ]
}

Create Vendor Order

POST /v1/vendor_orders

Creates a new vendor order.

Request Body

CreateVendorOrderPayload

Return Type

VendorOrders

Types for the Request Body

CreateVendorOrderPayload (root level)

KeyDescriptionTypesRestrictions
order_channel_idTarget order channel ID.integerrequired
not null
min is 1
vendor_orderThe vendor order.VendorOrderrequired
not null

Item

KeyDescriptionTypesRestrictions
product_variation_idID of the product variation.integerrequired
min is 1
model_numberModel number.stringrequired
min length is 1
max length is 191
asinASIN.stringrequired
min length is 1
max length is 191
skuSKU.stringrequired
min length is 1
max length is 191
nameProduct name.stringrequired
min length is 1
max length is 191
expected_delivery_dateExpected delivery date.daterequired
submitted_quantitySubmitted quantity.integerrequired
not null
min is 1
unit_costUnit cost.numberrequired
not null

VendorOrder

KeyDescriptionTypesRestrictions
codeThird party ID.stringrequired
not null
min length is 1
max length is 100
vendorDescription of the vendor.stringrequired
not null
min length is 1
max length is 191
warehouseDelivery destination.stringrequired
min length is 1
max length is 191
ordered_onDate of ordering as described by the third party.daterequired
not null
deliver_fromStart date of requested delivery window.daterequired
not null
deliver_toEnd date of requested delivery window.daterequired
not null
freight_termsFreight terms.stringrequired
min length is 1
max length is 191
payment_methodPayment method.stringrequired
min length is 1
max length is 191
payment_termsPayment terms.stringrequired
min length is 1
max length is 191
purchasing_entityPurchasing entity.stringrequired
min length is 1
max length is 191
delivery_partyDelivery Party.stringrequired
min length is 1
max length is 191
currency_idISO code of currency.stringrequired
not null
min length is 2
max length is 3
match is /^[A-Z]{2,3}$/i
itemsVendor order items.array<Item>required
not null
min count is 1
address_first_nameFirst name of address.stringrequired
address_last_nameLast name of address.stringrequired
address_companyCompany name of address.stringrequired
address_line_oneAddress line one.stringrequired
address_line_twoAddress line two.stringrequired
address_line_threeAddress line three.stringrequired
address_postcodePostcode of address.stringrequired
address_townTown of address.stringrequired
address_countryCountry ISO of address.stringrequired
min length is 2
max length is 3
match is /^[a-z]{2,3}$/i
address_countyCounty or region of address.stringrequired

Rate limit cost

Each call to this endpoint deducts 2 credits from your request bucket.

Scopes

This endpoint is only available for users with scope APP::VENDOR-ORDERS::MANAGE.

<?php

// Instantiate a GuzzleHttp client
$client = new \GuzzleHttp\Client();

// Make the request
$response = $client->request("POST", "https://public-api.bladepro.io/v1/vendor_orders", [
    "body" => json_encode([
        "order_channel_id" => 3,
        "vendor_order" => [
            "code" => "QWER123ASD",
            "vendor" => "VEN-01",
            "warehouse" => "CHR",
            "ordered_on" => "2026-11-03T00:00:00.000Z",
            "deliver_from" => "2026-11-03T00:00:00.000Z",
            "deliver_to" => "2026-11-10T00:00:00.000Z",
            "freight_terms" => null,
            "payment_method" => null,
            "payment_terms" => null,
            "purchasing_entity" => "#",
            "delivery_party" => "#",
            "currency_id" => "GBP",
            "items" => [
                [
                    "product_variation_id" => 1,
                    "model_number" => "MODEL_30845",
                    "asin" => "ASIN34w5-068",
                    "sku" => "SKU_01",
                    "name" => "Example Product 01",
                    "expected_delivery_date" => "2026-09-01T07:38:35.049Z",
                    "submitted_quantity" => 1000,
                    "unit_cost" => 12.34,
                ],
            ],
            "address_first_name" => "Amazon",
            "address_last_name" => "Inc.",
            "address_company" => null,
            "address_line_one" => "1 Amazon Rd",
            "address_line_two" => null,
            "address_line_three" => null,
            "address_postcode" => "BH23 4FL",
            "address_town" => "Christchurch",
            "address_country" => "GB",
            "address_county" => "Dorset",
        ],
    ]),
    "headers" => [
        "Content-Type" => "application/json",
        "Access-Token" => "my-token-from-login",
    ],
]);

// Process the response
$responseBody = json_decode($response->getBody(), true);
require 'rest-client'
require 'json'

# Make the request
response = RestClient.post 'https://public-api.bladepro.io/v1/vendor_orders', {
  order_channel_id: 3,
  vendor_order: {
    code: "QWER123ASD",
    vendor: "VEN-01",
    warehouse: "CHR",
    ordered_on: "2026-11-03T00:00:00.000Z",
    deliver_from: "2026-11-03T00:00:00.000Z",
    deliver_to: "2026-11-10T00:00:00.000Z",
    freight_terms: nil,
    payment_method: nil,
    payment_terms: nil,
    purchasing_entity: "#",
    delivery_party: "#",
    currency_id: "GBP",
    items: [
      {
        product_variation_id: 1,
        model_number: "MODEL_30845",
        asin: "ASIN34w5-068",
        sku: "SKU_01",
        name: "Example Product 01",
        expected_delivery_date: "2026-09-01T07:38:35.049Z",
        submitted_quantity: 1000,
        unit_cost: 12.34,
      },
    ],
    address_first_name: "Amazon",
    address_last_name: "Inc.",
    address_company: nil,
    address_line_one: "1 Amazon Rd",
    address_line_two: nil,
    address_line_three: nil,
    address_postcode: "BH23 4FL",
    address_town: "Christchurch",
    address_country: "GB",
    address_county: "Dorset",
  },
}, {
  access_token: 'my-token-from-login',
  content_type: :json,
  accept: :json
}

# Process the response
puts response.body
// Require the node HTTP module
var request = require("request");

// Make the request
request({
    method: "POST",
    json: true,
    uri: "https://public-api.bladepro.io/v1/vendor_orders",
    body: {
        "order_channel_id": 3,
        "vendor_order": {
            "code": "QWER123ASD",
            "vendor": "VEN-01",
            "warehouse": "CHR",
            "ordered_on": "2026-11-03T00:00:00.000Z",
            "deliver_from": "2026-11-03T00:00:00.000Z",
            "deliver_to": "2026-11-10T00:00:00.000Z",
            "freight_terms": null,
            "payment_method": null,
            "payment_terms": null,
            "purchasing_entity": "#",
            "delivery_party": "#",
            "currency_id": "GBP",
            "items": [
                {
                    "product_variation_id": 1,
                    "model_number": "MODEL_30845",
                    "asin": "ASIN34w5-068",
                    "sku": "SKU_01",
                    "name": "Example Product 01",
                    "expected_delivery_date": "2026-09-01T07:38:35.049Z",
                    "submitted_quantity": 1000,
                    "unit_cost": 12.34
                }
            ],
            "address_first_name": "Amazon",
            "address_last_name": "Inc.",
            "address_company": null,
            "address_line_one": "1 Amazon Rd",
            "address_line_two": null,
            "address_line_three": null,
            "address_postcode": "BH23 4FL",
            "address_town": "Christchurch",
            "address_country": "GB",
            "address_county": "Dorset"
        }
    },
    headers: {
        "Access-Token": "my-token-from-login",
        "Content-Type": "application/json",
    },
    (error, response, body) => {
        // Process the response
        console.log(body);
    },
});
# Make the request
curl --location --request POST 'https://public-api.bladepro.io/v1/vendor_orders' \
--header 'Content-Type: application/json' \
--header 'Access-Token: my-token-from-login' \
--data-raw '{
    "order_channel_id": 3,
    "vendor_order": {
        "code": "QWER123ASD",
        "vendor": "VEN-01",
        "warehouse": "CHR",
        "ordered_on": "2026-11-03T00:00:00.000Z",
        "deliver_from": "2026-11-03T00:00:00.000Z",
        "deliver_to": "2026-11-10T00:00:00.000Z",
        "freight_terms": null,
        "payment_method": null,
        "payment_terms": null,
        "purchasing_entity": "#",
        "delivery_party": "#",
        "currency_id": "GBP",
        "items": [
            {
                "product_variation_id": 1,
                "model_number": "MODEL_30845",
                "asin": "ASIN34w5-068",
                "sku": "SKU_01",
                "name": "Example Product 01",
                "expected_delivery_date": "2026-09-01T07:38:35.049Z",
                "submitted_quantity": 1000,
                "unit_cost": 12.34
            }
        ],
        "address_first_name": "Amazon",
        "address_last_name": "Inc.",
        "address_company": null,
        "address_line_one": "1 Amazon Rd",
        "address_line_two": null,
        "address_line_three": null,
        "address_postcode": "BH23 4FL",
        "address_town": "Christchurch",
        "address_country": "GB",
        "address_county": "Dorset"
    }
}'

Example result:

{
    "meta": {
        "request_reference": "235chjz9h-c893v86"
    },
    "data": {
        "id": 123,
        "code": "QWER123ASD",
        "status": "processing",
        "vendor": "VEN-01",
        "ordered_on": "2026-08-27T07:38:35.048Z",
        "deliver_from": "2026-09-01T07:38:35.048Z",
        "deliver_to": "2026-09-06T07:38:35.048Z",
        "freight_terms": null,
        "payment_method": null,
        "payment_terms": null,
        "purchasing_entity": null,
        "delivery_party": null,
        "order_channel_id": 1,
        "currency_id": 1,
        "warehouse_id": 1,
        "finalised": null,
        "address_first_name": "Amazon",
        "address_last_name": "Inc.",
        "address_company": null,
        "address_line_one": "1 Amazon Rd",
        "address_line_two": null,
        "address_line_three": null,
        "address_postcode": "BH23 4FL",
        "address_town": "Christchurch",
        "address_county": "Dorset",
        "address_country_id": 231,
        "created": "2026-08-27T07:38:35.049Z",
        "modified": "2026-08-27T07:38:35.049Z"
    }
}

Get Vendor Order

GET /v1/vendor_orders/:vendorOrderId

Retrieves a single vendor order.

Parameter Regular Expressions

  • :vendorOrderId: [1-9][0-9]{0,}

Return Type

VendorOrders

Rate limit cost

Each call to this endpoint deducts 1 credit from your request bucket.

Scopes

This endpoint is only available for users with scope APP::VENDOR-ORDERS::READ.

<?php

// Instantiate a GuzzleHttp client
$client = new \GuzzleHttp\Client();

// Make the request
$response = $client->request("GET", "https://public-api.bladepro.io/v1/vendor_orders/123", [
    "headers" => [
        "Content-Type" => "application/json",
        "Access-Token" => "my-token-from-login",
    ],
]);

// Process the response
$responseBody = json_decode($response->getBody(), true);
require 'rest-client'
require 'json'

# Make the request
response = RestClient.get 'https://public-api.bladepro.io/v1/vendor_orders/123', {
  access_token: 'my-token-from-login',
  content_type: :json,
  accept: :json
}

# Process the response
puts response.body
// Require the node HTTP module
var request = require("request");

// Make the request
request({
    method: "GET",
    json: true,
    uri: "https://public-api.bladepro.io/v1/vendor_orders/123",
    headers: {
        "Access-Token": "my-token-from-login",
        "Content-Type": "application/json",
    },
    (error, response, body) => {
        // Process the response
        console.log(body);
    },
});
# Make the request
curl --location --request GET 'https://public-api.bladepro.io/v1/vendor_orders/123' \
--header 'Content-Type: application/json' \
--header 'Access-Token: my-token-from-login'

Example result:

{
    "meta": {
        "request_reference": "235chjz9h-c893v86"
    },
    "data": {
        "id": 123,
        "code": "QWER123ASD",
        "status": "processing",
        "vendor": "VEN-01",
        "ordered_on": "2026-08-27T07:38:35.049Z",
        "deliver_from": "2026-09-01T07:38:35.049Z",
        "deliver_to": "2026-09-06T07:38:35.049Z",
        "freight_terms": null,
        "payment_method": null,
        "payment_terms": null,
        "purchasing_entity": null,
        "delivery_party": null,
        "order_channel_id": 1,
        "currency_id": 1,
        "warehouse_id": 1,
        "finalised": null,
        "address_first_name": "Amazon",
        "address_last_name": "Inc.",
        "address_company": null,
        "address_line_one": "1 Amazon Rd",
        "address_line_two": null,
        "address_line_three": null,
        "address_postcode": "BH23 4FL",
        "address_town": "Christchurch",
        "address_county": "Dorset",
        "address_country_id": 231,
        "created": "2026-08-27T07:38:35.049Z",
        "modified": "2026-08-27T07:38:35.049Z"
    }
}

Confirm Vendor Order

PUT /v1/vendor_orders/:vendorOrderId/complete

Marks a vendor order as confirmed.

Parameter Regular Expressions

  • :vendorOrderId: [1-9][0-9]{0,}

Request Body

Ignored.

Return Type

VendorOrders

Rate limit cost

Each call to this endpoint deducts 2 credits from your request bucket.

Scopes

This endpoint is only available for users with scope vendor-orders.

<?php

// Instantiate a GuzzleHttp client
$client = new \GuzzleHttp\Client();

// Make the request
$response = $client->request("PUT", "https://public-api.bladepro.io/v1/vendor_orders/123/complete", [
    "body" => "{}",
    "headers" => [
        "Content-Type" => "application/json",
        "Access-Token" => "my-token-from-login",
    ],
]);

// Process the response
$responseBody = json_decode($response->getBody(), true);
require 'rest-client'
require 'json'

# Make the request
response = RestClient.put 'https://public-api.bladepro.io/v1/vendor_orders/123/complete', {}, {
  access_token: 'my-token-from-login',
  content_type: :json,
  accept: :json
}

# Process the response
puts response.body
// Require the node HTTP module
var request = require("request");

// Make the request
request({
    method: "PUT",
    json: true,
    uri: "https://public-api.bladepro.io/v1/vendor_orders/123/complete",
    headers: {
        "Access-Token": "my-token-from-login",
        "Content-Type": "application/json",
    },
    (error, response, body) => {
        // Process the response
        console.log(body);
    },
});
# Make the request
curl --location --request PUT 'https://public-api.bladepro.io/v1/vendor_orders/123/complete' \
--header 'Content-Type: application/json' \
--header 'Access-Token: my-token-from-login'

Example result:

{
    "meta": {
        "request_reference": "235chjz9h-c893v86"
    },
    "data": {
        "id": 123,
        "code": "QWER123ASD",
        "status": "processing",
        "vendor": "VEN-01",
        "ordered_on": "2026-08-27T07:38:35.050Z",
        "deliver_from": "2026-09-01T07:38:35.050Z",
        "deliver_to": "2026-09-06T07:38:35.050Z",
        "freight_terms": null,
        "payment_method": null,
        "payment_terms": null,
        "purchasing_entity": null,
        "delivery_party": null,
        "order_channel_id": 1,
        "currency_id": 1,
        "warehouse_id": 1,
        "finalised": null,
        "address_first_name": "Amazon",
        "address_last_name": "Inc.",
        "address_company": null,
        "address_line_one": "1 Amazon Rd",
        "address_line_two": null,
        "address_line_three": null,
        "address_postcode": "BH23 4FL",
        "address_town": "Christchurch",
        "address_county": "Dorset",
        "address_country_id": 231,
        "created": "2026-08-27T07:38:35.050Z",
        "modified": "2026-08-27T07:38:35.050Z"
    }
}