For the complete documentation index, see llms.txt. This page is also available as Markdown.

Products

Product catalog (public endpoints)

List all products

get
Query parameters
pageintegerOptionalDefault: 1
per_pageinteger · max: 100OptionalDefault: 20
searchstringOptional
in_stockbooleanOptional
sortstring · enumOptionalPossible values:
orderstring · enumOptionalDefault: ascPossible values:
Responses
200

List of products

application/json
successbooleanOptionalExample: true
get/products
GET /api/v2/products HTTP/1.1
Host: bulkmail.shop
Accept: */*
200

List of products

{
  "success": true,
  "data": [
    {
      "id": 1,
      "name": "Hotmail PVA",
      "sku": "HOTMAIL-PVA-001",
      "description": "text",
      "price": 0.5,
      "stock_quantity": 1500,
      "in_stock": true,
      "bulk_pricing_enabled": true,
      "bulk_tiers": [
        {
          "min_quantity": 1,
          "price": 1
        }
      ]
    }
  ],
  "meta": {
    "current_page": 1,
    "per_page": 20,
    "total": 100,
    "total_pages": 5
  }
}

Get product details

get
Path parameters
idintegerRequired
Responses
200

Product details

application/json
successbooleanOptionalExample: true
get/products/{id}
GET /api/v2/products/{id} HTTP/1.1
Host: bulkmail.shop
Accept: */*
{
  "success": true,
  "data": {
    "id": 1,
    "name": "Hotmail PVA",
    "sku": "HOTMAIL-PVA-001",
    "description": "text",
    "price": 0.5,
    "stock_quantity": 1500,
    "in_stock": true,
    "bulk_pricing_enabled": true,
    "bulk_tiers": [
      {
        "min_quantity": 1,
        "price": 1
      }
    ]
  }
}

Calculate price with bulk discount

post
Path parameters
idintegerRequired
Body
quantityinteger · min: 1Required
Responses
200

Price calculation

application/json
successbooleanOptionalExample: true
post/products/{id}/calculate-price
POST /api/v2/products/{id}/calculate-price HTTP/1.1
Host: bulkmail.shop
Content-Type: application/json
Accept: */*
Content-Length: 14

{
  "quantity": 1
}
200

Price calculation

{
  "success": true,
  "data": {
    "quantity": 1,
    "unit_price": 1,
    "total_price": 1,
    "discount_applied": true,
    "savings": 1
  }
}

Last updated