{
  "info": {
    "name": "BulkMail API v2",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
    "description": "REST API for buying email accounts and other digital goods on BulkMail.\n\n**Base URL** `https://bulkmail.shop/api/v2`\n\n**Authentication.** Create a key on your dashboard (API Keys page) and send it on every request as the `X-API-Key` header. The `api_key` query parameter also works but puts the key in logs, so prefer the header. Public endpoints work without a key; with one they show your own prices.\n\n**Responses.** JSON in an envelope: `{\"success\": true, \"data\": …}`, or `{\"success\": false, \"error\": \"…\"}`. Validation errors (422) add `errors`, a map of field to messages. Lists are paginated with `page` and `per_page` (max 100) and return `meta`.\n\n**Unknown paths** answer with a JSON 404: `{\"success\": false, \"error\": \"No endpoint for GET /api/v2/nope\"}`.\n\n**Formats.** Dates are ISO 8601 in UTC (`2026-10-11T14:32:46.000000Z`). Money is USD as a number with up to 8 decimals. Ids are integers.\n\nExamples are real responses captured on 2026-10-11, with the account holder's details and delivered account lines replaced by samples. Long lists are cut to their first 3 items.\n\nSet the collection variable `apiKey` to your key before sending requests. Requests that spend money (Place an order, Start a deposit) are real: they charge your balance.\n\nDocs: https://bulkmail.shop/v2-docs · [OpenAPI 3.1 (YAML)](https://bulkmail.shop/v2-docs/openapi.yaml) · [Postman collection](https://bulkmail.shop/v2-docs/postman.json) · [Markdown](https://bulkmail.shop/v2-docs/api-v2.md)"
  },
  "auth": {
    "type": "apikey",
    "apikey": [
      {
        "key": "key",
        "value": "X-API-Key",
        "type": "string"
      },
      {
        "key": "value",
        "value": "{{apiKey}}",
        "type": "string"
      },
      {
        "key": "in",
        "value": "header",
        "type": "string"
      }
    ]
  },
  "event": [
    {
      "listen": "test",
      "script": {
        "type": "text/javascript",
        "exec": [
          "const json = pm.response.headers.get('Content-Type') || '';",
          "if (json.includes('application/json')) {",
          "  pm.test('JSON envelope has success flag', () => pm.expect(pm.response.json()).to.have.property('success'));",
          "  pm.test('success matches HTTP status', () => pm.expect(pm.response.json().success).to.eql(pm.response.code < 400));",
          "}"
        ]
      }
    }
  ],
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://bulkmail.shop/api/v2",
      "type": "string"
    },
    {
      "key": "apiKey",
      "value": "",
      "type": "string"
    }
  ],
  "item": [
    {
      "name": "Account",
      "description": "Your profile, password and dashboard.",
      "item": [
        {
          "name": "Get your profile",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/user/profile",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "user",
                "profile"
              ]
            },
            "description": "Your account details and current balance (USD).\n\nAuth: API key."
          },
          "response": [
            {
              "name": "200 Profile",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/user/profile",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "user",
                    "profile"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": true,\n  \"data\": {\n    \"id\": 1001,\n    \"name\": \"Demo User\",\n    \"email\": \"demo@example.com\",\n    \"balance\": 339.60453503,\n    \"status\": \"active\",\n    \"email_verified_at\": \"2026-02-21T05:56:10.000000Z\",\n    \"created_at\": \"2026-02-21T05:56:10.000000Z\"\n  }\n}"
            },
            {
              "name": "401 No or invalid key",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/user/profile",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "user",
                    "profile"
                  ]
                }
              },
              "status": "Missing or invalid API key",
              "code": 401,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": false,\n  \"error\": \"Invalid or missing authentication\"\n}"
            }
          ]
        },
        {
          "name": "Update your profile",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/user/profile",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "user",
                "profile"
              ]
            },
            "description": "Change your name and/or email. Fields you leave out keep their current value.\n\nAuth: API key.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Demo User\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 Updated (illustrative)",
              "originalRequest": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/user/profile",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "user",
                    "profile"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Demo User\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": true,\n  \"message\": \"Profile updated successfully\",\n  \"data\": {\n    \"id\": 1001,\n    \"name\": \"Demo User\",\n    \"email\": \"demo@example.com\",\n    \"balance\": 125.5,\n    \"status\": \"active\",\n    \"email_verified_at\": \"2026-02-21T05:56:10.000000Z\",\n    \"created_at\": \"2026-02-21T05:56:10.000000Z\"\n  }\n}"
            },
            {
              "name": "422 Invalid email",
              "originalRequest": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/user/profile",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "user",
                    "profile"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"email\": \"not-an-email\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Validation failed or cannot be fulfilled",
              "code": 422,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": false,\n  \"error\": \"Validation failed\",\n  \"errors\": {\n    \"email\": [\n      \"Valid email is required.\"\n    ]\n  }\n}"
            }
          ]
        },
        {
          "name": "Change your password",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/user/password",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "user",
                "password"
              ]
            },
            "description": "Change your password\n\nAuth: API key.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"current_password\": \"old-password\",\n  \"new_password\": \"new-password-123\",\n  \"confirm_password\": \"new-password-123\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 Changed (illustrative)",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/user/password",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "user",
                    "password"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"current_password\": \"old-password\",\n  \"new_password\": \"new-password-123\",\n  \"confirm_password\": \"new-password-123\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": true,\n  \"message\": \"Password changed successfully\"\n}"
            },
            {
              "name": "422 Wrong current password",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/user/password",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "user",
                    "password"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"current_password\": \"wrong\",\n  \"new_password\": \"short\",\n  \"confirm_password\": \"x\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Validation failed or cannot be fulfilled",
              "code": 422,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": false,\n  \"error\": \"Validation failed\",\n  \"errors\": {\n    \"current_password\": [\n      \"Current password is incorrect.\"\n    ],\n    \"new_password\": [\n      \"New password must be at least 8 characters.\"\n    ],\n    \"confirm_password\": [\n      \"Passwords do not match.\"\n    ]\n  }\n}"
            }
          ]
        },
        {
          "name": "Get your dashboard",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/user/dashboard",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "user",
                "dashboard"
              ]
            },
            "description": "Account, totals, and your 5 most recent orders and transactions.\n\nAuth: API key."
          },
          "response": [
            {
              "name": "200 Dashboard",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/user/dashboard",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "user",
                    "dashboard"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": true,\n  \"data\": {\n    \"user\": {\n      \"id\": 1001,\n      \"name\": \"Demo User\",\n      \"email\": \"demo@example.com\",\n      \"balance\": 339.60453503,\n      \"status\": \"active\",\n      \"created_at\": \"2026-02-21T05:56:10.000000Z\"\n    },\n    \"stats\": {\n      \"total_orders\": 3656,\n      \"total_spent\": 560.39546497,\n      \"purchased_items\": 14574\n    },\n    \"recent_orders\": [\n      {\n        \"id\": 1232875,\n        \"product_id\": 13,\n        \"quantity\": 2,\n        \"total_amount\": 0.02394032,\n        \"status\": \"completed\",\n        \"created_at\": \"2026-10-11T16:58:00.000000Z\"\n      },\n      {\n        \"id\": 1232770,\n        \"product_id\": 13,\n        \"quantity\": 1,\n        \"total_amount\": 0.01197016,\n        \"status\": \"completed\",\n        \"created_at\": \"2026-10-11T16:30:01.000000Z\"\n      },\n      {\n        \"id\": 1232374,\n        \"product_id\": 970,\n        \"quantity\": 1,\n        \"total_amount\": 0.00455153,\n        \"status\": \"completed\",\n        \"created_at\": \"2026-10-11T14:32:46.000000Z\"\n      }\n    ],\n    \"recent_transactions\": [\n      {\n        \"id\": 1247991,\n        \"type\": \"purchase\",\n        \"amount\": 0.02394032,\n        \"direction\": \"out\",\n        \"signed_amount\": -0.02394032,\n        \"balance_after\": 339.60453503,\n        \"created_at\": \"2026-10-11T16:58:00.000000Z\"\n      },\n      {\n        \"id\": 1247879,\n        \"type\": \"purchase\",\n        \"amount\": 0.01197016,\n        \"direction\": \"out\",\n        \"signed_amount\": -0.01197016,\n        \"balance_after\": 339.62847535,\n        \"created_at\": \"2026-10-11T16:30:01.000000Z\"\n      },\n      {\n        \"id\": 1247463,\n        \"type\": \"purchase\",\n        \"amount\": 0.00455153,\n        \"direction\": \"out\",\n        \"signed_amount\": -0.00455153,\n        \"balance_after\": 339.64044551,\n        \"created_at\": \"2026-10-11T14:32:46.000000Z\"\n      }\n    ]\n  }\n}"
            }
          ]
        },
        {
          "name": "Delete your account",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/user/account",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "user",
                "account"
              ]
            },
            "description": "Closes the account. Requires your password. This cannot be undone through the API.\n\nAuth: API key.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"password\": \"your-password\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 Deleted (illustrative)",
              "originalRequest": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/user/account",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "user",
                    "account"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"password\": \"your-password\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": true,\n  \"message\": \"Account deleted successfully\"\n}"
            },
            {
              "name": "422 Wrong password",
              "originalRequest": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/user/account",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "user",
                    "account"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"password\": \"definitely-wrong\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Validation failed or cannot be fulfilled",
              "code": 422,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": false,\n  \"error\": \"Validation failed\",\n  \"errors\": {\n    \"password\": [\n      \"Incorrect password.\"\n    ]\n  }\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "Products",
      "description": "The catalogue and prices. Public; send your key to see your own prices.",
      "item": [
        {
          "name": "List products",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/products?per_page=2",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "products"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "1",
                  "description": "Page number, from 1.",
                  "disabled": true
                },
                {
                  "key": "per_page",
                  "value": "2",
                  "description": "Items per page, 1-100 (default 20)."
                },
                {
                  "key": "search",
                  "value": "gmail",
                  "description": "Text to find in name, SKU or description. Alias: q.",
                  "disabled": true
                },
                {
                  "key": "tab_id",
                  "value": "",
                  "description": "Only products in this tab (see /tabs).",
                  "disabled": true
                },
                {
                  "key": "in_stock",
                  "value": "",
                  "description": "true = in stock only, false = out of stock only.",
                  "disabled": true
                },
                {
                  "key": "sort",
                  "value": "",
                  "description": "Sort field (default name).",
                  "disabled": true
                },
                {
                  "key": "order",
                  "value": "",
                  "description": "Sort direction (default asc).",
                  "disabled": true
                }
              ]
            },
            "description": "The catalogue, paginated. Send your API key to get your own prices: pricing flags appear only when they apply.\n\nAuth: Public (API key optional). The collection key is still sent so you see your own prices."
          },
          "response": [
            {
              "name": "200 With your key",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/products?per_page=2",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "products"
                  ],
                  "query": [
                    {
                      "key": "per_page",
                      "value": "2"
                    }
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": true,\n  \"data\": [\n    {\n      \"id\": 911,\n      \"name\": \"✔️ live 2 minute xxx@RanDom\",\n      \"sku\": \"LIVE2MINUTEX\",\n      \"tab_id\": 26,\n      \"price\": 0.00253132,\n      \"base_price\": 0.00260961,\n      \"user_discount_applied\": true,\n      \"user_discount_percent\": 3,\n      \"stock_quantity\": 0,\n      \"in_stock\": false,\n      \"bulk_pricing_enabled\": false,\n      \"image_url\": null,\n      \"image_type\": null,\n      \"created_at\": \"2026-09-19T15:06:13.000000Z\",\n      \"is_pack\": false,\n      \"allowed_quantities\": null,\n      \"pack_options\": null,\n      \"description\": \"✔️ live 2 minute xxx@RanDom\",\n      \"description_format\": \"text\",\n      \"description_text\": \"✔️ live 2 minute xxx@RanDom\",\n      \"description_html\": null\n    },\n    {\n      \"id\": 906,\n      \"name\": \"10 Minutes – 99 per [ID 180] ----No\",\n      \"sku\": \"10PHT99PERID\",\n      \"tab_id\": 26,\n      \"price\": 0.00353677,\n      \"base_price\": 0.00364615,\n      \"user_discount_applied\": true,\n      \"user_discount_percent\": 3,\n      \"stock_quantity\": 0,\n      \"in_stock\": false,\n      \"bulk_pricing_enabled\": false,\n      \"image_url\": null,\n      \"image_type\": null,\n      \"created_at\": \"2026-09-13T18:07:05.000000Z\",\n      \"is_pack\": false,\n      \"allowed_quantities\": null,\n      \"pack_options\": null,\n      \"description\": \"10 Minutes – 99 /Time [ID 180] ----No\",\n      \"description_format\": \"text\",\n      \"description_text\": \"10 Minutes – 99 /Time [ID 180] ----No\",\n      \"description_html\": null\n    }\n  ],\n  \"meta\": {\n    \"current_page\": 1,\n    \"per_page\": 2,\n    \"total\": 427,\n    \"total_pages\": 214\n  }\n}"
            },
            {
              "name": "200 Search",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/products?search=gmail&per_page=2",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "products"
                  ],
                  "query": [
                    {
                      "key": "search",
                      "value": "gmail"
                    },
                    {
                      "key": "per_page",
                      "value": "2"
                    }
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": true,\n  \"data\": [\n    {\n      \"id\": 814,\n      \"name\": \"Airbnb Gmail\",\n      \"sku\": \"AIRBNBGMA-3013\",\n      \"tab_id\": 8,\n      \"price\": 0.035696,\n      \"base_price\": 0.0368,\n      \"user_discount_applied\": true,\n      \"user_discount_percent\": 3,\n      \"stock_quantity\": 5041,\n      \"in_stock\": true,\n      \"bulk_pricing_enabled\": false,\n      \"image_url\": null,\n      \"image_type\": null,\n      \"created_at\": \"2026-08-15T06:58:01.000000Z\",\n      \"is_pack\": false,\n      \"allowed_quantities\": null,\n      \"pack_options\": null,\n      \"description\": \"Gmail API - Receive any Airbnb email message\",\n      \"description_format\": \"text\",\n      \"description_text\": \"Gmail API - Receive any Airbnb email message\",\n      \"description_html\": null\n    },\n    {\n      \"id\": 810,\n      \"name\": \"Alibaba Gmail\",\n      \"sku\": \"ALIBABAGM-39\",\n      \"tab_id\": 8,\n      \"price\": 0.0591215,\n      \"base_price\": 0.06095,\n      \"user_discount_applied\": true,\n      \"user_discount_percent\": 3,\n      \"stock_quantity\": 5002,\n      \"in_stock\": true,\n      \"bulk_pricing_enabled\": false,\n      \"image_url\": null,\n      \"image_type\": null,\n      \"created_at\": \"2026-08-15T06:58:01.000000Z\",\n      \"is_pack\": false,\n      \"allowed_quantities\": null,\n      \"pack_options\": null,\n      \"description\": \"Gmail API - Receive any Alibaba email message\",\n      \"description_format\": \"text\",\n      \"description_text\": \"Gmail API - Receive any Alibaba email message\",\n      \"description_html\": null\n    }\n  ],\n  \"meta\": {\n    \"current_page\": 1,\n    \"per_page\": 2,\n    \"total\": 211,\n    \"total_pages\": 106\n  }\n}"
            },
            {
              "name": "200 Without a key",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/products?per_page=2",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "products"
                  ],
                  "query": [
                    {
                      "key": "per_page",
                      "value": "2"
                    }
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": true,\n  \"data\": [\n    {\n      \"id\": 911,\n      \"name\": \"✔️ live 2 minute xxx@RanDom\",\n      \"sku\": \"LIVE2MINUTEX\",\n      \"tab_id\": 26,\n      \"price\": 0.00260961,\n      \"base_price\": 0.00260961,\n      \"stock_quantity\": 0,\n      \"in_stock\": false,\n      \"bulk_pricing_enabled\": false,\n      \"image_url\": null,\n      \"image_type\": null,\n      \"created_at\": \"2026-09-19T15:06:13.000000Z\",\n      \"is_pack\": false,\n      \"allowed_quantities\": null,\n      \"pack_options\": null,\n      \"description\": \"✔️ live 2 minute xxx@RanDom\",\n      \"description_format\": \"text\",\n      \"description_text\": \"✔️ live 2 minute xxx@RanDom\",\n      \"description_html\": null\n    },\n    {\n      \"id\": 906,\n      \"name\": \"10 Minutes – 99 per [ID 180] ----No\",\n      \"sku\": \"10PHT99PERID\",\n      \"tab_id\": 26,\n      \"price\": 0.00364615,\n      \"base_price\": 0.00364615,\n      \"stock_quantity\": 0,\n      \"in_stock\": false,\n      \"bulk_pricing_enabled\": false,\n      \"image_url\": null,\n      \"image_type\": null,\n      \"created_at\": \"2026-09-13T18:07:05.000000Z\",\n      \"is_pack\": false,\n      \"allowed_quantities\": null,\n      \"pack_options\": null,\n      \"description\": \"10 Minutes – 99 /Time [ID 180] ----No\",\n      \"description_format\": \"text\",\n      \"description_text\": \"10 Minutes – 99 /Time [ID 180] ----No\",\n      \"description_html\": null\n    }\n  ],\n  \"meta\": {\n    \"current_page\": 1,\n    \"per_page\": 2,\n    \"total\": 427,\n    \"total_pages\": 214\n  }\n}"
            }
          ]
        },
        {
          "name": "Get a product",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/products/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "products",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "986",
                  "description": "Product id."
                }
              ]
            },
            "description": "One product with its features, and bulk_pricing_tiers when bulk pricing applies to you.\n\nAuth: Public (API key optional). The collection key is still sent so you see your own prices."
          },
          "response": [
            {
              "name": "200 Product",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/products/986",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "products",
                    "986"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": true,\n  \"data\": {\n    \"id\": 986,\n    \"name\": \"1h - 12h edu.pl\",\n    \"sku\": \"1H12HEDUPL\",\n    \"tab_id\": 42,\n    \"price\": 0.02571542,\n    \"base_price\": 0.02651074,\n    \"user_discount_applied\": true,\n    \"user_discount_percent\": 3,\n    \"stock_quantity\": 1022,\n    \"in_stock\": true,\n    \"bulk_pricing_enabled\": false,\n    \"image_url\": null,\n    \"image_type\": null,\n    \"created_at\": \"2026-10-04T18:20:15.000000Z\",\n    \"is_pack\": false,\n    \"allowed_quantities\": null,\n    \"pack_options\": null,\n    \"description\": \"1h - 12h edu.pl\",\n    \"description_format\": \"text\",\n    \"description_text\": \"1h - 12h edu.pl\",\n    \"description_html\": null,\n    \"features\": []\n  }\n}"
            },
            {
              "name": "200 Pack product with HTML description",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/products/1003",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "products",
                    "1003"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": true,\n  \"data\": {\n    \"id\": 1003,\n    \"name\": \"Custom Domain Gmail | 24H | Pesviv.com\",\n    \"sku\": \"CUSTOMDOMAIN\",\n    \"tab_id\": 26,\n    \"price\": 0.01455,\n    \"base_price\": 0.015,\n    \"user_discount_applied\": true,\n    \"user_discount_percent\": 3,\n    \"stock_quantity\": 3594,\n    \"in_stock\": true,\n    \"bulk_pricing_enabled\": false,\n    \"image_url\": null,\n    \"image_type\": null,\n    \"created_at\": \"2026-10-11T10:31:09.000000Z\",\n    \"is_pack\": true,\n    \"allowed_quantities\": [\n      12,\n      25,\n      35,\n      45,\n      65,\n      85,\n      95,\n      135,\n      405,\n      540,\n      675,\n      1350\n    ],\n    \"pack_options\": [\n      {\n        \"quantity\": 12,\n        \"unit_price\": 0.01455,\n        \"total_price\": 0.1746,\n        \"available\": true\n      },\n      {\n        \"quantity\": 25,\n        \"unit_price\": 0.01455,\n        \"total_price\": 0.36375,\n        \"available\": true\n      },\n      {\n        \"quantity\": 35,\n        \"unit_price\": 0.01455,\n        \"total_price\": 0.50925,\n        \"available\": true\n      }\n    ],\n    \"description\": \"<p>Premium custom-domain Gmail accounts with <strong>full Gmail / Google Workspace inbox access</strong>, suitable for verification, platform sign-ups, testing, and other operational use.</p><ul><li><strong>Type:</strong> Custom Gmail Domain Account</li><li><strong>Domain:</strong> Random Custom Domain</li><li><strong>Access:</strong> Full Gmail Inbox Access Not Guaranteed.</li><li><strong>Delivery:</strong> Instant Automated Delivery</li><li><strong>Duration:</strong> As mentioned in the product title</li></ul><h3><strong><em>Important Notice</em></strong></h3><ul><li><strong><em>Domain names are randomly assigned and may vary between orders. We strongly recommend purchasing a small quantity first and testing compatibility with your software, proxy, or intended platform before placing a bulk order.</em></strong></li><li><strong><em>These are temporary accounts. Do not store critical or sensitive information. Use responsibly and in accordance with the target platform's policies.</em></strong></li></ul>\",\n    \"description_format\": \"html\",\n    \"description_text\": \"Premium custom-domain Gmail accounts with full Gmail / Google Workspace inbox access, suitable for verification, platform sign-ups, testing, and other operational use. Type: Custom Gmail Domain Account Domain: Random Custom Domain Access: Full Gmail Inbox Access Not Guaranteed. Delivery: Instant Automated Delivery Duration: As mentioned in the product title Important Notice Domain names are randomly assigned and may vary between orders. We strongly recommend purchasing a small quantity first and testing compatibility with your software, proxy, or intended platform before placing a bulk order. These are temporary accounts. Do not store critical or sensitive information. Use responsibly and in accordance with the target platform's policies.\",\n    \"description_html\": \"<p>Premium custom-domain Gmail accounts with <strong>full Gmail / Google Workspace inbox access</strong>, suitable for verification, platform sign-ups, testing, and other operational use.</p><ul><li><strong>Type:</strong> Custom Gmail Domain Account</li><li><strong>Domain:</strong> Random Custom Domain</li><li><strong>Access:</strong> Full Gmail Inbox Access Not Guaranteed.</li><li><strong>Delivery:</strong> Instant Automated Delivery</li><li><strong>Duration:</strong> As mentioned in the product title</li></ul><h3><strong><em>Important Notice</em></strong></h3><ul><li><strong><em>Domain names are randomly assigned and may vary between orders. We strongly recommend purchasing a small quantity first and testing compatibility with your software, proxy, or intended platform before placing a bulk order.</em></strong></li><li><strong><em>These are temporary accounts. Do not store critical or sensitive information. Use responsibly and in accordance with the target platform&#039;s policies.</em></strong></li></ul>\",\n    \"features\": []\n  }\n}"
            },
            {
              "name": "404 Not found",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/products/99999999",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "products",
                    "99999999"
                  ]
                }
              },
              "status": "Not found",
              "code": 404,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": false,\n  \"error\": \"Product not found\"\n}"
            }
          ]
        },
        {
          "name": "Calculate a price",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/products/:id/calculate-price",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "products",
                ":id",
                "calculate-price"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "986",
                  "description": "Product id."
                }
              ]
            },
            "description": "What a quantity would cost you. Pack products accept only their allowed_quantities.\n\nAuth: Public (API key optional). The collection key is still sent so you see your own prices.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"quantity\": 10\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 With your key",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/products/986/calculate-price",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "products",
                    "986",
                    "calculate-price"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"quantity\": 10\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": true,\n  \"data\": {\n    \"product_id\": 986,\n    \"quantity\": 10,\n    \"base_price\": 0.02651074,\n    \"applied_price\": 0.02571542,\n    \"total_amount\": 0.25715,\n    \"discount_percentage\": 3,\n    \"user_discount_applied\": true,\n    \"user_discount_percent\": 3,\n    \"price_before_user_discount\": 0.02651\n  }\n}"
            },
            {
              "name": "200 Without a key",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/products/986/calculate-price",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "products",
                    "986",
                    "calculate-price"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"quantity\": 10\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": true,\n  \"data\": {\n    \"product_id\": 986,\n    \"quantity\": 10,\n    \"base_price\": 0.02651074,\n    \"applied_price\": 0.02651074,\n    \"total_amount\": 0.26511\n  }\n}"
            },
            {
              "name": "400 Invalid pack size",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/products/1003/calculate-price",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "products",
                    "1003",
                    "calculate-price"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"quantity\": 7\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Bad request",
              "code": 400,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": false,\n  \"error\": \"This product is sold in packs only. Please choose one of these quantities: 12, 25, 35, 45, 65, 85, 95, 135, 405, 540, 675, 1350.\",\n  \"errors\": {\n    \"code\": \"INVALID_PACK_SIZE\",\n    \"allowed_quantities\": [\n      12,\n      25,\n      35,\n      45,\n      65,\n      85,\n      95,\n      135,\n      405,\n      540,\n      675,\n      1350\n    ]\n  }\n}"
            },
            {
              "name": "400 Quantity 0",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/products/986/calculate-price",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "products",
                    "986",
                    "calculate-price"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"quantity\": 0\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Bad request",
              "code": 400,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": false,\n  \"error\": \"Quantity must be at least 1\"\n}"
            }
          ]
        },
        {
          "name": "List tabs (categories)",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/tabs",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "tabs"
              ]
            },
            "description": "Storefront tabs in display order. A product's tab_id points here.\n\nAuth: Public (API key optional). The collection key is still sent so you see your own prices."
          },
          "response": [
            {
              "name": "200 Tabs",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/tabs",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "tabs"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": true,\n  \"data\": [\n    {\n      \"id\": 7,\n      \"name\": \"All\",\n      \"slug\": \"all\",\n      \"title\": \"Popular Shop\",\n      \"description\": \"\",\n      \"logo_url\": null,\n      \"sort_order\": -2,\n      \"product_count\": 0\n    },\n    {\n      \"id\": 6,\n      \"name\": \"Hotmail Outlook \",\n      \"slug\": \"hotmail-outlook\",\n      \"title\": \"Hotmail Outlook \",\n      \"description\": \"\",\n      \"logo_url\": \"https://bulkmail.shop/uploads/icons/icon_187.webp\",\n      \"sort_order\": -1,\n      \"product_count\": 34\n    },\n    {\n      \"id\": 4,\n      \"name\": \"Outlook Domain Country \",\n      \"slug\": \"outlook-domain-country\",\n      \"title\": \"Outlook Domain Country \",\n      \"description\": \"\",\n      \"logo_url\": \"https://bulkmail.shop/uploads/icons/icon_136.webp\",\n      \"sort_order\": 0,\n      \"product_count\": 30\n    }\n  ]\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "Stock",
      "description": "Live stock figures. Public.",
      "item": [
        {
          "name": "Stock of all products",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/stock",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "stock"
              ]
            },
            "description": "Every product on sale with its stock (not paginated). last_updated is when that figure was refreshed.\n\nAuth: Public (API key optional). The collection key is still sent so you see your own prices."
          },
          "response": [
            {
              "name": "200 All products",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/stock",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "stock"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": true,\n  \"data\": {\n    \"products\": [\n      {\n        \"id\": 911,\n        \"name\": \"✔️ live 2 minute xxx@RanDom\",\n        \"sku\": \"LIVE2MINUTEX\",\n        \"stock\": 0,\n        \"in_stock\": false,\n        \"is_pack\": false,\n        \"allowed_quantities\": null,\n        \"last_updated\": \"2026-10-11T17:33:03.000000Z\"\n      },\n      {\n        \"id\": 906,\n        \"name\": \"10 Minutes – 99 per [ID 180] ----No\",\n        \"sku\": \"10PHT99PERID\",\n        \"stock\": 0,\n        \"in_stock\": false,\n        \"is_pack\": false,\n        \"allowed_quantities\": null,\n        \"last_updated\": \"2026-10-11T17:33:03.000000Z\"\n      },\n      {\n        \"id\": 986,\n        \"name\": \"1h - 12h edu.pl\",\n        \"sku\": \"1H12HEDUPL\",\n        \"stock\": 1022,\n        \"in_stock\": true,\n        \"is_pack\": false,\n        \"allowed_quantities\": null,\n        \"last_updated\": \"2026-10-11T17:31:29.000000Z\"\n      }\n    ],\n    \"total_products\": 427,\n    \"timestamp\": \"2026-10-11T17:33:03.000000Z\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Stock of one product",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/stock/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "stock",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "986",
                  "description": "Product id."
                }
              ]
            },
            "description": "Stock of one product\n\nAuth: Public (API key optional). The collection key is still sent so you see your own prices."
          },
          "response": [
            {
              "name": "200 Product",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/stock/986",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "stock",
                    "986"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": true,\n  \"data\": {\n    \"id\": 986,\n    \"name\": \"1h - 12h edu.pl\",\n    \"sku\": \"1H12HEDUPL\",\n    \"stock\": 1022,\n    \"in_stock\": true,\n    \"is_pack\": false,\n    \"allowed_quantities\": null,\n    \"last_updated\": \"2026-10-11T17:31:29.000000Z\"\n  }\n}"
            },
            {
              "name": "404 Not found",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/stock/99999999",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "stock",
                    "99999999"
                  ]
                }
              },
              "status": "Not found",
              "code": 404,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": false,\n  \"error\": \"Product not found\"\n}"
            }
          ]
        },
        {
          "name": "Stock of several products",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/stock/check?ids=986,1003,99999999",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "stock",
                "check"
              ],
              "query": [
                {
                  "key": "ids",
                  "value": "986,1003,99999999",
                  "description": "Comma-separated product ids, up to 50."
                }
              ]
            },
            "description": "Stock of several products\n\nAuth: Public (API key optional). The collection key is still sent so you see your own prices."
          },
          "response": [
            {
              "name": "200 Three ids, one unknown",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/stock/check?ids=986,1003,99999999",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "stock",
                    "check"
                  ],
                  "query": [
                    {
                      "key": "ids",
                      "value": "986,1003,99999999"
                    }
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": true,\n  \"data\": {\n    \"products\": [\n      {\n        \"id\": 986,\n        \"name\": \"1h - 12h edu.pl\",\n        \"stock\": 1022,\n        \"in_stock\": true,\n        \"is_pack\": false,\n        \"allowed_quantities\": null\n      },\n      {\n        \"id\": 1003,\n        \"name\": \"Custom Domain Gmail | 24H | Pesviv.com\",\n        \"stock\": 3594,\n        \"in_stock\": true,\n        \"is_pack\": true,\n        \"allowed_quantities\": [\n          12,\n          25,\n          35,\n          45,\n          65,\n          85,\n          95,\n          135,\n          405,\n          540,\n          675,\n          1350\n        ]\n      },\n      {\n        \"id\": 99999999,\n        \"error\": \"Product not found\",\n        \"stock\": 0,\n        \"in_stock\": false\n      }\n    ],\n    \"timestamp\": \"2026-10-11T17:33:03.000000Z\"\n  }\n}"
            },
            {
              "name": "400 Missing ids",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/stock/check",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "stock",
                    "check"
                  ]
                }
              },
              "status": "Bad request",
              "code": 400,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": false,\n  \"error\": \"Product IDs required\"\n}"
            }
          ]
        },
        {
          "name": "Stock per category",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/stock/categories",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "stock",
                "categories"
              ]
            },
            "description": "Stock totals per storefront tab, in /tabs order. Tabs with nothing on sale are left out.\n\nAuth: Public (API key optional). The collection key is still sent so you see your own prices."
          },
          "response": [
            {
              "name": "200 Categories",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/stock/categories",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "stock",
                    "categories"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": true,\n  \"data\": {\n    \"categories\": [\n      {\n        \"tab_id\": 6,\n        \"category\": \"Hotmail Outlook \",\n        \"slug\": \"hotmail-outlook\",\n        \"products\": 34,\n        \"total_stock\": 926861,\n        \"in_stock_products\": 18\n      },\n      {\n        \"tab_id\": 4,\n        \"category\": \"Outlook Domain Country \",\n        \"slug\": \"outlook-domain-country\",\n        \"products\": 30,\n        \"total_stock\": 412677,\n        \"in_stock_products\": 26\n      },\n      {\n        \"tab_id\": 9,\n        \"category\": \"Short Live Mail\",\n        \"slug\": \"short-live-mail\",\n        \"products\": 3,\n        \"total_stock\": 0,\n        \"in_stock_products\": 0\n      }\n    ],\n    \"timestamp\": \"2026-10-11T17:33:04.000000Z\"\n  }\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "Orders",
      "description": "Buy products and read your orders.",
      "item": [
        {
          "name": "List your orders",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/orders?per_page=2",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "orders"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "1",
                  "description": "Page number, from 1.",
                  "disabled": true
                },
                {
                  "key": "per_page",
                  "value": "2",
                  "description": "Items per page, 1-100 (default 20)."
                },
                {
                  "key": "status",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "date_from",
                  "value": "",
                  "description": "YYYY-MM-DD",
                  "disabled": true
                },
                {
                  "key": "date_to",
                  "value": "",
                  "description": "YYYY-MM-DD (inclusive)",
                  "disabled": true
                }
              ]
            },
            "description": "List your orders\n\nAuth: API key."
          },
          "response": [
            {
              "name": "200 Latest orders",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/orders?per_page=2",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "orders"
                  ],
                  "query": [
                    {
                      "key": "per_page",
                      "value": "2"
                    }
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": true,\n  \"data\": [\n    {\n      \"id\": 1232875,\n      \"product_id\": 13,\n      \"product_name\": \"Gmail Edu domain rental for 24 hours (.us domain) with Gmail\",\n      \"quantity\": 2,\n      \"unit_price\": 0.01197016,\n      \"total_amount\": 0.02394032,\n      \"status\": \"completed\",\n      \"created_at\": \"2026-10-11T16:58:00.000000Z\"\n    },\n    {\n      \"id\": 1232770,\n      \"product_id\": 13,\n      \"product_name\": \"Gmail Edu domain rental for 24 hours (.us domain) with Gmail\",\n      \"quantity\": 1,\n      \"unit_price\": 0.01197016,\n      \"total_amount\": 0.01197016,\n      \"status\": \"completed\",\n      \"created_at\": \"2026-10-11T16:30:01.000000Z\"\n    }\n  ],\n  \"meta\": {\n    \"current_page\": 1,\n    \"per_page\": 2,\n    \"total\": 3656,\n    \"total_pages\": 1828\n  }\n}"
            }
          ]
        },
        {
          "name": "Get an order",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/orders/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "orders",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "1232875",
                  "description": "Order id."
                }
              ]
            },
            "description": "The price you paid (unit_price, subtotal, discount_amount, total_amount) and the delivered lines. product.price is today's price.\n\nAuth: API key."
          },
          "response": [
            {
              "name": "200 Order",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/orders/1232875",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "orders",
                    "1232875"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": true,\n  \"data\": {\n    \"id\": 1232875,\n    \"product_id\": 13,\n    \"product_name\": \"Gmail Edu domain rental for 24 hours (.us domain) with Gmail\",\n    \"quantity\": 2,\n    \"unit_price\": 0.01197016,\n    \"subtotal\": 0.02394032,\n    \"discount_amount\": 0,\n    \"reward_code\": null,\n    \"total_amount\": 0.02394032,\n    \"status\": \"completed\",\n    \"created_at\": \"2026-10-11T16:58:00.000000Z\",\n    \"updated_at\": \"2026-10-11T16:58:00.000000Z\",\n    \"product\": {\n      \"id\": 13,\n      \"name\": \"Gmail Edu domain rental for 24 hours (.us domain) with Gmail\",\n      \"sku\": \"EDUMAIL-0029\",\n      \"price\": 0.01234037\n    },\n    \"items\": [\n      {\n        \"id\": 9753601,\n        \"data\": \"account1@example.com|Sample2\",\n        \"sold_at\": \"2026-10-11T16:58:00.000000Z\"\n      },\n      {\n        \"id\": 9753602,\n        \"data\": \"account1@example.com|Sample2\",\n        \"sold_at\": \"2026-10-11T16:58:00.000000Z\"\n      }\n    ]\n  }\n}"
            },
            {
              "name": "404 Not found",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/orders/99999999",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "orders",
                    "99999999"
                  ]
                }
              },
              "status": "Not found",
              "code": 404,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": false,\n  \"error\": \"Order not found\"\n}"
            }
          ]
        },
        {
          "name": "Place an order",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/orders",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "orders"
              ]
            },
            "description": "Buys a product: your balance is charged and the account lines come back in items. Manual products answer with status pending (or completed when ready stock covered it) and are delivered later.\n\nAuth: API key.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"product_id\": 986,\n  \"quantity\": 2\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Order placed (illustrative)",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/orders",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "orders"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"product_id\": 986,\n  \"quantity\": 2\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": true,\n  \"data\": {\n    \"order_id\": 1232999,\n    \"product_name\": \"1h - 12h edu.pl\",\n    \"quantity\": 2,\n    \"unit_price\": 0.02571542,\n    \"total_amount\": 0.05143084,\n    \"balance_remaining\": 125.44856916,\n    \"items\": [\n      \"account1@example.com:Sample2\",\n      \"account1@example.com:Sample2\"\n    ]\n  }\n}"
            },
            {
              "name": "400 Missing product_id",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/orders",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "orders"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Bad request",
              "code": 400,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": false,\n  \"error\": \"product_id is required\"\n}"
            },
            {
              "name": "400 Invalid pack size",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/orders",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "orders"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"product_id\": 1003,\n  \"quantity\": 7\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Bad request",
              "code": 400,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": false,\n  \"error\": \"This product is sold in packs only. Please choose one of these quantities: 12, 25, 35, 45, 65, 85, 95, 135, 405, 540, 675, 1350.\",\n  \"errors\": {\n    \"code\": \"INVALID_PACK_SIZE\",\n    \"allowed_quantities\": [\n      12,\n      25,\n      35,\n      45,\n      65,\n      85,\n      95,\n      135,\n      405,\n      540,\n      675,\n      1350\n    ]\n  }\n}"
            },
            {
              "name": "400 Invalid reward code",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/orders",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "orders"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"product_id\": 986,\n  \"quantity\": 1,\n  \"reward_code\": \"NOPE-CODE\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Bad request",
              "code": 400,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": false,\n  \"error\": \"Invalid reward code\"\n}"
            },
            {
              "name": "422 More than all stock",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/orders",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "orders"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"product_id\": 986,\n  \"quantity\": 100000000\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Validation failed or cannot be fulfilled",
              "code": 422,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": false,\n  \"error\": \"Insufficient stock available\"\n}"
            }
          ]
        },
        {
          "name": "Cancel an order",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/orders/:id/cancel",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "orders",
                ":id",
                "cancel"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "99999999",
                  "description": "Order id."
                }
              ]
            },
            "description": "Only pending orders can be cancelled.\n\nAuth: API key."
          },
          "response": [
            {
              "name": "404 Not found",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/orders/99999999/cancel",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "orders",
                    "99999999",
                    "cancel"
                  ]
                }
              },
              "status": "Not found",
              "code": 404,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": false,\n  \"error\": \"Order not found\"\n}"
            }
          ]
        },
        {
          "name": "Export delivered lines",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/orders/:id/export",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "orders",
                ":id",
                "export"
              ],
              "query": [
                {
                  "key": "format",
                  "value": "",
                  "description": "Default json.",
                  "disabled": true
                }
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "1232875",
                  "description": "Order id."
                }
              ]
            },
            "description": "The order's delivered lines. format=csv or format=txt returns plain lines instead of JSON.\n\nAuth: API key."
          },
          "response": [
            {
              "name": "200 JSON",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/orders/1232875/export",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "orders",
                    "1232875",
                    "export"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": true,\n  \"data\": [\n    {\n      \"id\": 9753601,\n      \"data\": \"account1@example.com|Sample2\",\n      \"sold_at\": \"2026-10-11T16:58:00.000000Z\"\n    },\n    {\n      \"id\": 9753602,\n      \"data\": \"account1@example.com|Sample2\",\n      \"sold_at\": \"2026-10-11T16:58:00.000000Z\"\n    }\n  ]\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "Wallet",
      "description": "Balance, transactions and deposits.",
      "item": [
        {
          "name": "Get your balance",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/wallet/balance",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "wallet",
                "balance"
              ]
            },
            "description": "Get your balance\n\nAuth: API key."
          },
          "response": [
            {
              "name": "200 Balance",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/wallet/balance",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "wallet",
                    "balance"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": true,\n  \"data\": {\n    \"balance\": 339.60453503,\n    \"currency\": \"USD\"\n  }\n}"
            }
          ]
        },
        {
          "name": "List transactions",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/wallet/transactions?per_page=2",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "wallet",
                "transactions"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "1",
                  "description": "Page number, from 1.",
                  "disabled": true
                },
                {
                  "key": "per_page",
                  "value": "2",
                  "description": "Items per page, 1-100 (default 20)."
                },
                {
                  "key": "type",
                  "value": "",
                  "description": "credit = admin top-up or referral reward. An unknown type returns no rows.",
                  "disabled": true
                },
                {
                  "key": "date_from",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "date_to",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "description": "Your ledger, newest first. amount is unsigned; direction and signed_amount say whether money came in or went out.\n\nAuth: API key."
          },
          "response": [
            {
              "name": "200 Latest",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/wallet/transactions?per_page=2",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "wallet",
                    "transactions"
                  ],
                  "query": [
                    {
                      "key": "per_page",
                      "value": "2"
                    }
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": true,\n  \"data\": [\n    {\n      \"id\": 1247991,\n      \"type\": \"purchase\",\n      \"amount\": 0.02394032,\n      \"direction\": \"out\",\n      \"signed_amount\": -0.02394032,\n      \"balance_after\": 339.60453503,\n      \"created_at\": \"2026-10-11T16:58:00.000000Z\"\n    },\n    {\n      \"id\": 1247879,\n      \"type\": \"purchase\",\n      \"amount\": 0.01197016,\n      \"direction\": \"out\",\n      \"signed_amount\": -0.01197016,\n      \"balance_after\": 339.62847535,\n      \"created_at\": \"2026-10-11T16:30:01.000000Z\"\n    }\n  ],\n  \"meta\": {\n    \"current_page\": 1,\n    \"per_page\": 2,\n    \"total\": 3663,\n    \"total_pages\": 1832\n  }\n}"
            },
            {
              "name": "200 Credits only",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/wallet/transactions?type=credit&per_page=2",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "wallet",
                    "transactions"
                  ],
                  "query": [
                    {
                      "key": "type",
                      "value": "credit"
                    },
                    {
                      "key": "per_page",
                      "value": "2"
                    }
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": true,\n  \"data\": [\n    {\n      \"id\": 1148202,\n      \"type\": \"credit\",\n      \"amount\": 500,\n      \"direction\": \"in\",\n      \"signed_amount\": 500,\n      \"balance_after\": 639.9275997,\n      \"created_at\": \"2026-09-22T15:15:30.000000Z\"\n    },\n    {\n      \"id\": 1141019,\n      \"type\": \"credit\",\n      \"amount\": 200,\n      \"direction\": \"in\",\n      \"signed_amount\": 200,\n      \"balance_after\": 200.02273566,\n      \"created_at\": \"2026-09-21T14:59:17.000000Z\"\n    }\n  ],\n  \"meta\": {\n    \"current_page\": 1,\n    \"per_page\": 2,\n    \"total\": 4,\n    \"total_pages\": 2\n  }\n}"
            }
          ]
        },
        {
          "name": "Start a deposit",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/wallet/deposit",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "wallet",
                "deposit"
              ]
            },
            "description": "Creates a payment with a gateway and returns its payment_url. Gateways switched off by the shop are refused.\n\nAuth: API key.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"amount\": 10,\n  \"payment_method\": \"heleket\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 Deposit created (illustrative)",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/wallet/deposit",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "wallet",
                    "deposit"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"amount\": 10,\n  \"payment_method\": \"heleket\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": true,\n  \"data\": {\n    \"deposit_id\": 52011,\n    \"amount\": 10,\n    \"payment_method\": \"crypto\",\n    \"status\": \"pending\",\n    \"payment_url\": \"https://pay.heleket.com/pay/00000000-0000-0000-0000-000000000000\",\n    \"expires_at\": \"2026-10-11T18:30:00.000000Z\"\n  }\n}"
            },
            {
              "name": "422 Invalid",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/wallet/deposit",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "wallet",
                    "deposit"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"amount\": 0,\n  \"payment_method\": \"nope\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Validation failed or cannot be fulfilled",
              "code": 422,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": false,\n  \"error\": \"Validation failed\",\n  \"errors\": {\n    \"amount\": [\n      \"Minimum deposit amount is $0.25\"\n    ],\n    \"payment_method\": [\n      \"Valid payment method is required (heleket, crypto, cryptomus, piprapay)\"\n    ]\n  }\n}"
            }
          ]
        },
        {
          "name": "List deposits",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/wallet/deposits",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "wallet",
                "deposits"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "1",
                  "description": "Page number, from 1.",
                  "disabled": true
                },
                {
                  "key": "per_page",
                  "value": "20",
                  "description": "Items per page, 1-100 (default 20).",
                  "disabled": true
                },
                {
                  "key": "status",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "description": "Payment-gateway deposits only. Admin top-ups appear as credit transactions instead.\n\nAuth: API key."
          },
          "response": [
            {
              "name": "200 Deposits",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/wallet/deposits",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "wallet",
                    "deposits"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": true,\n  \"data\": [],\n  \"meta\": {\n    \"current_page\": 1,\n    \"per_page\": 20,\n    \"total\": 0,\n    \"total_pages\": 0\n  }\n}"
            },
            {
              "name": "200 With a deposit (illustrative)",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/wallet/deposits",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "wallet",
                    "deposits"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": true,\n  \"data\": [\n    {\n      \"id\": 52011,\n      \"amount\": 10,\n      \"status\": \"completed\",\n      \"payment_method\": \"crypto\",\n      \"created_at\": \"2026-10-11T16:30:00.000000Z\",\n      \"updated_at\": \"2026-10-11T16:41:12.000000Z\"\n    }\n  ],\n  \"meta\": {\n    \"current_page\": 1,\n    \"per_page\": 20,\n    \"total\": 1,\n    \"total_pages\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Get a deposit",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/wallet/deposits/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "wallet",
                "deposits",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "52011",
                  "description": "Deposit id."
                }
              ]
            },
            "description": "Get a deposit\n\nAuth: API key."
          },
          "response": [
            {
              "name": "200 Deposit (illustrative)",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/wallet/deposits/52011",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "wallet",
                    "deposits",
                    "52011"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": true,\n  \"data\": {\n    \"id\": 52011,\n    \"status\": \"completed\",\n    \"amount\": 10,\n    \"payment_method\": \"crypto\"\n  }\n}"
            },
            {
              "name": "404 Not found",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/wallet/deposits/99999999",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "wallet",
                    "deposits",
                    "99999999"
                  ]
                }
              },
              "status": "Not found",
              "code": 404,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": false,\n  \"error\": \"Deposit not found\"\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "Purchases",
      "description": "Every account line delivered to you.",
      "item": [
        {
          "name": "List purchased lines",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/purchases?per_page=2",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "purchases"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "1",
                  "description": "Page number, from 1.",
                  "disabled": true
                },
                {
                  "key": "per_page",
                  "value": "2",
                  "description": "Items per page, 1-100 (default 20)."
                },
                {
                  "key": "product_id",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "order_id",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "description": "Every account line delivered to you, newest first.\n\nAuth: API key."
          },
          "response": [
            {
              "name": "200 Latest",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/purchases?per_page=2",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "purchases"
                  ],
                  "query": [
                    {
                      "key": "per_page",
                      "value": "2"
                    }
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": true,\n  \"data\": [\n    {\n      \"id\": 9753601,\n      \"product_id\": 13,\n      \"product_name\": \"Gmail Edu domain rental for 24 hours (.us domain) with Gmail\",\n      \"order_id\": 1232875,\n      \"data\": \"account1@example.com|Sample2\",\n      \"sold_at\": \"2026-10-11T16:58:00.000000Z\"\n    },\n    {\n      \"id\": 9753602,\n      \"product_id\": 13,\n      \"product_name\": \"Gmail Edu domain rental for 24 hours (.us domain) with Gmail\",\n      \"order_id\": 1232875,\n      \"data\": \"account1@example.com|Sample2\",\n      \"sold_at\": \"2026-10-11T16:58:00.000000Z\"\n    }\n  ],\n  \"meta\": {\n    \"current_page\": 1,\n    \"per_page\": 2,\n    \"total\": 14574,\n    \"total_pages\": 7287\n  }\n}"
            }
          ]
        },
        {
          "name": "Get a purchased line",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/purchases/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "purchases",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "9753601",
                  "description": "Purchase (line) id."
                }
              ]
            },
            "description": "Get a purchased line\n\nAuth: API key."
          },
          "response": [
            {
              "name": "200 Line",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/purchases/9753601",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "purchases",
                    "9753601"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": true,\n  \"data\": {\n    \"id\": 9753601,\n    \"product_id\": 13,\n    \"product_name\": \"Gmail Edu domain rental for 24 hours (.us domain) with Gmail\",\n    \"order_id\": 1232875,\n    \"data\": \"account1@example.com|Sample2\",\n    \"sold_at\": \"2026-10-11T16:58:00.000000Z\"\n  }\n}"
            },
            {
              "name": "404 Not found",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/purchases/99999999",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "purchases",
                    "99999999"
                  ]
                }
              },
              "status": "Not found",
              "code": 404,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": false,\n  \"error\": \"Purchase not found\"\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "API Keys",
      "description": "Manage the keys that authenticate you.",
      "item": [
        {
          "name": "List your API keys",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/api-keys",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api-keys"
              ]
            },
            "description": "Active keys, prefix only. last_used_at updates at most every 5 minutes.\n\nAuth: API key."
          },
          "response": [
            {
              "name": "200 Keys",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/api-keys",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "api-keys"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": true,\n  \"data\": [\n    {\n      \"id\": 436,\n      \"key_prefix\": \"sk_live_a1b2...\",\n      \"created_at\": \"2026-07-20T09:25:29.000000Z\",\n      \"last_used_at\": \"2026-10-11T17:20:46.000000Z\"\n    },\n    {\n      \"id\": 737,\n      \"key_prefix\": \"sk_live_a1b2...\",\n      \"created_at\": \"2026-10-11T14:42:24.000000Z\",\n      \"last_used_at\": \"2026-10-11T17:33:00.000000Z\"\n    }\n  ]\n}"
            }
          ]
        },
        {
          "name": "Create an API key",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/api-keys",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api-keys"
              ]
            },
            "description": "Up to 5 active keys. The full key is shown only in this response.\n\nAuth: API key."
          },
          "response": [
            {
              "name": "201 Created (illustrative)",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/api-keys",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "api-keys"
                  ]
                }
              },
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": true,\n  \"message\": \"API key created. Store it securely - it won't be shown again.\",\n  \"data\": {\n    \"id\": 812,\n    \"key\": \"sk_live_0000000000000000000000000000000000000000000000000000000000000000\",\n    \"created_at\": \"2026-10-11T17:00:00.000000Z\"\n  }\n}"
            },
            {
              "name": "400 Limit reached (illustrative)",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/api-keys",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "api-keys"
                  ]
                }
              },
              "status": "Bad request",
              "code": 400,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": false,\n  \"error\": \"Maximum of 5 active API keys allowed\"\n}"
            }
          ]
        },
        {
          "name": "Revoke an API key",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/api-keys/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api-keys",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "812",
                  "description": "API key id."
                }
              ]
            },
            "description": "Revoke an API key\n\nAuth: API key."
          },
          "response": [
            {
              "name": "200 Revoked (illustrative)",
              "originalRequest": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/api-keys/812",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "api-keys",
                    "812"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": true,\n  \"message\": \"API key revoked successfully\"\n}"
            },
            {
              "name": "404 Not found",
              "originalRequest": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/api-keys/99999999",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "api-keys",
                    "99999999"
                  ]
                }
              },
              "status": "Not found",
              "code": 404,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": false,\n  \"error\": \"API key not found\"\n}"
            }
          ]
        }
      ]
    }
  ]
}