API Reference Documentation

Integrate your e-commerce storefronts directly with Albovo's automated print-on-demand fulfillment pipeline.

Base API URL
api.albovo.com/api/v2
API Key Authentication
Manage Keys β†’
X-API-Key: albovo_live_...
GET/api/v2/ordersAPI Key

Get Orders

Retrieves a paginated list of orders belonging to the authenticated client, with aggregated status counters in meta.status.

Request Headers
Field / ParameterRequirementDescription
X-API-KeyRequiredPersistent API Key generated from Dashboard β†’ API Keys (or 'Authorization: Bearer <API_KEY>')
X-TimezoneOptionalOptional header to convert created_at and updated_at timestamps to your local timezone (e.g. 'Asia/Ho_Chi_Minh', 'America/New_York')
Query Parameters
Field / ParameterTypeRequirementDescription
pageintegerOptionalPage number for pagination (starts at 1) (default: 1)
per_pageintegerOptionalNumber of orders returned per page (default: 10, max: 100) (default: 10)
statusstringOptionalFilter by status: 'Awaiting Payment', 'In Production', 'Shipped', 'In Transit', 'Delivered', 'Cancelled', 'On Hold' (default: null)
searchstringOptionalSearch keyword matching order ID, customer name, email, or tracking number (default: null)
from_datestring (YYYY-MM-DD)OptionalFilter orders created on or after this calendar date (inclusive, starts 00:00:00 in request timezone). (default: null)
to_datestring (YYYY-MM-DD)OptionalFilter orders created on or before this calendar date (inclusive, ends 23:59:59 in request timezone). (default: null)
cURL Example
curl -X GET "https://api.albovo.com/api/v2/orders?from_date=2026-08-01&to_date=2026-08-25&status=Shipped&page=1&per_page=10" \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "X-Timezone: Asia/Ho_Chi_Minh"
Response Statuses
Paginated list of orders with meta status breakdown counters.
{
  "success": true,
  "message": "Orders retrieved successfully",
  "data": {
    "meta": {
      "page": 1,
      "per_page": 10,
      "total": 2,
      "total_pages": 1,
      "status": {
        "Awaiting Payment": 1,
        "In Production": 1,
        "Shipped": 0,
        "In Transit": 0,
        "Delivered": 0,
        "Cancelled": 0,
        "On Hold": 0
      }
    },
    "orders": [
      {
        "order_id": "ORD-20260811-A1B2C",
        "order_ref": "ORD-CLIENT-1001",
        "status": "Awaiting Payment",
        "address_to": {
          "name": "John Doe",
          "address1": "123 Main Street",
          "address2": "Suite 4B",
          "city": "San Francisco",
          "region": "CA",
          "zip": "94105",
          "country": "US",
          "email": "john.doe@example.com",
          "phone": "+1234567890"
        },
        "shipment": {
          "tracking_number": "TRK123456789",
          "label_url": "https://example.com/labels/label_123.pdf"
        },
        "total_items_price": 24.5,
        "shipping_price": 0.5,
        "total_price": 25,
        "created_at": "2026-08-11T16:25:00+07:00",
        "updated_at": "2026-08-11T16:25:00+07:00",
        "items": [
          {
            "id": 501,
            "sku": "G5000-BLACK-M",
            "quantity": 2,
            "item_price": 12.25,
            "item_price_total": 24.5,
            "preview_files": {
              "front": "https://example.com/mockups/front.png",
              "back": ""
            },
            "print_files": {
              "front": "https://example.com/designs/front.png",
              "back": ""
            }
          }
        ]
      }
    ]
  }
}
POST/api/v2/ordersAPI Key

Create Order

Submits a new print order to the portal in 'Awaiting Payment' status. Supports Platform Delivery (with address) or Prepaid Carrier Label (with tracking number & label URL).

Request Headers
Field / ParameterRequirementDescription
X-API-KeyRequiredPersistent API Key generated from Dashboard β†’ API Keys (or 'Authorization: Bearer <API_KEY>')
Content-TypeRequiredJSON payload body
Request Payload
Field / ParameterTypeRequirementDescription
order_refstringRequiredYour own order reference ID (e.g. ORD-CLIENT-1001). It doesn't have to be unique.
print_techniquestringDeprecatedThis field is no longer used.
address_toobjectConditionalDelivery address object. Required if no prepaid shipment label is provided.
address_to.namestring (2-100 chars)RequiredRecipient full name.
address_to.raw_addressstring (single-line address)ConditionalFull single-line US shipping address string (e.g. '123 Main St Suite 4B, San Francisco, CA 94105'). Mutually exclusive with address1/city/region/zip.
address_to.emailstringOptionalRecipient contact email.
address_to.phonestringOptionalRecipient contact phone number.
address_to.address1string (max 100 chars)ConditionalPrimary street address.
address_to.address2string (max 100 chars)OptionalApartment, suite, unit, or building (optional).
address_to.citystring (2-50 chars)ConditionalCity / District.
address_to.regionstring (USPS state code / name)ConditionalUS state or territory: all 62 valid USPS codes (e.g. CA, NY, PR, TX) or full state name (auto-mapped).
address_to.zipstring (5 or 9-digit ZIP)ConditionalUS ZIP code: 5 digits ('90210') or 9 digits with hyphen ('90210-1234').
address_to.countrystring (default 'US')OptionalDestination country. Defaults to 'US'. Domestic US shipping only ('US', 'USA', 'United States').
address_to.verifyboolean (default true)OptionalOptional boolean (default true). Determines whether carrier address verification is performed via 2-layer engine (internal cache + EasyPost) when pushed to factory. Set false to bypass verification for unindexed addresses. Note: If false, Albovo bears no responsibility for missing, undelivered, or returned shipments.
shipmentobjectConditionalPrepaid carrier shipment details. Required if no recipient delivery address is provided.
shipment.tracking_numberstringRequiredCarrier tracking number.
shipment.label_urlstring (url)RequiredDirect accessible URL to shipping label file (PDF or PNG).
itemsarray[object]RequiredArray of order items (minimum 1 item required).
items[].skustringRequiredCatalog SKU formatted as SHIRTCODE-COLOR-SIZE (e.g. G5000-BLACK-M).
items[].quantityintegerRequiredQuantity of garments for this variant (minimum 1).
items[].preview_filesobjectConditionalMockup preview image URLs (front, back, sleeve_left, sleeve_right). Must bi-directionally match print files.
items[].preview_files.frontstring (url)OptionalMockup preview URL for front placement.
items[].preview_files.backstring (url)OptionalMockup preview URL for back placement.
items[].preview_files.sleeve_leftstring (url)OptionalMockup preview URL for left sleeve placement.
items[].preview_files.sleeve_rightstring (url)OptionalMockup preview URL for right sleeve placement.
items[].preview_files.shoulder_frontstring (url)OptionalMockup preview URL for front shoulder placement.
items[].preview_files.shoulder_backstring (url)OptionalMockup preview URL for back shoulder placement.
items[].print_filesobjectRequiredHigh-resolution print design URLs (front, back, sleeve_left, sleeve_right). At least one main print (front/back) required.
items[].print_files.frontstring (url)OptionalHigh-resolution print artwork URL (300 DPI PNG) for front placement.
items[].print_files.backstring (url)OptionalHigh-resolution print artwork URL (300 DPI PNG) for back placement.
items[].print_files.sleeve_leftstring (url)OptionalHigh-resolution print artwork URL (300 DPI PNG) for left sleeve placement.
items[].print_files.sleeve_rightstring (url)OptionalHigh-resolution print artwork URL (300 DPI PNG) for right sleeve placement.
items[].print_files.shoulder_frontstring (url)OptionalHigh-resolution print artwork URL (300 DPI PNG) for front shoulder placement. Only for products that list this print area.
items[].print_files.shoulder_backstring (url)OptionalHigh-resolution print artwork URL (300 DPI PNG) for back shoulder placement. Only for products that list this print area.
cURL Example
curl -X POST "https://api.albovo.com/api/v2/orders" \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "order_ref": "ORD-CLIENT-1001",
    "address_to": {
      "name": "Jane Doe",
      "email": "jane.doe@example.com",
      "phone": "+1 (415) 555-1234",
      "address1": "PO Box 255 182 Smokestack Hill Rd",
      "city": "San Francisco",
      "region": "California",
      "zip": "94105-1234",
      "country": "US"
    },
    "shipment": {
      "tracking_number": "TRK123456789",
      "label_url": "https://example.com/labels/label_123.pdf"
    },
    "items": [
      {
        "sku": "G5000-BLACK-M",
        "quantity": 2,
        "preview_files": {
          "front": "https://example.com/mockups/front.png"
        },
        "print_files": {
          "front": "https://example.com/designs/front.png"
        }
      }
    ]
  }'
Response Statuses
Order created successfully in 'Awaiting Payment' status.
{
  "success": true,
  "message": "Order created successfully",
  "data": {
    "order_id": "ORD-20260811-A1B2C",
    "order_ref": "ORD-CLIENT-1001",
    "status": "Awaiting Payment",
    "total_items_price": 24.5,
    "shipping_price": 0.5,
    "total_price": 25,
    "created_at": "2026-08-11T16:25:00+00:00",
    "items": [
      {
        "id": 501,
        "sku": "G5000-BLACK-M",
        "quantity": 2,
        "item_price": 12.25,
        "item_price_total": 24.5
      }
    ]
  }
}
POST/api/v2/orders/rateAPI Key

Estimate Order Rate

Calculates a live price breakdown β€” item unit costs plus a delivery split of shipping, label fee and rush production β€” without creating a persistent database order record. This is the only authoritative total: never charge a locally computed figure.

Request Headers
Field / ParameterRequirementDescription
X-API-KeyRequiredPersistent API Key generated from Dashboard β†’ API Keys (or 'Authorization: Bearer <API_KEY>')
Content-TypeRequiredJSON payload body
Request Payload
Field / ParameterTypeRequirementDescription
order_refstringRequiredYour own order reference ID (e.g. ORD-CLIENT-1001). It doesn't have to be unique.
print_techniquestringDeprecatedThis field is no longer used.
address_toobjectConditionalDelivery address object. Required if no prepaid shipment label is provided.
address_to.namestringConditionalRecipient full name.
address_to.raw_addressstring (single-line address)ConditionalFull single-line US shipping address string (e.g. '123 Main St Suite 4B, San Francisco, CA 94105'). Mutually exclusive with address1/city/region/zip.
address_to.address1stringConditionalPrimary street address.
address_to.address2stringOptionalApartment, suite, unit, or building (optional).
address_to.citystringConditionalCity / District.
address_to.regionstringConditionalUS state or territory: all 62 valid USPS codes (e.g. CA, NY, PR, TX) or full state name (auto-mapped).
address_to.zipstringConditionalUS ZIP code: 5 digits ('90210') or 9 digits with hyphen ('90210-1234').
address_to.countrystringOptionalDestination country. Defaults to 'US'. Domestic US shipping only ('US', 'USA', 'United States').
address_to.verifyboolean (default true)OptionalOptional boolean (default true). Determines whether carrier address verification is performed via 2-layer engine (internal cache + EasyPost) when pushed to factory. Set false to bypass verification for unindexed addresses. Note: If false, Albovo bears no responsibility for missing, undelivered, or returned shipments.
address_to.emailstringOptionalRecipient contact email.
address_to.phonestringOptionalRecipient contact phone number.
shipmentobjectConditionalPrepaid carrier shipment details. Required if no recipient delivery address is provided.
shipment.tracking_numberstringConditionalCarrier tracking number.
shipment.label_urlstring (url)ConditionalDirect accessible URL to shipping label file (PDF or PNG).
itemsarray[object]RequiredArray of order items (minimum 1 item required).
items[].skustringRequiredCatalog SKU formatted as SHIRTCODE-COLOR-SIZE (e.g. G5000-BLACK-M).
items[].quantityintegerRequiredQuantity of garments for this variant (minimum 1).
items[].preview_filesobjectConditionalMockup preview image URLs (front, back, sleeve_left, sleeve_right). Must bi-directionally match print files.
items[].print_filesobjectRequiredHigh-resolution print design URLs (front, back, sleeve_left, sleeve_right). At least one main print (front/back) required.
cURL Example
curl -X POST "https://api.albovo.com/api/v2/orders/rate" \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "order_ref": "ORD-ESTIMATE-1001",
    "address_to": {
      "name": "Jane Doe",
      "address1": "123 Main Street",
      "address2": "Suite 4B",
      "city": "San Francisco",
      "region": "CA",
      "zip": "94105",
      "country": "US"
    },
    "items": [
      {
        "sku": "G5000-BLACK-M",
        "quantity": 2,
        "print_files": { "front": "https://example.com/designs/front.png" },
        "preview_files": { "front": "https://example.com/mockups/front.png" }
      }
    ]
  }'
Response Statuses
Order rate and per-item pricing estimated successfully (Standard OrderDetailResponseData schema).
{
  "success": true,
  "message": "Order rate calculated successfully",
  "data": {
    "order_id": null,
    "order_ref": "ORD-ESTIMATE-1001",
    "status": "Estimate",
    "address_to": {
      "name": "Jane Doe",
      "address1": "123 Main Street",
      "address2": "Suite 4B",
      "city": "San Francisco",
      "region": "CA",
      "zip": "94105",
      "country": "US",
      "phone": "+1 (415) 555-1234",
      "email": "jane.doe@example.com"
    },
    "shipment": {
      "tracking_number": "",
      "label_url": ""
    },
    "total_items_price": 31.5,
    "shipping_price": 7.5,
    "delivery": {
      "shipping": 7.5,
      "label_fee": 0,
      "rush_production": 0
    },
    "total_price": 39,
    "created_at": null,
    "updated_at": null,
    "items": [
      {
        "id": null,
        "sku": "G5000-BLACK-M",
        "quantity": 2,
        "item_price": 11,
        "item_price_total": 22,
        "preview_files": {
          "front": "https://example.com/mockups/front_g5000.png",
          "back": "https://example.com/mockups/back_g5000.png",
          "sleeve_left": null,
          "sleeve_right": null,
          "shoulder_front": null,
          "shoulder_back": null
        },
        "print_files": {
          "front": "https://example.com/designs/front_g5000.png",
          "back": "https://example.com/designs/back_g5000.png",
          "sleeve_left": null,
          "sleeve_right": null,
          "shoulder_front": null,
          "shoulder_back": null
        }
      },
      {
        "id": null,
        "sku": "BC3001-WHITE-L",
        "quantity": 1,
        "item_price": 9.5,
        "item_price_total": 9.5,
        "preview_files": {
          "front": "https://example.com/mockups/front_bc3001.png",
          "back": null,
          "sleeve_left": null,
          "sleeve_right": null,
          "shoulder_front": null,
          "shoulder_back": null
        },
        "print_files": {
          "front": "https://example.com/designs/front_bc3001.png",
          "back": null,
          "sleeve_left": null,
          "sleeve_right": null,
          "shoulder_front": null,
          "shoulder_back": null
        }
      }
    ]
  }
}
PUT/api/v2/orders/{order_id}API Key

Edit Order

Updates address details, shipping label, or artwork items for an order in 'Awaiting Payment' status. Orders already 'In Production' cannot be modified.

Request Headers
Field / ParameterRequirementDescription
X-API-KeyRequiredPersistent API Key generated from Dashboard β†’ API Keys (or 'Authorization: Bearer <API_KEY>')
Content-TypeRequiredJSON payload body
Request Payload
Field / ParameterTypeRequirementDescription
order_id (path)stringRequiredAlbovo order ID (e.g. ORD-20260811-A1B2C), as returned by Create Order. Your own order_ref is not accepted here.
address_toobjectOptionalUpdated delivery address object
address_to.namestringOptionalRecipient full name.
address_to.raw_addressstringOptionalFull single-line US shipping address string (e.g. '123 Main St Suite 4B, San Francisco, CA 94105'). Mutually exclusive with address1/city/region/zip.
address_to.address1stringOptionalPrimary street address.
address_to.citystringOptionalCity / District.
address_to.regionstringOptionalUS state or territory: all 62 valid USPS codes (e.g. CA, NY, PR, TX) or full state name (auto-mapped).
address_to.zipstringOptionalUS ZIP code: 5 digits ('90210') or 9 digits with hyphen ('90210-1234').
address_to.countrystringOptionalDestination country. Defaults to 'US'. Domestic US shipping only ('US', 'USA', 'United States').
address_to.verifyboolean (default true)OptionalOptional boolean (default true). Determines whether carrier address verification is performed via 2-layer engine (internal cache + EasyPost) when pushed to factory. Set false to bypass verification for unindexed addresses. Note: If false, Albovo bears no responsibility for missing, undelivered, or returned shipments.
shipmentobjectOptionalUpdated tracking_number and label_url
print_techniquestringDeprecatedThis field is no longer used.
itemsarray[object]OptionalUpdated items array replacing all existing items in the order
items[].skustringRequiredCatalog SKU formatted as SHIRTCODE-COLOR-SIZE (e.g. G5000-BLACK-M).
items[].quantityintegerRequiredQuantity of garments for this variant (minimum 1).
items[].preview_filesobjectConditionalMockup preview image URLs (front, back, sleeve_left, sleeve_right). Must bi-directionally match print files.
items[].preview_files.frontstring (url)OptionalMockup preview URL for front placement.
items[].preview_files.backstring (url)OptionalMockup preview URL for back placement.
items[].preview_files.sleeve_leftstring (url)OptionalMockup preview URL for left sleeve placement.
items[].preview_files.sleeve_rightstring (url)OptionalMockup preview URL for right sleeve placement.
items[].preview_files.shoulder_frontstring (url)OptionalMockup preview URL for front shoulder placement.
items[].preview_files.shoulder_backstring (url)OptionalMockup preview URL for back shoulder placement.
items[].print_filesobjectRequiredHigh-resolution print design URLs (front, back, sleeve_left, sleeve_right). At least one main print (front/back) required.
items[].print_files.frontstring (url)OptionalHigh-resolution print artwork URL (300 DPI PNG) for front placement.
items[].print_files.backstring (url)OptionalHigh-resolution print artwork URL (300 DPI PNG) for back placement.
items[].print_files.sleeve_leftstring (url)OptionalHigh-resolution print artwork URL (300 DPI PNG) for left sleeve placement.
items[].print_files.sleeve_rightstring (url)OptionalHigh-resolution print artwork URL (300 DPI PNG) for right sleeve placement.
items[].print_files.shoulder_frontstring (url)OptionalHigh-resolution print artwork URL (300 DPI PNG) for front shoulder placement. Only for products that list this print area.
items[].print_files.shoulder_backstring (url)OptionalHigh-resolution print artwork URL (300 DPI PNG) for back shoulder placement. Only for products that list this print area.
cURL Example
curl -X PUT "https://api.albovo.com/api/v2/orders/ORD-20260811-A1B2C" \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "address_to": {
      "name": "Jane Doe Updated",
      "address1": "456 Market Street",
      "city": "San Francisco",
      "region": "CA",
      "zip": "94103",
      "country": "US"
    },
    "shipment": {
      "tracking_number": "TRK987654321",
      "label_url": "https://example.com/labels/label_updated.pdf"
    },
    "items": [
      {
        "sku": "G5000-BLACK-L",
        "quantity": 3,
        "preview_files": {
          "front": "https://example.com/mockups/front_v2.png"
        },
        "print_files": {
          "front": "https://example.com/designs/front_v2.png"
        }
      }
    ]
  }'
Response Statuses
Order modified successfully.
{
  "success": true,
  "message": "Order updated successfully",
  "data": {
    "order_id": "ORD-20260811-A1B2C",
    "status": "Awaiting Payment",
    "updated_at": "2026-08-13T09:41:00+07:00",
    "total_price": 25
  }
}
POST/api/v2/orders/push-to-factoryAPI Key

Push Orders to Factory

Transitions orders from 'Awaiting Payment' to 'In Production'. Automatically validates wallet coin balance and deducts order costs per item. Unfunded orders are skipped and returned in failed_orders.

Request Headers
Field / ParameterRequirementDescription
X-API-KeyRequiredPersistent API Key generated from Dashboard β†’ API Keys (or 'Authorization: Bearer <API_KEY>')
Content-TypeRequiredJSON payload body
Request Payload
Field / ParameterTypeRequirementDescription
internal_idsarray[string]RequiredArray of Albovo order IDs to process (e.g. ['ORD-20260811-A1B2C']). Your own order_ref values are not accepted.
cURL Example
curl -X POST "https://api.albovo.com/api/v2/orders/push-to-factory" \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "internal_ids": [
      "ORD-20260811-A1B2C",
      "ORD-20260811-D3E4F"
    ]
  }'
Response Statuses
Batch push summary with wallet balance deduction per order. Each order is checked against available_balance = balance + credit_limit (what's left after the previous orders); insufficient_balance failures include credit_limit and available_balance. The reason text format may change: use the numeric fields.
{
  "success": true,
  "message": "Push to factory processing completed",
  "data": {
    "meta": {
      "total_processed": 2,
      "success_count": 1,
      "failed_count": 1
    },
    "success_orders": [
      {
        "internal_id": "ORD-20260811-A1B2C"
      }
    ],
    "failed_orders": [
      {
        "internal_id": "ORD-20260811-D3E4F",
        "reason": "Insufficient balance (-1995.00 coins, credit limit 2000.00, 5.00 available, 45.00 required)",
        "error_code": "insufficient_balance",
        "order_total": 45,
        "balance": -1995,
        "credit_limit": 2000,
        "available_balance": 5
      }
    ]
  }
}
GET/api/v2/wallet/balanceAPI Key

Get Wallet Balance

Retrieves the current available credit/coin balance (in USD) for the authenticated client account.

Request Headers
Field / ParameterRequirementDescription
X-API-KeyRequiredPersistent API Key generated from Dashboard β†’ API Keys (or 'Authorization: Bearer <API_KEY>')
cURL Example
curl -X GET "https://api.albovo.com/api/v2/wallet/balance" \
  -H "X-API-Key: YOUR_API_KEY"
Response Statuses
Wallet balance with credit. balance can be negative (the amount owed while using credit); available_balance = balance + credit_limit is what can be spent on orders. credit_limit is 0 when no credit is granted.
{
  "success": true,
  "message": "Wallet balance retrieved successfully",
  "data": {
    "balance": -250,
    "credit_limit": 2000,
    "available_balance": 1750
  }
}
GET/api/v2/productsAPI Key

List Products

Step 1 of reading the catalog. Returns a short list of active products (ID, code, name and category), ordered by ID. Use a product_code from it to get the product's details and SKUs.

Request Headers
Field / ParameterRequirementDescription
X-API-KeyRequiredYour API key from Dashboard β†’ API Keys (or send 'Authorization: Bearer <API_KEY>').
Query Parameters
Field / ParameterTypeRequirementDescription
pageintegerOptionalPage number (starts at 1) (default: 1)
per_pageintegerOptionalProducts per page (default: 20, max: 100) (default: 20)
cURL Example
curl -X GET "https://api.albovo.com/api/v2/products?page=1&per_page=20" \
  -H "X-API-Key: YOUR_API_KEY"
Response Statuses
Active products, one page at a time.
{
  "success": true,
  "message": "Products retrieved successfully",
  "data": {
    "items": [
      {
        "id": 1,
        "product_code": "G5000",
        "name": "Gildan 5000 Heavy Cotton T-Shirt",
        "category": "apparel"
      },
      {
        "id": 2,
        "product_code": "G18500",
        "name": "Gildan 18500 Heavy Blend Hoodie",
        "category": "apparel"
      }
    ],
    "meta_data": {
      "total": 48,
      "current_page": 1,
      "per_page": 20,
      "last_page": 3
    }
  }
}
GET/api/v2/products/{product_id_or_code}API Key

Get Product Details

Step 2. Returns one product (ID, code, name, category and description) with your tier's prices. To price an item, read the prices entry that matches it most closely: color and size, then color, then size, then the product's own entry (all three null). An entry for the item's style wins over one without a style.

Request Headers
Field / ParameterRequirementDescription
X-API-KeyRequiredYour API key from Dashboard β†’ API Keys (or send 'Authorization: Bearer <API_KEY>').
Query Parameters
Field / ParameterTypeRequirementDescription
product_id_or_codestring (path)RequiredProduct ID, product code or SKU (e.g. 1, G5000 or G5000-BLACK-L).
cURL Example
curl -X GET "https://api.albovo.com/api/v2/products/G5000" \
  -H "X-API-Key: YOUR_API_KEY"
Response Statuses
The product with its prices for your tier.
{
  "success": true,
  "message": "Product details retrieved successfully",
  "data": {
    "id": 1,
    "product_code": "G5000",
    "name": "Gildan 5000 Heavy Cotton T-Shirt",
    "category": "apparel",
    "description": "Classic heavyweight cotton tee.",
    "prices": [
      {
        "size": null,
        "color": null,
        "style": null,
        "base_cost": 6.5,
        "extra_double_sided_print": 3,
        "extra_special_print": 2,
        "extra_shoulder_print": 1.5,
        "shipping_first_item": 4.5,
        "shipping_additional_item": 2,
        "label_fee": 0.5,
        "rush_production": 2
      },
      {
        "size": "2XL",
        "color": null,
        "style": null,
        "base_cost": 8.5,
        "extra_double_sided_print": 3,
        "extra_special_print": 2,
        "extra_shoulder_print": 1.5,
        "shipping_first_item": 4.5,
        "shipping_additional_item": 2,
        "label_fee": 0.5,
        "rush_production": 2
      }
    ]
  }
}
GET/api/v2/products/{product_id_or_code}/skusAPI Key

List Product SKUs

Step 3. Returns the product's orderable SKUs, ordered by ID, with the color, size and style each one stands for. Use these SKUs as items[].sku when creating an order.

Request Headers
Field / ParameterRequirementDescription
X-API-KeyRequiredYour API key from Dashboard β†’ API Keys (or send 'Authorization: Bearer <API_KEY>').
Query Parameters
Field / ParameterTypeRequirementDescription
product_id_or_codestring (path)RequiredProduct ID, product code or SKU (e.g. 1, G5000 or G5000-BLACK-L).
pageintegerOptionalPage number (starts at 1) (default: 1)
per_pageintegerOptionalSKUs per page (default: 50, max: 100) (default: 50)
cURL Example
curl -X GET "https://api.albovo.com/api/v2/products/G5000/skus?page=1&per_page=50" \
  -H "X-API-Key: YOUR_API_KEY"
Response Statuses
The product's active SKUs. color, size or style is null when the product has no such option.
{
  "success": true,
  "message": "Product SKUs retrieved successfully",
  "data": {
    "product_code": "G5000",
    "items": [
      {
        "sku": "G5000-BLACK-S",
        "color": "Black",
        "size": "S",
        "style": null
      },
      {
        "sku": "G5000-BLACK-M",
        "color": "Black",
        "size": "M",
        "style": null
      },
      {
        "sku": "G5000-WHITE-S",
        "color": "White",
        "size": "S",
        "style": null
      }
    ],
    "meta_data": {
      "total": 120,
      "current_page": 1,
      "per_page": 50,
      "last_page": 3
    }
  }
}
Need Custom API Integration or Webhook Callbacks?

Our engineering team supports automated order webhooks and custom platform synchronization.