{"info":{"name":"Tiger SMS Public API","description":"Generated from config/api_methods.php + App\\Features\\Api\\Support\\ApiMethodSchemas. Set the `baseUrl` and `api_key` collection variables before sending requests — `api_key` defaults to the placeholder `YOUR_API_KEY` and is never populated with a real key by this generator.","schema":"https://schema.getpostman.com/json/collection/v2.1.0/collection.json"},"variable":[{"key":"baseUrl","value":"https://api.tiger-sms.com","type":"string"},{"key":"api_key","value":"YOUR_API_KEY","type":"string"}],"item":[{"name":"V1","item":[{"name":"getNumber","request":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getNumber&api_key={{api_key}}&service=tg&country=6","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getNumber","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"sms_activate-style service code."},{"key":"country","value":"6","description":"Numeric country code (sms_activate_code)."},{"key":"multiple","value":"false","description":"Require a variation that allows multiple SMS to the same number.","disabled":true},{"key":"maxPrice","value":"0.2","description":"Ceiling price in USD, 4dp. <=0/non-numeric is treated as \"not set\" (default sellable ceiling), never as \"unlimited\".","disabled":true},{"key":"providerIds","value":"235,240","description":"Comma-separated provider ids to restrict the purchase to (our differentiator, pre-existing).","disabled":true},{"key":"exceptProviderIds","value":"99","description":"Comma-separated provider ids to exclude.","disabled":true},{"key":"ref","value":"","description":"Referral id, falls back to the `ref` cookie.","disabled":true},{"key":"activationType","value":"SMS","description":"One of SMS, CALL_FLASH, CALL_VOICE, CALL_INTERACTIVE, RENT_SMS. Unknown value silently falls back to SMS. RENT_SMS is accepted but rental is not a supported product yet — do not rely on it.","disabled":true},{"key":"fixedPrice","value":"true","description":"Literal 'true'/'false'. Requires maxPrice. When 'true', the charge is locked to exactly maxPrice instead of the usual hold-then-settle-at-real-price flow. [flag: api_fixed_price_enabled]","disabled":true}]},"description":"Purchase a phone number for a service/country.\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nAccepted but currently ignored (no validation rule, silently dropped, no error): operator, phoneException, minPrice.\n\nAutomatic country detection (e.g. `country=any`) is not supported: `country` must be a numeric country code — a non-numeric or unknown country returns BAD_COUNTRY.\n\nComma-separated lists on this method are supported for providerIds/exceptProviderIds only. Top-level `service`/`country` do not accept comma lists here — that capability is coming soon on the price-lookup methods (getPrices/getFreePrices/getPricesV2/getPricesV3) only.\n\ngetNumberTest behaves exactly like getNumber, but is the documented way to explicitly pass activationType/testParams."},"response":[{"name":"Success","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getNumber&api_key={{api_key}}&service=tg&country=6","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getNumber","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"sms_activate-style service code."},{"key":"country","value":"6","description":"Numeric country code (sms_activate_code)."},{"key":"multiple","value":"false","description":"Require a variation that allows multiple SMS to the same number.","disabled":true},{"key":"maxPrice","value":"0.2","description":"Ceiling price in USD, 4dp. <=0/non-numeric is treated as \"not set\" (default sellable ceiling), never as \"unlimited\".","disabled":true},{"key":"providerIds","value":"235,240","description":"Comma-separated provider ids to restrict the purchase to (our differentiator, pre-existing).","disabled":true},{"key":"exceptProviderIds","value":"99","description":"Comma-separated provider ids to exclude.","disabled":true},{"key":"ref","value":"","description":"Referral id, falls back to the `ref` cookie.","disabled":true},{"key":"activationType","value":"SMS","description":"One of SMS, CALL_FLASH, CALL_VOICE, CALL_INTERACTIVE, RENT_SMS. Unknown value silently falls back to SMS. RENT_SMS is accepted but rental is not a supported product yet — do not rely on it.","disabled":true},{"key":"fixedPrice","value":"true","description":"Literal 'true'/'false'. Requires maxPrice. When 'true', the charge is locked to exactly maxPrice instead of the usual hold-then-settle-at-real-price flow. [flag: api_fixed_price_enabled]","disabled":true}]},"description":"Purchase a phone number for a service/country.\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nAccepted but currently ignored (no validation rule, silently dropped, no error): operator, phoneException, minPrice.\n\nAutomatic country detection (e.g. `country=any`) is not supported: `country` must be a numeric country code — a non-numeric or unknown country returns BAD_COUNTRY.\n\nComma-separated lists on this method are supported for providerIds/exceptProviderIds only. Top-level `service`/`country` do not accept comma lists here — that capability is coming soon on the price-lookup methods (getPrices/getFreePrices/getPricesV2/getPricesV3) only.\n\ngetNumberTest behaves exactly like getNumber, but is the documented way to explicitly pass activationType/testParams."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"ACCESS_NUMBER:557860099:18734721259","_postman_previewlanguage":"text"},{"name":"NO_NUMBERS","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getNumber&api_key={{api_key}}&service=tg&country=6","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getNumber","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"sms_activate-style service code."},{"key":"country","value":"6","description":"Numeric country code (sms_activate_code)."},{"key":"multiple","value":"false","description":"Require a variation that allows multiple SMS to the same number.","disabled":true},{"key":"maxPrice","value":"0.2","description":"Ceiling price in USD, 4dp. <=0/non-numeric is treated as \"not set\" (default sellable ceiling), never as \"unlimited\".","disabled":true},{"key":"providerIds","value":"235,240","description":"Comma-separated provider ids to restrict the purchase to (our differentiator, pre-existing).","disabled":true},{"key":"exceptProviderIds","value":"99","description":"Comma-separated provider ids to exclude.","disabled":true},{"key":"ref","value":"","description":"Referral id, falls back to the `ref` cookie.","disabled":true},{"key":"activationType","value":"SMS","description":"One of SMS, CALL_FLASH, CALL_VOICE, CALL_INTERACTIVE, RENT_SMS. Unknown value silently falls back to SMS. RENT_SMS is accepted but rental is not a supported product yet — do not rely on it.","disabled":true},{"key":"fixedPrice","value":"true","description":"Literal 'true'/'false'. Requires maxPrice. When 'true', the charge is locked to exactly maxPrice instead of the usual hold-then-settle-at-real-price flow. [flag: api_fixed_price_enabled]","disabled":true}]},"description":"Purchase a phone number for a service/country.\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nAccepted but currently ignored (no validation rule, silently dropped, no error): operator, phoneException, minPrice.\n\nAutomatic country detection (e.g. `country=any`) is not supported: `country` must be a numeric country code — a non-numeric or unknown country returns BAD_COUNTRY.\n\nComma-separated lists on this method are supported for providerIds/exceptProviderIds only. Top-level `service`/`country` do not accept comma lists here — that capability is coming soon on the price-lookup methods (getPrices/getFreePrices/getPricesV2/getPricesV3) only.\n\ngetNumberTest behaves exactly like getNumber, but is the documented way to explicitly pass activationType/testParams."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"NO_NUMBERS","_postman_previewlanguage":"text"},{"name":"NO_BALANCE","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getNumber&api_key={{api_key}}&service=tg&country=6","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getNumber","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"sms_activate-style service code."},{"key":"country","value":"6","description":"Numeric country code (sms_activate_code)."},{"key":"multiple","value":"false","description":"Require a variation that allows multiple SMS to the same number.","disabled":true},{"key":"maxPrice","value":"0.2","description":"Ceiling price in USD, 4dp. <=0/non-numeric is treated as \"not set\" (default sellable ceiling), never as \"unlimited\".","disabled":true},{"key":"providerIds","value":"235,240","description":"Comma-separated provider ids to restrict the purchase to (our differentiator, pre-existing).","disabled":true},{"key":"exceptProviderIds","value":"99","description":"Comma-separated provider ids to exclude.","disabled":true},{"key":"ref","value":"","description":"Referral id, falls back to the `ref` cookie.","disabled":true},{"key":"activationType","value":"SMS","description":"One of SMS, CALL_FLASH, CALL_VOICE, CALL_INTERACTIVE, RENT_SMS. Unknown value silently falls back to SMS. RENT_SMS is accepted but rental is not a supported product yet — do not rely on it.","disabled":true},{"key":"fixedPrice","value":"true","description":"Literal 'true'/'false'. Requires maxPrice. When 'true', the charge is locked to exactly maxPrice instead of the usual hold-then-settle-at-real-price flow. [flag: api_fixed_price_enabled]","disabled":true}]},"description":"Purchase a phone number for a service/country.\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nAccepted but currently ignored (no validation rule, silently dropped, no error): operator, phoneException, minPrice.\n\nAutomatic country detection (e.g. `country=any`) is not supported: `country` must be a numeric country code — a non-numeric or unknown country returns BAD_COUNTRY.\n\nComma-separated lists on this method are supported for providerIds/exceptProviderIds only. Top-level `service`/`country` do not accept comma lists here — that capability is coming soon on the price-lookup methods (getPrices/getFreePrices/getPricesV2/getPricesV3) only.\n\ngetNumberTest behaves exactly like getNumber, but is the documented way to explicitly pass activationType/testParams."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"NO_BALANCE","_postman_previewlanguage":"text"},{"name":"BAD_SERVICE","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getNumber&api_key={{api_key}}&service=tg&country=6","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getNumber","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"sms_activate-style service code."},{"key":"country","value":"6","description":"Numeric country code (sms_activate_code)."},{"key":"multiple","value":"false","description":"Require a variation that allows multiple SMS to the same number.","disabled":true},{"key":"maxPrice","value":"0.2","description":"Ceiling price in USD, 4dp. <=0/non-numeric is treated as \"not set\" (default sellable ceiling), never as \"unlimited\".","disabled":true},{"key":"providerIds","value":"235,240","description":"Comma-separated provider ids to restrict the purchase to (our differentiator, pre-existing).","disabled":true},{"key":"exceptProviderIds","value":"99","description":"Comma-separated provider ids to exclude.","disabled":true},{"key":"ref","value":"","description":"Referral id, falls back to the `ref` cookie.","disabled":true},{"key":"activationType","value":"SMS","description":"One of SMS, CALL_FLASH, CALL_VOICE, CALL_INTERACTIVE, RENT_SMS. Unknown value silently falls back to SMS. RENT_SMS is accepted but rental is not a supported product yet — do not rely on it.","disabled":true},{"key":"fixedPrice","value":"true","description":"Literal 'true'/'false'. Requires maxPrice. When 'true', the charge is locked to exactly maxPrice instead of the usual hold-then-settle-at-real-price flow. [flag: api_fixed_price_enabled]","disabled":true}]},"description":"Purchase a phone number for a service/country.\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nAccepted but currently ignored (no validation rule, silently dropped, no error): operator, phoneException, minPrice.\n\nAutomatic country detection (e.g. `country=any`) is not supported: `country` must be a numeric country code — a non-numeric or unknown country returns BAD_COUNTRY.\n\nComma-separated lists on this method are supported for providerIds/exceptProviderIds only. Top-level `service`/`country` do not accept comma lists here — that capability is coming soon on the price-lookup methods (getPrices/getFreePrices/getPricesV2/getPricesV3) only.\n\ngetNumberTest behaves exactly like getNumber, but is the documented way to explicitly pass activationType/testParams."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"BAD_SERVICE","_postman_previewlanguage":"text"},{"name":"BAD_COUNTRY","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getNumber&api_key={{api_key}}&service=tg&country=6","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getNumber","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"sms_activate-style service code."},{"key":"country","value":"6","description":"Numeric country code (sms_activate_code)."},{"key":"multiple","value":"false","description":"Require a variation that allows multiple SMS to the same number.","disabled":true},{"key":"maxPrice","value":"0.2","description":"Ceiling price in USD, 4dp. <=0/non-numeric is treated as \"not set\" (default sellable ceiling), never as \"unlimited\".","disabled":true},{"key":"providerIds","value":"235,240","description":"Comma-separated provider ids to restrict the purchase to (our differentiator, pre-existing).","disabled":true},{"key":"exceptProviderIds","value":"99","description":"Comma-separated provider ids to exclude.","disabled":true},{"key":"ref","value":"","description":"Referral id, falls back to the `ref` cookie.","disabled":true},{"key":"activationType","value":"SMS","description":"One of SMS, CALL_FLASH, CALL_VOICE, CALL_INTERACTIVE, RENT_SMS. Unknown value silently falls back to SMS. RENT_SMS is accepted but rental is not a supported product yet — do not rely on it.","disabled":true},{"key":"fixedPrice","value":"true","description":"Literal 'true'/'false'. Requires maxPrice. When 'true', the charge is locked to exactly maxPrice instead of the usual hold-then-settle-at-real-price flow. [flag: api_fixed_price_enabled]","disabled":true}]},"description":"Purchase a phone number for a service/country.\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nAccepted but currently ignored (no validation rule, silently dropped, no error): operator, phoneException, minPrice.\n\nAutomatic country detection (e.g. `country=any`) is not supported: `country` must be a numeric country code — a non-numeric or unknown country returns BAD_COUNTRY.\n\nComma-separated lists on this method are supported for providerIds/exceptProviderIds only. Top-level `service`/`country` do not accept comma lists here — that capability is coming soon on the price-lookup methods (getPrices/getFreePrices/getPricesV2/getPricesV3) only.\n\ngetNumberTest behaves exactly like getNumber, but is the documented way to explicitly pass activationType/testParams."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"BAD_COUNTRY","_postman_previewlanguage":"text"},{"name":"BAD_VALUES","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getNumber&api_key={{api_key}}&service=tg&country=6","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getNumber","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"sms_activate-style service code."},{"key":"country","value":"6","description":"Numeric country code (sms_activate_code)."},{"key":"multiple","value":"false","description":"Require a variation that allows multiple SMS to the same number.","disabled":true},{"key":"maxPrice","value":"0.2","description":"Ceiling price in USD, 4dp. <=0/non-numeric is treated as \"not set\" (default sellable ceiling), never as \"unlimited\".","disabled":true},{"key":"providerIds","value":"235,240","description":"Comma-separated provider ids to restrict the purchase to (our differentiator, pre-existing).","disabled":true},{"key":"exceptProviderIds","value":"99","description":"Comma-separated provider ids to exclude.","disabled":true},{"key":"ref","value":"","description":"Referral id, falls back to the `ref` cookie.","disabled":true},{"key":"activationType","value":"SMS","description":"One of SMS, CALL_FLASH, CALL_VOICE, CALL_INTERACTIVE, RENT_SMS. Unknown value silently falls back to SMS. RENT_SMS is accepted but rental is not a supported product yet — do not rely on it.","disabled":true},{"key":"fixedPrice","value":"true","description":"Literal 'true'/'false'. Requires maxPrice. When 'true', the charge is locked to exactly maxPrice instead of the usual hold-then-settle-at-real-price flow. [flag: api_fixed_price_enabled]","disabled":true}]},"description":"Purchase a phone number for a service/country.\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nAccepted but currently ignored (no validation rule, silently dropped, no error): operator, phoneException, minPrice.\n\nAutomatic country detection (e.g. `country=any`) is not supported: `country` must be a numeric country code — a non-numeric or unknown country returns BAD_COUNTRY.\n\nComma-separated lists on this method are supported for providerIds/exceptProviderIds only. Top-level `service`/`country` do not accept comma lists here — that capability is coming soon on the price-lookup methods (getPrices/getFreePrices/getPricesV2/getPricesV3) only.\n\ngetNumberTest behaves exactly like getNumber, but is the documented way to explicitly pass activationType/testParams."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"BAD_VALUES","_postman_previewlanguage":"text"},{"name":"BAD_MULTIPLE","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getNumber&api_key={{api_key}}&service=tg&country=6","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getNumber","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"sms_activate-style service code."},{"key":"country","value":"6","description":"Numeric country code (sms_activate_code)."},{"key":"multiple","value":"false","description":"Require a variation that allows multiple SMS to the same number.","disabled":true},{"key":"maxPrice","value":"0.2","description":"Ceiling price in USD, 4dp. <=0/non-numeric is treated as \"not set\" (default sellable ceiling), never as \"unlimited\".","disabled":true},{"key":"providerIds","value":"235,240","description":"Comma-separated provider ids to restrict the purchase to (our differentiator, pre-existing).","disabled":true},{"key":"exceptProviderIds","value":"99","description":"Comma-separated provider ids to exclude.","disabled":true},{"key":"ref","value":"","description":"Referral id, falls back to the `ref` cookie.","disabled":true},{"key":"activationType","value":"SMS","description":"One of SMS, CALL_FLASH, CALL_VOICE, CALL_INTERACTIVE, RENT_SMS. Unknown value silently falls back to SMS. RENT_SMS is accepted but rental is not a supported product yet — do not rely on it.","disabled":true},{"key":"fixedPrice","value":"true","description":"Literal 'true'/'false'. Requires maxPrice. When 'true', the charge is locked to exactly maxPrice instead of the usual hold-then-settle-at-real-price flow. [flag: api_fixed_price_enabled]","disabled":true}]},"description":"Purchase a phone number for a service/country.\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nAccepted but currently ignored (no validation rule, silently dropped, no error): operator, phoneException, minPrice.\n\nAutomatic country detection (e.g. `country=any`) is not supported: `country` must be a numeric country code — a non-numeric or unknown country returns BAD_COUNTRY.\n\nComma-separated lists on this method are supported for providerIds/exceptProviderIds only. Top-level `service`/`country` do not accept comma lists here — that capability is coming soon on the price-lookup methods (getPrices/getFreePrices/getPricesV2/getPricesV3) only.\n\ngetNumberTest behaves exactly like getNumber, but is the documented way to explicitly pass activationType/testParams."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"BAD_MULTIPLE","_postman_previewlanguage":"text"},{"name":"BAD_MAX_PRICE","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getNumber&api_key={{api_key}}&service=tg&country=6","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getNumber","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"sms_activate-style service code."},{"key":"country","value":"6","description":"Numeric country code (sms_activate_code)."},{"key":"multiple","value":"false","description":"Require a variation that allows multiple SMS to the same number.","disabled":true},{"key":"maxPrice","value":"0.2","description":"Ceiling price in USD, 4dp. <=0/non-numeric is treated as \"not set\" (default sellable ceiling), never as \"unlimited\".","disabled":true},{"key":"providerIds","value":"235,240","description":"Comma-separated provider ids to restrict the purchase to (our differentiator, pre-existing).","disabled":true},{"key":"exceptProviderIds","value":"99","description":"Comma-separated provider ids to exclude.","disabled":true},{"key":"ref","value":"","description":"Referral id, falls back to the `ref` cookie.","disabled":true},{"key":"activationType","value":"SMS","description":"One of SMS, CALL_FLASH, CALL_VOICE, CALL_INTERACTIVE, RENT_SMS. Unknown value silently falls back to SMS. RENT_SMS is accepted but rental is not a supported product yet — do not rely on it.","disabled":true},{"key":"fixedPrice","value":"true","description":"Literal 'true'/'false'. Requires maxPrice. When 'true', the charge is locked to exactly maxPrice instead of the usual hold-then-settle-at-real-price flow. [flag: api_fixed_price_enabled]","disabled":true}]},"description":"Purchase a phone number for a service/country.\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nAccepted but currently ignored (no validation rule, silently dropped, no error): operator, phoneException, minPrice.\n\nAutomatic country detection (e.g. `country=any`) is not supported: `country` must be a numeric country code — a non-numeric or unknown country returns BAD_COUNTRY.\n\nComma-separated lists on this method are supported for providerIds/exceptProviderIds only. Top-level `service`/`country` do not accept comma lists here — that capability is coming soon on the price-lookup methods (getPrices/getFreePrices/getPricesV2/getPricesV3) only.\n\ngetNumberTest behaves exactly like getNumber, but is the documented way to explicitly pass activationType/testParams."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"BAD_MAX_PRICE","_postman_previewlanguage":"text"},{"name":"BAD_PROVIDER_IDS","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getNumber&api_key={{api_key}}&service=tg&country=6","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getNumber","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"sms_activate-style service code."},{"key":"country","value":"6","description":"Numeric country code (sms_activate_code)."},{"key":"multiple","value":"false","description":"Require a variation that allows multiple SMS to the same number.","disabled":true},{"key":"maxPrice","value":"0.2","description":"Ceiling price in USD, 4dp. <=0/non-numeric is treated as \"not set\" (default sellable ceiling), never as \"unlimited\".","disabled":true},{"key":"providerIds","value":"235,240","description":"Comma-separated provider ids to restrict the purchase to (our differentiator, pre-existing).","disabled":true},{"key":"exceptProviderIds","value":"99","description":"Comma-separated provider ids to exclude.","disabled":true},{"key":"ref","value":"","description":"Referral id, falls back to the `ref` cookie.","disabled":true},{"key":"activationType","value":"SMS","description":"One of SMS, CALL_FLASH, CALL_VOICE, CALL_INTERACTIVE, RENT_SMS. Unknown value silently falls back to SMS. RENT_SMS is accepted but rental is not a supported product yet — do not rely on it.","disabled":true},{"key":"fixedPrice","value":"true","description":"Literal 'true'/'false'. Requires maxPrice. When 'true', the charge is locked to exactly maxPrice instead of the usual hold-then-settle-at-real-price flow. [flag: api_fixed_price_enabled]","disabled":true}]},"description":"Purchase a phone number for a service/country.\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nAccepted but currently ignored (no validation rule, silently dropped, no error): operator, phoneException, minPrice.\n\nAutomatic country detection (e.g. `country=any`) is not supported: `country` must be a numeric country code — a non-numeric or unknown country returns BAD_COUNTRY.\n\nComma-separated lists on this method are supported for providerIds/exceptProviderIds only. Top-level `service`/`country` do not accept comma lists here — that capability is coming soon on the price-lookup methods (getPrices/getFreePrices/getPricesV2/getPricesV3) only.\n\ngetNumberTest behaves exactly like getNumber, but is the documented way to explicitly pass activationType/testParams."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"BAD_PROVIDER_IDS","_postman_previewlanguage":"text"},{"name":"BAD_EXCEPT_PROVIDER_IDS","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getNumber&api_key={{api_key}}&service=tg&country=6","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getNumber","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"sms_activate-style service code."},{"key":"country","value":"6","description":"Numeric country code (sms_activate_code)."},{"key":"multiple","value":"false","description":"Require a variation that allows multiple SMS to the same number.","disabled":true},{"key":"maxPrice","value":"0.2","description":"Ceiling price in USD, 4dp. <=0/non-numeric is treated as \"not set\" (default sellable ceiling), never as \"unlimited\".","disabled":true},{"key":"providerIds","value":"235,240","description":"Comma-separated provider ids to restrict the purchase to (our differentiator, pre-existing).","disabled":true},{"key":"exceptProviderIds","value":"99","description":"Comma-separated provider ids to exclude.","disabled":true},{"key":"ref","value":"","description":"Referral id, falls back to the `ref` cookie.","disabled":true},{"key":"activationType","value":"SMS","description":"One of SMS, CALL_FLASH, CALL_VOICE, CALL_INTERACTIVE, RENT_SMS. Unknown value silently falls back to SMS. RENT_SMS is accepted but rental is not a supported product yet — do not rely on it.","disabled":true},{"key":"fixedPrice","value":"true","description":"Literal 'true'/'false'. Requires maxPrice. When 'true', the charge is locked to exactly maxPrice instead of the usual hold-then-settle-at-real-price flow. [flag: api_fixed_price_enabled]","disabled":true}]},"description":"Purchase a phone number for a service/country.\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nAccepted but currently ignored (no validation rule, silently dropped, no error): operator, phoneException, minPrice.\n\nAutomatic country detection (e.g. `country=any`) is not supported: `country` must be a numeric country code — a non-numeric or unknown country returns BAD_COUNTRY.\n\nComma-separated lists on this method are supported for providerIds/exceptProviderIds only. Top-level `service`/`country` do not accept comma lists here — that capability is coming soon on the price-lookup methods (getPrices/getFreePrices/getPricesV2/getPricesV3) only.\n\ngetNumberTest behaves exactly like getNumber, but is the documented way to explicitly pass activationType/testParams."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"BAD_EXCEPT_PROVIDER_IDS","_postman_previewlanguage":"text"},{"name":"NO_PROVIDERS","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getNumber&api_key={{api_key}}&service=tg&country=6","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getNumber","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"sms_activate-style service code."},{"key":"country","value":"6","description":"Numeric country code (sms_activate_code)."},{"key":"multiple","value":"false","description":"Require a variation that allows multiple SMS to the same number.","disabled":true},{"key":"maxPrice","value":"0.2","description":"Ceiling price in USD, 4dp. <=0/non-numeric is treated as \"not set\" (default sellable ceiling), never as \"unlimited\".","disabled":true},{"key":"providerIds","value":"235,240","description":"Comma-separated provider ids to restrict the purchase to (our differentiator, pre-existing).","disabled":true},{"key":"exceptProviderIds","value":"99","description":"Comma-separated provider ids to exclude.","disabled":true},{"key":"ref","value":"","description":"Referral id, falls back to the `ref` cookie.","disabled":true},{"key":"activationType","value":"SMS","description":"One of SMS, CALL_FLASH, CALL_VOICE, CALL_INTERACTIVE, RENT_SMS. Unknown value silently falls back to SMS. RENT_SMS is accepted but rental is not a supported product yet — do not rely on it.","disabled":true},{"key":"fixedPrice","value":"true","description":"Literal 'true'/'false'. Requires maxPrice. When 'true', the charge is locked to exactly maxPrice instead of the usual hold-then-settle-at-real-price flow. [flag: api_fixed_price_enabled]","disabled":true}]},"description":"Purchase a phone number for a service/country.\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nAccepted but currently ignored (no validation rule, silently dropped, no error): operator, phoneException, minPrice.\n\nAutomatic country detection (e.g. `country=any`) is not supported: `country` must be a numeric country code — a non-numeric or unknown country returns BAD_COUNTRY.\n\nComma-separated lists on this method are supported for providerIds/exceptProviderIds only. Top-level `service`/`country` do not accept comma lists here — that capability is coming soon on the price-lookup methods (getPrices/getFreePrices/getPricesV2/getPricesV3) only.\n\ngetNumberTest behaves exactly like getNumber, but is the documented way to explicitly pass activationType/testParams."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"NO_PROVIDERS","_postman_previewlanguage":"text"},{"name":"BAD_ACTIVATION_TYPE","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getNumber&api_key={{api_key}}&service=tg&country=6","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getNumber","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"sms_activate-style service code."},{"key":"country","value":"6","description":"Numeric country code (sms_activate_code)."},{"key":"multiple","value":"false","description":"Require a variation that allows multiple SMS to the same number.","disabled":true},{"key":"maxPrice","value":"0.2","description":"Ceiling price in USD, 4dp. <=0/non-numeric is treated as \"not set\" (default sellable ceiling), never as \"unlimited\".","disabled":true},{"key":"providerIds","value":"235,240","description":"Comma-separated provider ids to restrict the purchase to (our differentiator, pre-existing).","disabled":true},{"key":"exceptProviderIds","value":"99","description":"Comma-separated provider ids to exclude.","disabled":true},{"key":"ref","value":"","description":"Referral id, falls back to the `ref` cookie.","disabled":true},{"key":"activationType","value":"SMS","description":"One of SMS, CALL_FLASH, CALL_VOICE, CALL_INTERACTIVE, RENT_SMS. Unknown value silently falls back to SMS. RENT_SMS is accepted but rental is not a supported product yet — do not rely on it.","disabled":true},{"key":"fixedPrice","value":"true","description":"Literal 'true'/'false'. Requires maxPrice. When 'true', the charge is locked to exactly maxPrice instead of the usual hold-then-settle-at-real-price flow. [flag: api_fixed_price_enabled]","disabled":true}]},"description":"Purchase a phone number for a service/country.\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nAccepted but currently ignored (no validation rule, silently dropped, no error): operator, phoneException, minPrice.\n\nAutomatic country detection (e.g. `country=any`) is not supported: `country` must be a numeric country code — a non-numeric or unknown country returns BAD_COUNTRY.\n\nComma-separated lists on this method are supported for providerIds/exceptProviderIds only. Top-level `service`/`country` do not accept comma lists here — that capability is coming soon on the price-lookup methods (getPrices/getFreePrices/getPricesV2/getPricesV3) only.\n\ngetNumberTest behaves exactly like getNumber, but is the documented way to explicitly pass activationType/testParams."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"BAD_ACTIVATION_TYPE","_postman_previewlanguage":"text"},{"name":"BAD_FIXED_PRICE","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getNumber&api_key={{api_key}}&service=tg&country=6","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getNumber","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"sms_activate-style service code."},{"key":"country","value":"6","description":"Numeric country code (sms_activate_code)."},{"key":"multiple","value":"false","description":"Require a variation that allows multiple SMS to the same number.","disabled":true},{"key":"maxPrice","value":"0.2","description":"Ceiling price in USD, 4dp. <=0/non-numeric is treated as \"not set\" (default sellable ceiling), never as \"unlimited\".","disabled":true},{"key":"providerIds","value":"235,240","description":"Comma-separated provider ids to restrict the purchase to (our differentiator, pre-existing).","disabled":true},{"key":"exceptProviderIds","value":"99","description":"Comma-separated provider ids to exclude.","disabled":true},{"key":"ref","value":"","description":"Referral id, falls back to the `ref` cookie.","disabled":true},{"key":"activationType","value":"SMS","description":"One of SMS, CALL_FLASH, CALL_VOICE, CALL_INTERACTIVE, RENT_SMS. Unknown value silently falls back to SMS. RENT_SMS is accepted but rental is not a supported product yet — do not rely on it.","disabled":true},{"key":"fixedPrice","value":"true","description":"Literal 'true'/'false'. Requires maxPrice. When 'true', the charge is locked to exactly maxPrice instead of the usual hold-then-settle-at-real-price flow. [flag: api_fixed_price_enabled]","disabled":true}]},"description":"Purchase a phone number for a service/country.\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nAccepted but currently ignored (no validation rule, silently dropped, no error): operator, phoneException, minPrice.\n\nAutomatic country detection (e.g. `country=any`) is not supported: `country` must be a numeric country code — a non-numeric or unknown country returns BAD_COUNTRY.\n\nComma-separated lists on this method are supported for providerIds/exceptProviderIds only. Top-level `service`/`country` do not accept comma lists here — that capability is coming soon on the price-lookup methods (getPrices/getFreePrices/getPricesV2/getPricesV3) only.\n\ngetNumberTest behaves exactly like getNumber, but is the documented way to explicitly pass activationType/testParams."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"BAD_FIXED_PRICE","_postman_previewlanguage":"text"},{"name":"WRONG_MAX_PRICE","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getNumber&api_key={{api_key}}&service=tg&country=6","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getNumber","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"sms_activate-style service code."},{"key":"country","value":"6","description":"Numeric country code (sms_activate_code)."},{"key":"multiple","value":"false","description":"Require a variation that allows multiple SMS to the same number.","disabled":true},{"key":"maxPrice","value":"0.2","description":"Ceiling price in USD, 4dp. <=0/non-numeric is treated as \"not set\" (default sellable ceiling), never as \"unlimited\".","disabled":true},{"key":"providerIds","value":"235,240","description":"Comma-separated provider ids to restrict the purchase to (our differentiator, pre-existing).","disabled":true},{"key":"exceptProviderIds","value":"99","description":"Comma-separated provider ids to exclude.","disabled":true},{"key":"ref","value":"","description":"Referral id, falls back to the `ref` cookie.","disabled":true},{"key":"activationType","value":"SMS","description":"One of SMS, CALL_FLASH, CALL_VOICE, CALL_INTERACTIVE, RENT_SMS. Unknown value silently falls back to SMS. RENT_SMS is accepted but rental is not a supported product yet — do not rely on it.","disabled":true},{"key":"fixedPrice","value":"true","description":"Literal 'true'/'false'. Requires maxPrice. When 'true', the charge is locked to exactly maxPrice instead of the usual hold-then-settle-at-real-price flow. [flag: api_fixed_price_enabled]","disabled":true}]},"description":"Purchase a phone number for a service/country.\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nAccepted but currently ignored (no validation rule, silently dropped, no error): operator, phoneException, minPrice.\n\nAutomatic country detection (e.g. `country=any`) is not supported: `country` must be a numeric country code — a non-numeric or unknown country returns BAD_COUNTRY.\n\nComma-separated lists on this method are supported for providerIds/exceptProviderIds only. Top-level `service`/`country` do not accept comma lists here — that capability is coming soon on the price-lookup methods (getPrices/getFreePrices/getPricesV2/getPricesV3) only.\n\ngetNumberTest behaves exactly like getNumber, but is the documented way to explicitly pass activationType/testParams."},"status":"Bad Request","code":400,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"WRONG_MAX_PRICE:0.1453","_postman_previewlanguage":"text"},{"name":"Too Many Requests","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getNumber&api_key={{api_key}}&service=tg&country=6","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getNumber","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"sms_activate-style service code."},{"key":"country","value":"6","description":"Numeric country code (sms_activate_code)."},{"key":"multiple","value":"false","description":"Require a variation that allows multiple SMS to the same number.","disabled":true},{"key":"maxPrice","value":"0.2","description":"Ceiling price in USD, 4dp. <=0/non-numeric is treated as \"not set\" (default sellable ceiling), never as \"unlimited\".","disabled":true},{"key":"providerIds","value":"235,240","description":"Comma-separated provider ids to restrict the purchase to (our differentiator, pre-existing).","disabled":true},{"key":"exceptProviderIds","value":"99","description":"Comma-separated provider ids to exclude.","disabled":true},{"key":"ref","value":"","description":"Referral id, falls back to the `ref` cookie.","disabled":true},{"key":"activationType","value":"SMS","description":"One of SMS, CALL_FLASH, CALL_VOICE, CALL_INTERACTIVE, RENT_SMS. Unknown value silently falls back to SMS. RENT_SMS is accepted but rental is not a supported product yet — do not rely on it.","disabled":true},{"key":"fixedPrice","value":"true","description":"Literal 'true'/'false'. Requires maxPrice. When 'true', the charge is locked to exactly maxPrice instead of the usual hold-then-settle-at-real-price flow. [flag: api_fixed_price_enabled]","disabled":true}]},"description":"Purchase a phone number for a service/country.\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nAccepted but currently ignored (no validation rule, silently dropped, no error): operator, phoneException, minPrice.\n\nAutomatic country detection (e.g. `country=any`) is not supported: `country` must be a numeric country code — a non-numeric or unknown country returns BAD_COUNTRY.\n\nComma-separated lists on this method are supported for providerIds/exceptProviderIds only. Top-level `service`/`country` do not accept comma lists here — that capability is coming soon on the price-lookup methods (getPrices/getFreePrices/getPricesV2/getPricesV3) only.\n\ngetNumberTest behaves exactly like getNumber, but is the documented way to explicitly pass activationType/testParams."},"status":"Too Many Requests","code":429,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"Too Many Requests","_postman_previewlanguage":"text"},{"name":"BAD_KEY","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getNumber&api_key={{api_key}}&service=tg&country=6","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getNumber","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"sms_activate-style service code."},{"key":"country","value":"6","description":"Numeric country code (sms_activate_code)."},{"key":"multiple","value":"false","description":"Require a variation that allows multiple SMS to the same number.","disabled":true},{"key":"maxPrice","value":"0.2","description":"Ceiling price in USD, 4dp. <=0/non-numeric is treated as \"not set\" (default sellable ceiling), never as \"unlimited\".","disabled":true},{"key":"providerIds","value":"235,240","description":"Comma-separated provider ids to restrict the purchase to (our differentiator, pre-existing).","disabled":true},{"key":"exceptProviderIds","value":"99","description":"Comma-separated provider ids to exclude.","disabled":true},{"key":"ref","value":"","description":"Referral id, falls back to the `ref` cookie.","disabled":true},{"key":"activationType","value":"SMS","description":"One of SMS, CALL_FLASH, CALL_VOICE, CALL_INTERACTIVE, RENT_SMS. Unknown value silently falls back to SMS. RENT_SMS is accepted but rental is not a supported product yet — do not rely on it.","disabled":true},{"key":"fixedPrice","value":"true","description":"Literal 'true'/'false'. Requires maxPrice. When 'true', the charge is locked to exactly maxPrice instead of the usual hold-then-settle-at-real-price flow. [flag: api_fixed_price_enabled]","disabled":true}]},"description":"Purchase a phone number for a service/country.\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nAccepted but currently ignored (no validation rule, silently dropped, no error): operator, phoneException, minPrice.\n\nAutomatic country detection (e.g. `country=any`) is not supported: `country` must be a numeric country code — a non-numeric or unknown country returns BAD_COUNTRY.\n\nComma-separated lists on this method are supported for providerIds/exceptProviderIds only. Top-level `service`/`country` do not accept comma lists here — that capability is coming soon on the price-lookup methods (getPrices/getFreePrices/getPricesV2/getPricesV3) only.\n\ngetNumberTest behaves exactly like getNumber, but is the documented way to explicitly pass activationType/testParams."},"status":"Unauthorized","code":401,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"BAD_KEY","_postman_previewlanguage":"text"}]},{"name":"setStatus","request":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=setStatus&api_key={{api_key}}&id=557860099&status=8","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"setStatus","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"id","value":"557860099","description":"Activation id (activation_code)."},{"key":"status","value":"8","description":"One of 1 (ACCESS_READY), 3 (ACCESS_RETRY_GET), 6 (ACCESS_ACTIVATION), 8 (ACCESS_CANCEL), or -1 (accepted as an alias of 8/cancel). [flag: api_setstatus_minus1_enabled]"}]},"description":"Change the status of an activation (ready/retry/cancel/complete).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nThe response is always a plain status token, never a JSON envelope — use setStatusV2 if you need JSON."},"response":[{"name":"Success","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=setStatus&api_key={{api_key}}&id=557860099&status=8","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"setStatus","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"id","value":"557860099","description":"Activation id (activation_code)."},{"key":"status","value":"8","description":"One of 1 (ACCESS_READY), 3 (ACCESS_RETRY_GET), 6 (ACCESS_ACTIVATION), 8 (ACCESS_CANCEL), or -1 (accepted as an alias of 8/cancel). [flag: api_setstatus_minus1_enabled]"}]},"description":"Change the status of an activation (ready/retry/cancel/complete).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nThe response is always a plain status token, never a JSON envelope — use setStatusV2 if you need JSON."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"ACCESS_READY","_postman_previewlanguage":"text"},{"name":"Success (2)","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=setStatus&api_key={{api_key}}&id=557860099&status=8","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"setStatus","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"id","value":"557860099","description":"Activation id (activation_code)."},{"key":"status","value":"8","description":"One of 1 (ACCESS_READY), 3 (ACCESS_RETRY_GET), 6 (ACCESS_ACTIVATION), 8 (ACCESS_CANCEL), or -1 (accepted as an alias of 8/cancel). [flag: api_setstatus_minus1_enabled]"}]},"description":"Change the status of an activation (ready/retry/cancel/complete).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nThe response is always a plain status token, never a JSON envelope — use setStatusV2 if you need JSON."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"ACCESS_RETRY_GET","_postman_previewlanguage":"text"},{"name":"Success (3)","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=setStatus&api_key={{api_key}}&id=557860099&status=8","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"setStatus","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"id","value":"557860099","description":"Activation id (activation_code)."},{"key":"status","value":"8","description":"One of 1 (ACCESS_READY), 3 (ACCESS_RETRY_GET), 6 (ACCESS_ACTIVATION), 8 (ACCESS_CANCEL), or -1 (accepted as an alias of 8/cancel). [flag: api_setstatus_minus1_enabled]"}]},"description":"Change the status of an activation (ready/retry/cancel/complete).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nThe response is always a plain status token, never a JSON envelope — use setStatusV2 if you need JSON."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"ACCESS_ACTIVATION","_postman_previewlanguage":"text"},{"name":"Success (4)","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=setStatus&api_key={{api_key}}&id=557860099&status=8","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"setStatus","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"id","value":"557860099","description":"Activation id (activation_code)."},{"key":"status","value":"8","description":"One of 1 (ACCESS_READY), 3 (ACCESS_RETRY_GET), 6 (ACCESS_ACTIVATION), 8 (ACCESS_CANCEL), or -1 (accepted as an alias of 8/cancel). [flag: api_setstatus_minus1_enabled]"}]},"description":"Change the status of an activation (ready/retry/cancel/complete).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nThe response is always a plain status token, never a JSON envelope — use setStatusV2 if you need JSON."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"ACCESS_CANCEL","_postman_previewlanguage":"text"},{"name":"NO_ACTIVATION","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=setStatus&api_key={{api_key}}&id=557860099&status=8","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"setStatus","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"id","value":"557860099","description":"Activation id (activation_code)."},{"key":"status","value":"8","description":"One of 1 (ACCESS_READY), 3 (ACCESS_RETRY_GET), 6 (ACCESS_ACTIVATION), 8 (ACCESS_CANCEL), or -1 (accepted as an alias of 8/cancel). [flag: api_setstatus_minus1_enabled]"}]},"description":"Change the status of an activation (ready/retry/cancel/complete).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nThe response is always a plain status token, never a JSON envelope — use setStatusV2 if you need JSON."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"NO_ACTIVATION","_postman_previewlanguage":"text"},{"name":"BAD_STATUS","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=setStatus&api_key={{api_key}}&id=557860099&status=8","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"setStatus","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"id","value":"557860099","description":"Activation id (activation_code)."},{"key":"status","value":"8","description":"One of 1 (ACCESS_READY), 3 (ACCESS_RETRY_GET), 6 (ACCESS_ACTIVATION), 8 (ACCESS_CANCEL), or -1 (accepted as an alias of 8/cancel). [flag: api_setstatus_minus1_enabled]"}]},"description":"Change the status of an activation (ready/retry/cancel/complete).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nThe response is always a plain status token, never a JSON envelope — use setStatusV2 if you need JSON."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"BAD_STATUS","_postman_previewlanguage":"text"},{"name":"EARLY_CANCEL_DENIED","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=setStatus&api_key={{api_key}}&id=557860099&status=8","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"setStatus","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"id","value":"557860099","description":"Activation id (activation_code)."},{"key":"status","value":"8","description":"One of 1 (ACCESS_READY), 3 (ACCESS_RETRY_GET), 6 (ACCESS_ACTIVATION), 8 (ACCESS_CANCEL), or -1 (accepted as an alias of 8/cancel). [flag: api_setstatus_minus1_enabled]"}]},"description":"Change the status of an activation (ready/retry/cancel/complete).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nThe response is always a plain status token, never a JSON envelope — use setStatusV2 if you need JSON."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"EARLY_CANCEL_DENIED","_postman_previewlanguage":"text"},{"name":"BAD_KEY","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=setStatus&api_key={{api_key}}&id=557860099&status=8","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"setStatus","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"id","value":"557860099","description":"Activation id (activation_code)."},{"key":"status","value":"8","description":"One of 1 (ACCESS_READY), 3 (ACCESS_RETRY_GET), 6 (ACCESS_ACTIVATION), 8 (ACCESS_CANCEL), or -1 (accepted as an alias of 8/cancel). [flag: api_setstatus_minus1_enabled]"}]},"description":"Change the status of an activation (ready/retry/cancel/complete).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nThe response is always a plain status token, never a JSON envelope — use setStatusV2 if you need JSON."},"status":"Unauthorized","code":401,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"BAD_KEY","_postman_previewlanguage":"text"}]},{"name":"getStatus","request":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getStatus&api_key={{api_key}}&id=557860099","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getStatus","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"id","value":"557860099","description":"Activation id."},{"key":"full_text","value":"false","description":"Return the full multi-word text segment instead of truncating to code:status.","disabled":true}]},"description":"Poll the status/code of an activation.\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET."},"response":[{"name":"Success","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getStatus&api_key={{api_key}}&id=557860099","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getStatus","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"id","value":"557860099","description":"Activation id."},{"key":"full_text","value":"false","description":"Return the full multi-word text segment instead of truncating to code:status.","disabled":true}]},"description":"Poll the status/code of an activation.\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"STATUS_WAIT_CODE","_postman_previewlanguage":"text"},{"name":"Success (2)","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getStatus&api_key={{api_key}}&id=557860099","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getStatus","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"id","value":"557860099","description":"Activation id."},{"key":"full_text","value":"false","description":"Return the full multi-word text segment instead of truncating to code:status.","disabled":true}]},"description":"Poll the status/code of an activation.\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"STATUS_WAIT_RETRY:8522","_postman_previewlanguage":"text"},{"name":"Success (3)","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getStatus&api_key={{api_key}}&id=557860099","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getStatus","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"id","value":"557860099","description":"Activation id."},{"key":"full_text","value":"false","description":"Return the full multi-word text segment instead of truncating to code:status.","disabled":true}]},"description":"Poll the status/code of an activation.\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"STATUS_OK:852508","_postman_previewlanguage":"text"},{"name":"Success (4)","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getStatus&api_key={{api_key}}&id=557860099","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getStatus","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"id","value":"557860099","description":"Activation id."},{"key":"full_text","value":"false","description":"Return the full multi-word text segment instead of truncating to code:status.","disabled":true}]},"description":"Poll the status/code of an activation.\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"ACCESS_CANCEL","_postman_previewlanguage":"text"},{"name":"NO_ACTIVATION","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getStatus&api_key={{api_key}}&id=557860099","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getStatus","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"id","value":"557860099","description":"Activation id."},{"key":"full_text","value":"false","description":"Return the full multi-word text segment instead of truncating to code:status.","disabled":true}]},"description":"Poll the status/code of an activation.\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"NO_ACTIVATION","_postman_previewlanguage":"text"},{"name":"BAD_ACTION","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getStatus&api_key={{api_key}}&id=557860099","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getStatus","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"id","value":"557860099","description":"Activation id."},{"key":"full_text","value":"false","description":"Return the full multi-word text segment instead of truncating to code:status.","disabled":true}]},"description":"Poll the status/code of an activation.\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"BAD_ACTION","_postman_previewlanguage":"text"},{"name":"BAD_KEY","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getStatus&api_key={{api_key}}&id=557860099","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getStatus","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"id","value":"557860099","description":"Activation id."},{"key":"full_text","value":"false","description":"Return the full multi-word text segment instead of truncating to code:status.","disabled":true}]},"description":"Poll the status/code of an activation.\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET."},"status":"Unauthorized","code":401,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"BAD_KEY","_postman_previewlanguage":"text"}]},{"name":"getPrices","request":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getPrices&api_key={{api_key}}","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getPrices","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"Filter to one service code. Comma-separated lists (e.g. 'tg,go') are coming soon. [flag: api_prices_comma_list_enabled]","disabled":true},{"key":"country","value":"6","description":"Filter to one numeric country code. Comma-separated lists (e.g. '6,33') are coming soon. [flag: api_prices_comma_list_enabled]","disabled":true}]},"description":"Flat price/count map by country and service.\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nAn unknown or removed service/country code returns BAD_SERVICE/BAD_COUNTRY. A valid code that simply has no offered variation for the pair still yields an empty result (the key is omitted).\n\nComma-separated lists (when enabled): each token is validated the same way as a single value; if none of the listed codes exist, BAD_SERVICE/BAD_COUNTRY is returned."},"response":[{"name":"Success","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getPrices&api_key={{api_key}}","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getPrices","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"Filter to one service code. Comma-separated lists (e.g. 'tg,go') are coming soon. [flag: api_prices_comma_list_enabled]","disabled":true},{"key":"country","value":"6","description":"Filter to one numeric country code. Comma-separated lists (e.g. '6,33') are coming soon. [flag: api_prices_comma_list_enabled]","disabled":true}]},"description":"Flat price/count map by country and service.\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nAn unknown or removed service/country code returns BAD_SERVICE/BAD_COUNTRY. A valid code that simply has no offered variation for the pair still yields an empty result (the key is omitted).\n\nComma-separated lists (when enabled): each token is validated the same way as a single value; if none of the listed codes exist, BAD_SERVICE/BAD_COUNTRY is returned."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n    \"6\": {\n        \"tg\": {\n            \"cost\": \"0.1491\",\n            \"count\": 25370\n        }\n    }\n}","_postman_previewlanguage":"json"},{"name":"BAD_SERVICE","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getPrices&api_key={{api_key}}","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getPrices","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"Filter to one service code. Comma-separated lists (e.g. 'tg,go') are coming soon. [flag: api_prices_comma_list_enabled]","disabled":true},{"key":"country","value":"6","description":"Filter to one numeric country code. Comma-separated lists (e.g. '6,33') are coming soon. [flag: api_prices_comma_list_enabled]","disabled":true}]},"description":"Flat price/count map by country and service.\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nAn unknown or removed service/country code returns BAD_SERVICE/BAD_COUNTRY. A valid code that simply has no offered variation for the pair still yields an empty result (the key is omitted).\n\nComma-separated lists (when enabled): each token is validated the same way as a single value; if none of the listed codes exist, BAD_SERVICE/BAD_COUNTRY is returned."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"BAD_SERVICE","_postman_previewlanguage":"text"},{"name":"BAD_COUNTRY","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getPrices&api_key={{api_key}}","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getPrices","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"Filter to one service code. Comma-separated lists (e.g. 'tg,go') are coming soon. [flag: api_prices_comma_list_enabled]","disabled":true},{"key":"country","value":"6","description":"Filter to one numeric country code. Comma-separated lists (e.g. '6,33') are coming soon. [flag: api_prices_comma_list_enabled]","disabled":true}]},"description":"Flat price/count map by country and service.\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nAn unknown or removed service/country code returns BAD_SERVICE/BAD_COUNTRY. A valid code that simply has no offered variation for the pair still yields an empty result (the key is omitted).\n\nComma-separated lists (when enabled): each token is validated the same way as a single value; if none of the listed codes exist, BAD_SERVICE/BAD_COUNTRY is returned."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"BAD_COUNTRY","_postman_previewlanguage":"text"},{"name":"BAD_VALUES","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getPrices&api_key={{api_key}}","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getPrices","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"Filter to one service code. Comma-separated lists (e.g. 'tg,go') are coming soon. [flag: api_prices_comma_list_enabled]","disabled":true},{"key":"country","value":"6","description":"Filter to one numeric country code. Comma-separated lists (e.g. '6,33') are coming soon. [flag: api_prices_comma_list_enabled]","disabled":true}]},"description":"Flat price/count map by country and service.\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nAn unknown or removed service/country code returns BAD_SERVICE/BAD_COUNTRY. A valid code that simply has no offered variation for the pair still yields an empty result (the key is omitted).\n\nComma-separated lists (when enabled): each token is validated the same way as a single value; if none of the listed codes exist, BAD_SERVICE/BAD_COUNTRY is returned."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"BAD_VALUES","_postman_previewlanguage":"text"},{"name":"BAD_KEY","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getPrices&api_key={{api_key}}","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getPrices","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"Filter to one service code. Comma-separated lists (e.g. 'tg,go') are coming soon. [flag: api_prices_comma_list_enabled]","disabled":true},{"key":"country","value":"6","description":"Filter to one numeric country code. Comma-separated lists (e.g. '6,33') are coming soon. [flag: api_prices_comma_list_enabled]","disabled":true}]},"description":"Flat price/count map by country and service.\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nAn unknown or removed service/country code returns BAD_SERVICE/BAD_COUNTRY. A valid code that simply has no offered variation for the pair still yields an empty result (the key is omitted).\n\nComma-separated lists (when enabled): each token is validated the same way as a single value; if none of the listed codes exist, BAD_SERVICE/BAD_COUNTRY is returned."},"status":"Unauthorized","code":401,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"BAD_KEY","_postman_previewlanguage":"text"}]},{"name":"getBalance","request":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getBalance&api_key={{api_key}}","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getBalance","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"format","value":"json","description":"Pass 'json' to get a JSON body instead of the plain-text token.","disabled":true}]},"description":"Current account balance.\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nBAD_KEY (HTTP 401) is returned before this method runs at all, whenever the API key is missing or invalid — this applies to every method, not just this one."},"response":[{"name":"Success","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getBalance&api_key={{api_key}}","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getBalance","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"format","value":"json","description":"Pass 'json' to get a JSON body instead of the plain-text token.","disabled":true}]},"description":"Current account balance.\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nBAD_KEY (HTTP 401) is returned before this method runs at all, whenever the API key is missing or invalid — this applies to every method, not just this one."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"ACCESS_BALANCE:12.3400","_postman_previewlanguage":"text"},{"name":"Success (2)","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getBalance&api_key={{api_key}}","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getBalance","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"format","value":"json","description":"Pass 'json' to get a JSON body instead of the plain-text token.","disabled":true}]},"description":"Current account balance.\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nBAD_KEY (HTTP 401) is returned before this method runs at all, whenever the API key is missing or invalid — this applies to every method, not just this one."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n    \"balance\": \"12.3400\",\n    \"currency\": 840\n}","_postman_previewlanguage":"json"},{"name":"BAD_KEY","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getBalance&api_key={{api_key}}","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getBalance","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"format","value":"json","description":"Pass 'json' to get a JSON body instead of the plain-text token.","disabled":true}]},"description":"Current account balance.\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nBAD_KEY (HTTP 401) is returned before this method runs at all, whenever the API key is missing or invalid — this applies to every method, not just this one."},"status":"Unauthorized","code":401,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"BAD_KEY","_postman_previewlanguage":"text"}]},{"name":"getServiceNumbersCount","request":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getServiceNumbersCount&api_key={{api_key}}&service=tg","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getServiceNumbersCount","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"Service code, must exist."}]},"description":"Available numbers count for a service/country.\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET."},"response":[{"name":"Success","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getServiceNumbersCount&api_key={{api_key}}&service=tg","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getServiceNumbersCount","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"Service code, must exist."}]},"description":"Available numbers count for a service/country.\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"[\n    {\n        \"countryCode\": \"6\",\n        \"numbersCount\": 25370\n    }\n]","_postman_previewlanguage":"json"},{"name":"BAD_SERVICE","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getServiceNumbersCount&api_key={{api_key}}&service=tg","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getServiceNumbersCount","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"Service code, must exist."}]},"description":"Available numbers count for a service/country.\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"BAD_SERVICE","_postman_previewlanguage":"text"},{"name":"BAD_KEY","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getServiceNumbersCount&api_key={{api_key}}&service=tg","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getServiceNumbersCount","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"Service code, must exist."}]},"description":"Available numbers count for a service/country.\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET."},"status":"Unauthorized","code":401,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"BAD_KEY","_postman_previewlanguage":"text"}]},{"name":"getProviders","request":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getProviders&api_key={{api_key}}","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getProviders","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"Filter by service code.","disabled":true},{"key":"country","value":"US","description":"Filter by country code.","disabled":true}]},"description":"Public provider list (id/name/numbers_count/delivery_percent/number_lifetime, no price).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET."},"response":[{"name":"Success","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getProviders&api_key={{api_key}}","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getProviders","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"Filter by service code.","disabled":true},{"key":"country","value":"US","description":"Filter by country code.","disabled":true}]},"description":"Public provider list (id/name/numbers_count/delivery_percent/number_lifetime, no price).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"text/html; charset=utf-8"}],"body":"<html><head><meta charset=\"utf-8\"></head><body>[{\"id\":235,\"name\":\"Provider235\",\"numbers_count\":5603,\"delivery_percent\":97.5,\"number_lifetime\":1200}]</body></html>","_postman_previewlanguage":"text"},{"name":"BAD_VALUES","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getProviders&api_key={{api_key}}","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getProviders","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"Filter by service code.","disabled":true},{"key":"country","value":"US","description":"Filter by country code.","disabled":true}]},"description":"Public provider list (id/name/numbers_count/delivery_percent/number_lifetime, no price).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"BAD_VALUES","_postman_previewlanguage":"text"},{"name":"ERROR","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getProviders&api_key={{api_key}}","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getProviders","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"Filter by service code.","disabled":true},{"key":"country","value":"US","description":"Filter by country code.","disabled":true}]},"description":"Public provider list (id/name/numbers_count/delivery_percent/number_lifetime, no price).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"ERROR","_postman_previewlanguage":"text"},{"name":"BAD_KEY","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getProviders&api_key={{api_key}}","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getProviders","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"Filter by service code.","disabled":true},{"key":"country","value":"US","description":"Filter by country code.","disabled":true}]},"description":"Public provider list (id/name/numbers_count/delivery_percent/number_lifetime, no price).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET."},"status":"Unauthorized","code":401,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"BAD_KEY","_postman_previewlanguage":"text"}]},{"name":"getServicesList","request":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getServicesList&api_key={{api_key}}","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getServicesList","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"country","value":"US","description":"Filter to services with at least one live variation in this country.","disabled":true},{"key":"lang","value":"en","description":"One of the 11 supported locales: en,ru,cn,es,pt,vn,id,hi,tr,ko,jp. Defaults to en, unsupported values fall back to en.","disabled":true}]},"description":"Catalog of services (code + name), optionally localized.\n\nGated by flag `api_catalog_enabled`, default OFF. While OFF: plain-text `BAD_ACTION`, HTTP 200 (same as an unknown action).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nThe only failure mode of this method is a 200 success response with an empty services list — there is no dedicated error response."},"response":[{"name":"Success","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getServicesList&api_key={{api_key}}","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getServicesList","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"country","value":"US","description":"Filter to services with at least one live variation in this country.","disabled":true},{"key":"lang","value":"en","description":"One of the 11 supported locales: en,ru,cn,es,pt,vn,id,hi,tr,ko,jp. Defaults to en, unsupported values fall back to en.","disabled":true}]},"description":"Catalog of services (code + name), optionally localized.\n\nGated by flag `api_catalog_enabled`, default OFF. While OFF: plain-text `BAD_ACTION`, HTTP 200 (same as an unknown action).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nThe only failure mode of this method is a 200 success response with an empty services list — there is no dedicated error response."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n    \"status\": \"success\",\n    \"services\": [\n        {\n            \"code\": \"tg\",\n            \"name\": \"Telegram\"\n        }\n    ]\n}","_postman_previewlanguage":"json"},{"name":"BAD_KEY","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getServicesList&api_key={{api_key}}","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getServicesList","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"country","value":"US","description":"Filter to services with at least one live variation in this country.","disabled":true},{"key":"lang","value":"en","description":"One of the 11 supported locales: en,ru,cn,es,pt,vn,id,hi,tr,ko,jp. Defaults to en, unsupported values fall back to en.","disabled":true}]},"description":"Catalog of services (code + name), optionally localized.\n\nGated by flag `api_catalog_enabled`, default OFF. While OFF: plain-text `BAD_ACTION`, HTTP 200 (same as an unknown action).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nThe only failure mode of this method is a 200 success response with an empty services list — there is no dedicated error response."},"status":"Unauthorized","code":401,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"BAD_KEY","_postman_previewlanguage":"text"}]},{"name":"getCountries","request":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getCountries&api_key={{api_key}}","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getCountries","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."}]},"description":"Catalog of countries (id + localized names).\n\nGated by flag `api_catalog_enabled`, default OFF. While OFF: plain-text `BAD_ACTION`, HTTP 200 (same as an unknown action).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nDegrades to an empty JSON array `[]` on unexpected failure rather than an error response."},"response":[{"name":"Success","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getCountries&api_key={{api_key}}","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getCountries","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."}]},"description":"Catalog of countries (id + localized names).\n\nGated by flag `api_catalog_enabled`, default OFF. While OFF: plain-text `BAD_ACTION`, HTTP 200 (same as an unknown action).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nDegrades to an empty JSON array `[]` on unexpected failure rather than an error response."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"[\n    {\n        \"id\": 19,\n        \"rus\": \"Бразилия\",\n        \"eng\": \"Brazil\",\n        \"chn\": \"巴西\",\n        \"visible\": 1,\n        \"retry\": 1\n    }\n]","_postman_previewlanguage":"json"},{"name":"BAD_KEY","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getCountries&api_key={{api_key}}","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getCountries","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."}]},"description":"Catalog of countries (id + localized names).\n\nGated by flag `api_catalog_enabled`, default OFF. While OFF: plain-text `BAD_ACTION`, HTTP 200 (same as an unknown action).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nDegrades to an empty JSON array `[]` on unexpected failure rather than an error response."},"status":"Unauthorized","code":401,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"BAD_KEY","_postman_previewlanguage":"text"}]},{"name":"getActiveActivations","request":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getActiveActivations&api_key={{api_key}}","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getActiveActivations","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"start","value":"0","description":"Offset for pagination.","disabled":true},{"key":"limit","value":"50","description":"Page size, capped at 100 (non-positive/non-numeric falls back to the default 50).","disabled":true}]},"description":"List of currently active activations for the key owner.\n\nGated by flag `api_active_activations_enabled`, default OFF. While OFF: plain-text `BAD_ACTION`, HTTP 200 (same as an unknown action).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nNever errors on unexpected failure (same philosophy as getServicesList/getCountries) — degrades to an empty `data: []` list with status still \"success\".\n\nactivationStatus values: 1=WAIT_CODE, 2=WAIT_ACCEPTING, 3=WAIT_NEXT_SMS, 6=OK, 7=REFUND, 8=CANCEL — this numbering is specific to us and may differ from other SMS APIs you have used."},"response":[{"name":"Success","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getActiveActivations&api_key={{api_key}}","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getActiveActivations","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"start","value":"0","description":"Offset for pagination.","disabled":true},{"key":"limit","value":"50","description":"Page size, capped at 100 (non-positive/non-numeric falls back to the default 50).","disabled":true}]},"description":"List of currently active activations for the key owner.\n\nGated by flag `api_active_activations_enabled`, default OFF. While OFF: plain-text `BAD_ACTION`, HTTP 200 (same as an unknown action).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nNever errors on unexpected failure (same philosophy as getServicesList/getCountries) — degrades to an empty `data: []` list with status still \"success\".\n\nactivationStatus values: 1=WAIT_CODE, 2=WAIT_ACCEPTING, 3=WAIT_NEXT_SMS, 6=OK, 7=REFUND, 8=CANCEL — this numbering is specific to us and may differ from other SMS APIs you have used."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n    \"status\": \"success\",\n    \"data\": [\n        {\n            \"activationId\": \"557860099\",\n            \"serviceCode\": \"tg\",\n            \"phoneNumber\": \"18734721259\",\n            \"activationCost\": 0.1453,\n            \"activationStatus\": \"6\",\n            \"smsCode\": \"\",\n            \"smsText\": \"\",\n            \"activationTime\": \"2026-07-02T18:09:54+00:00\",\n            \"countryCode\": 6,\n            \"countryName\": \"United States\",\n            \"canGetAnotherSms\": true,\n            \"currency\": 840\n        }\n    ]\n}","_postman_previewlanguage":"json"},{"name":"BAD_KEY","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getActiveActivations&api_key={{api_key}}","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getActiveActivations","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"start","value":"0","description":"Offset for pagination.","disabled":true},{"key":"limit","value":"50","description":"Page size, capped at 100 (non-positive/non-numeric falls back to the default 50).","disabled":true}]},"description":"List of currently active activations for the key owner.\n\nGated by flag `api_active_activations_enabled`, default OFF. While OFF: plain-text `BAD_ACTION`, HTTP 200 (same as an unknown action).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nNever errors on unexpected failure (same philosophy as getServicesList/getCountries) — degrades to an empty `data: []` list with status still \"success\".\n\nactivationStatus values: 1=WAIT_CODE, 2=WAIT_ACCEPTING, 3=WAIT_NEXT_SMS, 6=OK, 7=REFUND, 8=CANCEL — this numbering is specific to us and may differ from other SMS APIs you have used."},"status":"Unauthorized","code":401,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"BAD_KEY","_postman_previewlanguage":"text"}]}]},{"name":"V2","item":[{"name":"getFreePrices","request":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getFreePrices&api_key={{api_key}}","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getFreePrices","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"Filter to one service code. Comma-separated lists (e.g. 'tg,go') are coming soon. [flag: api_prices_comma_list_enabled]","disabled":true},{"key":"country","value":"6","description":"Filter to one numeric country code. Comma-separated lists (e.g. '6,33') are coming soon. [flag: api_prices_comma_list_enabled]","disabled":true}]},"description":"Price-bucket detail map (price => count, multi-SMS flag) by country/service.\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET."},"response":[{"name":"Success","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getFreePrices&api_key={{api_key}}","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getFreePrices","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"Filter to one service code. Comma-separated lists (e.g. 'tg,go') are coming soon. [flag: api_prices_comma_list_enabled]","disabled":true},{"key":"country","value":"6","description":"Filter to one numeric country code. Comma-separated lists (e.g. '6,33') are coming soon. [flag: api_prices_comma_list_enabled]","disabled":true}]},"description":"Price-bucket detail map (price => count, multi-SMS flag) by country/service.\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n    \"6\": {\n        \"tg\": {\n            \"prices\": {\n                \"0.1491\": 100,\n                \"0.1650\": 40\n            },\n            \"has_multi\": {\n                \"0.1491\": false,\n                \"0.1650\": true\n            }\n        }\n    }\n}","_postman_previewlanguage":"json"},{"name":"BAD_SERVICE","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getFreePrices&api_key={{api_key}}","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getFreePrices","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"Filter to one service code. Comma-separated lists (e.g. 'tg,go') are coming soon. [flag: api_prices_comma_list_enabled]","disabled":true},{"key":"country","value":"6","description":"Filter to one numeric country code. Comma-separated lists (e.g. '6,33') are coming soon. [flag: api_prices_comma_list_enabled]","disabled":true}]},"description":"Price-bucket detail map (price => count, multi-SMS flag) by country/service.\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"BAD_SERVICE","_postman_previewlanguage":"text"},{"name":"BAD_COUNTRY","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getFreePrices&api_key={{api_key}}","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getFreePrices","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"Filter to one service code. Comma-separated lists (e.g. 'tg,go') are coming soon. [flag: api_prices_comma_list_enabled]","disabled":true},{"key":"country","value":"6","description":"Filter to one numeric country code. Comma-separated lists (e.g. '6,33') are coming soon. [flag: api_prices_comma_list_enabled]","disabled":true}]},"description":"Price-bucket detail map (price => count, multi-SMS flag) by country/service.\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"BAD_COUNTRY","_postman_previewlanguage":"text"},{"name":"BAD_VALUES","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getFreePrices&api_key={{api_key}}","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getFreePrices","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"Filter to one service code. Comma-separated lists (e.g. 'tg,go') are coming soon. [flag: api_prices_comma_list_enabled]","disabled":true},{"key":"country","value":"6","description":"Filter to one numeric country code. Comma-separated lists (e.g. '6,33') are coming soon. [flag: api_prices_comma_list_enabled]","disabled":true}]},"description":"Price-bucket detail map (price => count, multi-SMS flag) by country/service.\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"BAD_VALUES","_postman_previewlanguage":"text"},{"name":"BAD_KEY","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getFreePrices&api_key={{api_key}}","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getFreePrices","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"Filter to one service code. Comma-separated lists (e.g. 'tg,go') are coming soon. [flag: api_prices_comma_list_enabled]","disabled":true},{"key":"country","value":"6","description":"Filter to one numeric country code. Comma-separated lists (e.g. '6,33') are coming soon. [flag: api_prices_comma_list_enabled]","disabled":true}]},"description":"Price-bucket detail map (price => count, multi-SMS flag) by country/service.\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET."},"status":"Unauthorized","code":401,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"BAD_KEY","_postman_previewlanguage":"text"}]},{"name":"getPricesV2","request":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getPricesV2&api_key={{api_key}}","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getPricesV2","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"Filter to one service code. Comma-separated lists (e.g. 'tg,go') are coming soon. [flag: api_prices_comma_list_enabled]","disabled":true},{"key":"country","value":"6","description":"Filter to one numeric country code. Comma-separated lists (e.g. '6,33') are coming soon. [flag: api_prices_comma_list_enabled]","disabled":true}]},"description":"Alias of getFreePrices.\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET."},"response":[{"name":"Success","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getPricesV2&api_key={{api_key}}","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getPricesV2","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"Filter to one service code. Comma-separated lists (e.g. 'tg,go') are coming soon. [flag: api_prices_comma_list_enabled]","disabled":true},{"key":"country","value":"6","description":"Filter to one numeric country code. Comma-separated lists (e.g. '6,33') are coming soon. [flag: api_prices_comma_list_enabled]","disabled":true}]},"description":"Alias of getFreePrices.\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n    \"6\": {\n        \"tg\": {\n            \"prices\": {\n                \"0.1491\": 100,\n                \"0.1650\": 40\n            },\n            \"has_multi\": {\n                \"0.1491\": false,\n                \"0.1650\": true\n            }\n        }\n    }\n}","_postman_previewlanguage":"json"},{"name":"BAD_SERVICE","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getPricesV2&api_key={{api_key}}","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getPricesV2","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"Filter to one service code. Comma-separated lists (e.g. 'tg,go') are coming soon. [flag: api_prices_comma_list_enabled]","disabled":true},{"key":"country","value":"6","description":"Filter to one numeric country code. Comma-separated lists (e.g. '6,33') are coming soon. [flag: api_prices_comma_list_enabled]","disabled":true}]},"description":"Alias of getFreePrices.\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"BAD_SERVICE","_postman_previewlanguage":"text"},{"name":"BAD_COUNTRY","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getPricesV2&api_key={{api_key}}","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getPricesV2","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"Filter to one service code. Comma-separated lists (e.g. 'tg,go') are coming soon. [flag: api_prices_comma_list_enabled]","disabled":true},{"key":"country","value":"6","description":"Filter to one numeric country code. Comma-separated lists (e.g. '6,33') are coming soon. [flag: api_prices_comma_list_enabled]","disabled":true}]},"description":"Alias of getFreePrices.\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"BAD_COUNTRY","_postman_previewlanguage":"text"},{"name":"BAD_VALUES","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getPricesV2&api_key={{api_key}}","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getPricesV2","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"Filter to one service code. Comma-separated lists (e.g. 'tg,go') are coming soon. [flag: api_prices_comma_list_enabled]","disabled":true},{"key":"country","value":"6","description":"Filter to one numeric country code. Comma-separated lists (e.g. '6,33') are coming soon. [flag: api_prices_comma_list_enabled]","disabled":true}]},"description":"Alias of getFreePrices.\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"BAD_VALUES","_postman_previewlanguage":"text"},{"name":"BAD_KEY","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getPricesV2&api_key={{api_key}}","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getPricesV2","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"Filter to one service code. Comma-separated lists (e.g. 'tg,go') are coming soon. [flag: api_prices_comma_list_enabled]","disabled":true},{"key":"country","value":"6","description":"Filter to one numeric country code. Comma-separated lists (e.g. '6,33') are coming soon. [flag: api_prices_comma_list_enabled]","disabled":true}]},"description":"Alias of getFreePrices.\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET."},"status":"Unauthorized","code":401,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"BAD_KEY","_postman_previewlanguage":"text"}]},{"name":"getNumberV2","request":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getNumberV2&api_key={{api_key}}&service=tg&country=6","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getNumberV2","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"sms_activate-style service code."},{"key":"country","value":"6","description":"Numeric country code (sms_activate_code)."},{"key":"multiple","value":"false","description":"Require a variation that allows multiple SMS to the same number.","disabled":true},{"key":"maxPrice","value":"0.2","description":"Ceiling price in USD, 4dp. <=0/non-numeric is treated as \"not set\".","disabled":true},{"key":"providerIds","value":"235,240","description":"Comma-separated provider ids.","disabled":true},{"key":"exceptProviderIds","value":"99","description":"Comma-separated provider ids to exclude.","disabled":true},{"key":"ref","value":"","description":"Referral id.","disabled":true},{"key":"activationType","value":"SMS","description":"SMS (default), CALL_FLASH, CALL_VOICE, CALL_INTERACTIVE, RENT_SMS (accepted, rental unsupported).","disabled":true},{"key":"fixedPrice","value":"true","description":"Literal 'true'/'false'. Requires maxPrice. When 'true', the charge is locked to exactly maxPrice instead of the usual hold-then-settle-at-real-price flow. [flag: api_fixed_price_enabled]","disabled":true}]},"description":"Purchase a phone number, full typed JSON success/error envelope.\n\nGated by flag `api_get_number_v2_enabled`, default OFF. While OFF: plain-text `BAD_ACTION`, HTTP 200 (same as an unknown action).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET."},"response":[{"name":"Success","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getNumberV2&api_key={{api_key}}&service=tg&country=6","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getNumberV2","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"sms_activate-style service code."},{"key":"country","value":"6","description":"Numeric country code (sms_activate_code)."},{"key":"multiple","value":"false","description":"Require a variation that allows multiple SMS to the same number.","disabled":true},{"key":"maxPrice","value":"0.2","description":"Ceiling price in USD, 4dp. <=0/non-numeric is treated as \"not set\".","disabled":true},{"key":"providerIds","value":"235,240","description":"Comma-separated provider ids.","disabled":true},{"key":"exceptProviderIds","value":"99","description":"Comma-separated provider ids to exclude.","disabled":true},{"key":"ref","value":"","description":"Referral id.","disabled":true},{"key":"activationType","value":"SMS","description":"SMS (default), CALL_FLASH, CALL_VOICE, CALL_INTERACTIVE, RENT_SMS (accepted, rental unsupported).","disabled":true},{"key":"fixedPrice","value":"true","description":"Literal 'true'/'false'. Requires maxPrice. When 'true', the charge is locked to exactly maxPrice instead of the usual hold-then-settle-at-real-price flow. [flag: api_fixed_price_enabled]","disabled":true}]},"description":"Purchase a phone number, full typed JSON success/error envelope.\n\nGated by flag `api_get_number_v2_enabled`, default OFF. While OFF: plain-text `BAD_ACTION`, HTTP 200 (same as an unknown action).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n    \"activationId\": \"557860099\",\n    \"phoneNumber\": \"18734721259\",\n    \"activationCost\": 0.05,\n    \"currency\": 840,\n    \"countryCode\": 6,\n    \"countryPhoneCode\": 1,\n    \"canGetAnotherSms\": true,\n    \"activationTime\": \"2026-07-02T18:09:54+00:00\",\n    \"activationEndTime\": \"2026-07-02T18:29:54+00:00\",\n    \"activationOperator\": \"any\"\n}","_postman_previewlanguage":"json"},{"name":"NO_NUMBERS","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getNumberV2&api_key={{api_key}}&service=tg&country=6","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getNumberV2","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"sms_activate-style service code."},{"key":"country","value":"6","description":"Numeric country code (sms_activate_code)."},{"key":"multiple","value":"false","description":"Require a variation that allows multiple SMS to the same number.","disabled":true},{"key":"maxPrice","value":"0.2","description":"Ceiling price in USD, 4dp. <=0/non-numeric is treated as \"not set\".","disabled":true},{"key":"providerIds","value":"235,240","description":"Comma-separated provider ids.","disabled":true},{"key":"exceptProviderIds","value":"99","description":"Comma-separated provider ids to exclude.","disabled":true},{"key":"ref","value":"","description":"Referral id.","disabled":true},{"key":"activationType","value":"SMS","description":"SMS (default), CALL_FLASH, CALL_VOICE, CALL_INTERACTIVE, RENT_SMS (accepted, rental unsupported).","disabled":true},{"key":"fixedPrice","value":"true","description":"Literal 'true'/'false'. Requires maxPrice. When 'true', the charge is locked to exactly maxPrice instead of the usual hold-then-settle-at-real-price flow. [flag: api_fixed_price_enabled]","disabled":true}]},"description":"Purchase a phone number, full typed JSON success/error envelope.\n\nGated by flag `api_get_number_v2_enabled`, default OFF. While OFF: plain-text `BAD_ACTION`, HTTP 200 (same as an unknown action).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n    \"title\": \"NO_NUMBERS\",\n    \"details\": \"No numbers available for the requested service and country\"\n}","_postman_previewlanguage":"json"},{"name":"NO_BALANCE","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getNumberV2&api_key={{api_key}}&service=tg&country=6","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getNumberV2","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"sms_activate-style service code."},{"key":"country","value":"6","description":"Numeric country code (sms_activate_code)."},{"key":"multiple","value":"false","description":"Require a variation that allows multiple SMS to the same number.","disabled":true},{"key":"maxPrice","value":"0.2","description":"Ceiling price in USD, 4dp. <=0/non-numeric is treated as \"not set\".","disabled":true},{"key":"providerIds","value":"235,240","description":"Comma-separated provider ids.","disabled":true},{"key":"exceptProviderIds","value":"99","description":"Comma-separated provider ids to exclude.","disabled":true},{"key":"ref","value":"","description":"Referral id.","disabled":true},{"key":"activationType","value":"SMS","description":"SMS (default), CALL_FLASH, CALL_VOICE, CALL_INTERACTIVE, RENT_SMS (accepted, rental unsupported).","disabled":true},{"key":"fixedPrice","value":"true","description":"Literal 'true'/'false'. Requires maxPrice. When 'true', the charge is locked to exactly maxPrice instead of the usual hold-then-settle-at-real-price flow. [flag: api_fixed_price_enabled]","disabled":true}]},"description":"Purchase a phone number, full typed JSON success/error envelope.\n\nGated by flag `api_get_number_v2_enabled`, default OFF. While OFF: plain-text `BAD_ACTION`, HTTP 200 (same as an unknown action).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET."},"status":"Payment Required","code":402,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n    \"title\": \"NO_BALANCE\",\n    \"details\": \"Insufficient balance\"\n}","_postman_previewlanguage":"json"},{"name":"BAD_SERVICE","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getNumberV2&api_key={{api_key}}&service=tg&country=6","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getNumberV2","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"sms_activate-style service code."},{"key":"country","value":"6","description":"Numeric country code (sms_activate_code)."},{"key":"multiple","value":"false","description":"Require a variation that allows multiple SMS to the same number.","disabled":true},{"key":"maxPrice","value":"0.2","description":"Ceiling price in USD, 4dp. <=0/non-numeric is treated as \"not set\".","disabled":true},{"key":"providerIds","value":"235,240","description":"Comma-separated provider ids.","disabled":true},{"key":"exceptProviderIds","value":"99","description":"Comma-separated provider ids to exclude.","disabled":true},{"key":"ref","value":"","description":"Referral id.","disabled":true},{"key":"activationType","value":"SMS","description":"SMS (default), CALL_FLASH, CALL_VOICE, CALL_INTERACTIVE, RENT_SMS (accepted, rental unsupported).","disabled":true},{"key":"fixedPrice","value":"true","description":"Literal 'true'/'false'. Requires maxPrice. When 'true', the charge is locked to exactly maxPrice instead of the usual hold-then-settle-at-real-price flow. [flag: api_fixed_price_enabled]","disabled":true}]},"description":"Purchase a phone number, full typed JSON success/error envelope.\n\nGated by flag `api_get_number_v2_enabled`, default OFF. While OFF: plain-text `BAD_ACTION`, HTTP 200 (same as an unknown action).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n    \"title\": \"BAD_SERVICE\",\n    \"details\": \"This service/country combination is not available\"\n}","_postman_previewlanguage":"json"},{"name":"BAD_COUNTRY","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getNumberV2&api_key={{api_key}}&service=tg&country=6","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getNumberV2","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"sms_activate-style service code."},{"key":"country","value":"6","description":"Numeric country code (sms_activate_code)."},{"key":"multiple","value":"false","description":"Require a variation that allows multiple SMS to the same number.","disabled":true},{"key":"maxPrice","value":"0.2","description":"Ceiling price in USD, 4dp. <=0/non-numeric is treated as \"not set\".","disabled":true},{"key":"providerIds","value":"235,240","description":"Comma-separated provider ids.","disabled":true},{"key":"exceptProviderIds","value":"99","description":"Comma-separated provider ids to exclude.","disabled":true},{"key":"ref","value":"","description":"Referral id.","disabled":true},{"key":"activationType","value":"SMS","description":"SMS (default), CALL_FLASH, CALL_VOICE, CALL_INTERACTIVE, RENT_SMS (accepted, rental unsupported).","disabled":true},{"key":"fixedPrice","value":"true","description":"Literal 'true'/'false'. Requires maxPrice. When 'true', the charge is locked to exactly maxPrice instead of the usual hold-then-settle-at-real-price flow. [flag: api_fixed_price_enabled]","disabled":true}]},"description":"Purchase a phone number, full typed JSON success/error envelope.\n\nGated by flag `api_get_number_v2_enabled`, default OFF. While OFF: plain-text `BAD_ACTION`, HTTP 200 (same as an unknown action).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n    \"title\": \"BAD_COUNTRY\",\n    \"details\": \"Unknown country code.\"\n}","_postman_previewlanguage":"json"},{"name":"NO_PROVIDERS","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getNumberV2&api_key={{api_key}}&service=tg&country=6","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getNumberV2","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"sms_activate-style service code."},{"key":"country","value":"6","description":"Numeric country code (sms_activate_code)."},{"key":"multiple","value":"false","description":"Require a variation that allows multiple SMS to the same number.","disabled":true},{"key":"maxPrice","value":"0.2","description":"Ceiling price in USD, 4dp. <=0/non-numeric is treated as \"not set\".","disabled":true},{"key":"providerIds","value":"235,240","description":"Comma-separated provider ids.","disabled":true},{"key":"exceptProviderIds","value":"99","description":"Comma-separated provider ids to exclude.","disabled":true},{"key":"ref","value":"","description":"Referral id.","disabled":true},{"key":"activationType","value":"SMS","description":"SMS (default), CALL_FLASH, CALL_VOICE, CALL_INTERACTIVE, RENT_SMS (accepted, rental unsupported).","disabled":true},{"key":"fixedPrice","value":"true","description":"Literal 'true'/'false'. Requires maxPrice. When 'true', the charge is locked to exactly maxPrice instead of the usual hold-then-settle-at-real-price flow. [flag: api_fixed_price_enabled]","disabled":true}]},"description":"Purchase a phone number, full typed JSON success/error envelope.\n\nGated by flag `api_get_number_v2_enabled`, default OFF. While OFF: plain-text `BAD_ACTION`, HTTP 200 (same as an unknown action).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n    \"title\": \"NO_PROVIDERS\",\n    \"details\": \"None of the selected providers currently offer this service/country\"\n}","_postman_previewlanguage":"json"},{"name":"WRONG_MAX_PRICE","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getNumberV2&api_key={{api_key}}&service=tg&country=6","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getNumberV2","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"sms_activate-style service code."},{"key":"country","value":"6","description":"Numeric country code (sms_activate_code)."},{"key":"multiple","value":"false","description":"Require a variation that allows multiple SMS to the same number.","disabled":true},{"key":"maxPrice","value":"0.2","description":"Ceiling price in USD, 4dp. <=0/non-numeric is treated as \"not set\".","disabled":true},{"key":"providerIds","value":"235,240","description":"Comma-separated provider ids.","disabled":true},{"key":"exceptProviderIds","value":"99","description":"Comma-separated provider ids to exclude.","disabled":true},{"key":"ref","value":"","description":"Referral id.","disabled":true},{"key":"activationType","value":"SMS","description":"SMS (default), CALL_FLASH, CALL_VOICE, CALL_INTERACTIVE, RENT_SMS (accepted, rental unsupported).","disabled":true},{"key":"fixedPrice","value":"true","description":"Literal 'true'/'false'. Requires maxPrice. When 'true', the charge is locked to exactly maxPrice instead of the usual hold-then-settle-at-real-price flow. [flag: api_fixed_price_enabled]","disabled":true}]},"description":"Purchase a phone number, full typed JSON success/error envelope.\n\nGated by flag `api_get_number_v2_enabled`, default OFF. While OFF: plain-text `BAD_ACTION`, HTTP 200 (same as an unknown action).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET."},"status":"Bad Request","code":400,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n    \"title\": \"WRONG_MAX_PRICE\",\n    \"details\": \"The maximum price is less than the permitted price\",\n    \"info\": {\n        \"min\": 0.1453\n    }\n}","_postman_previewlanguage":"json"},{"name":"UNPROCESSABLE_ENTITY","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getNumberV2&api_key={{api_key}}&service=tg&country=6","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getNumberV2","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"sms_activate-style service code."},{"key":"country","value":"6","description":"Numeric country code (sms_activate_code)."},{"key":"multiple","value":"false","description":"Require a variation that allows multiple SMS to the same number.","disabled":true},{"key":"maxPrice","value":"0.2","description":"Ceiling price in USD, 4dp. <=0/non-numeric is treated as \"not set\".","disabled":true},{"key":"providerIds","value":"235,240","description":"Comma-separated provider ids.","disabled":true},{"key":"exceptProviderIds","value":"99","description":"Comma-separated provider ids to exclude.","disabled":true},{"key":"ref","value":"","description":"Referral id.","disabled":true},{"key":"activationType","value":"SMS","description":"SMS (default), CALL_FLASH, CALL_VOICE, CALL_INTERACTIVE, RENT_SMS (accepted, rental unsupported).","disabled":true},{"key":"fixedPrice","value":"true","description":"Literal 'true'/'false'. Requires maxPrice. When 'true', the charge is locked to exactly maxPrice instead of the usual hold-then-settle-at-real-price flow. [flag: api_fixed_price_enabled]","disabled":true}]},"description":"Purchase a phone number, full typed JSON success/error envelope.\n\nGated by flag `api_get_number_v2_enabled`, default OFF. While OFF: plain-text `BAD_ACTION`, HTTP 200 (same as an unknown action).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET."},"status":"Unprocessable Entity","code":422,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n    \"title\": \"UNPROCESSABLE_ENTITY\",\n    \"details\": \"The service field is required.\"\n}","_postman_previewlanguage":"json"},{"name":"Too Many Requests","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getNumberV2&api_key={{api_key}}&service=tg&country=6","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getNumberV2","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"sms_activate-style service code."},{"key":"country","value":"6","description":"Numeric country code (sms_activate_code)."},{"key":"multiple","value":"false","description":"Require a variation that allows multiple SMS to the same number.","disabled":true},{"key":"maxPrice","value":"0.2","description":"Ceiling price in USD, 4dp. <=0/non-numeric is treated as \"not set\".","disabled":true},{"key":"providerIds","value":"235,240","description":"Comma-separated provider ids.","disabled":true},{"key":"exceptProviderIds","value":"99","description":"Comma-separated provider ids to exclude.","disabled":true},{"key":"ref","value":"","description":"Referral id.","disabled":true},{"key":"activationType","value":"SMS","description":"SMS (default), CALL_FLASH, CALL_VOICE, CALL_INTERACTIVE, RENT_SMS (accepted, rental unsupported).","disabled":true},{"key":"fixedPrice","value":"true","description":"Literal 'true'/'false'. Requires maxPrice. When 'true', the charge is locked to exactly maxPrice instead of the usual hold-then-settle-at-real-price flow. [flag: api_fixed_price_enabled]","disabled":true}]},"description":"Purchase a phone number, full typed JSON success/error envelope.\n\nGated by flag `api_get_number_v2_enabled`, default OFF. While OFF: plain-text `BAD_ACTION`, HTTP 200 (same as an unknown action).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET."},"status":"Too Many Requests","code":429,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"Too Many Requests","_postman_previewlanguage":"text"},{"name":"BAD_KEY","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getNumberV2&api_key={{api_key}}&service=tg&country=6","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getNumberV2","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"sms_activate-style service code."},{"key":"country","value":"6","description":"Numeric country code (sms_activate_code)."},{"key":"multiple","value":"false","description":"Require a variation that allows multiple SMS to the same number.","disabled":true},{"key":"maxPrice","value":"0.2","description":"Ceiling price in USD, 4dp. <=0/non-numeric is treated as \"not set\".","disabled":true},{"key":"providerIds","value":"235,240","description":"Comma-separated provider ids.","disabled":true},{"key":"exceptProviderIds","value":"99","description":"Comma-separated provider ids to exclude.","disabled":true},{"key":"ref","value":"","description":"Referral id.","disabled":true},{"key":"activationType","value":"SMS","description":"SMS (default), CALL_FLASH, CALL_VOICE, CALL_INTERACTIVE, RENT_SMS (accepted, rental unsupported).","disabled":true},{"key":"fixedPrice","value":"true","description":"Literal 'true'/'false'. Requires maxPrice. When 'true', the charge is locked to exactly maxPrice instead of the usual hold-then-settle-at-real-price flow. [flag: api_fixed_price_enabled]","disabled":true}]},"description":"Purchase a phone number, full typed JSON success/error envelope.\n\nGated by flag `api_get_number_v2_enabled`, default OFF. While OFF: plain-text `BAD_ACTION`, HTTP 200 (same as an unknown action).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET."},"status":"Unauthorized","code":401,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"BAD_KEY","_postman_previewlanguage":"text"}]},{"name":"getStatusV2","request":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getStatusV2&api_key={{api_key}}&id=557860099","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getStatusV2","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"id","value":"557860099","description":"Activation id."}]},"description":"Activation status as JSON (verificationType + sms block).\n\nGated by flag `api_get_status_v2_enabled`, default OFF. While OFF: plain-text `BAD_ACTION`, HTTP 200 (same as an unknown action).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET."},"response":[{"name":"Success","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getStatusV2&api_key={{api_key}}&id=557860099","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getStatusV2","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"id","value":"557860099","description":"Activation id."}]},"description":"Activation status as JSON (verificationType + sms block).\n\nGated by flag `api_get_status_v2_enabled`, default OFF. While OFF: plain-text `BAD_ACTION`, HTTP 200 (same as an unknown action).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n    \"verificationType\": 0,\n    \"sms\": null\n}","_postman_previewlanguage":"json"},{"name":"Success (2)","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getStatusV2&api_key={{api_key}}&id=557860099","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getStatusV2","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"id","value":"557860099","description":"Activation id."}]},"description":"Activation status as JSON (verificationType + sms block).\n\nGated by flag `api_get_status_v2_enabled`, default OFF. While OFF: plain-text `BAD_ACTION`, HTTP 200 (same as an unknown action).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n    \"verificationType\": 1,\n    \"sms\": {\n        \"dateTime\": \"2026-07-02T18:12:31+00:00\",\n        \"code\": \"852508\",\n        \"text\": \"Your Telegram code is 852508\"\n    }\n}","_postman_previewlanguage":"json"},{"name":"NOT_FOUND","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getStatusV2&api_key={{api_key}}&id=557860099","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getStatusV2","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"id","value":"557860099","description":"Activation id."}]},"description":"Activation status as JSON (verificationType + sms block).\n\nGated by flag `api_get_status_v2_enabled`, default OFF. While OFF: plain-text `BAD_ACTION`, HTTP 200 (same as an unknown action).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET."},"status":"Not Found","code":404,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n    \"title\": \"NOT_FOUND\",\n    \"details\": \"Activation Not Found\"\n}","_postman_previewlanguage":"json"},{"name":"BAD_KEY","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getStatusV2&api_key={{api_key}}&id=557860099","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getStatusV2","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"id","value":"557860099","description":"Activation id."}]},"description":"Activation status as JSON (verificationType + sms block).\n\nGated by flag `api_get_status_v2_enabled`, default OFF. While OFF: plain-text `BAD_ACTION`, HTTP 200 (same as an unknown action).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET."},"status":"Unauthorized","code":401,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"BAD_KEY","_postman_previewlanguage":"text"}]},{"name":"setStatusV2","request":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=setStatusV2&api_key={{api_key}}&id=557860099&status=8","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"setStatusV2","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"id","value":"557860099","description":"Activation id."},{"key":"status","value":"8","description":"One of 1, 3, 6, 8, -1 (-1 is always accepted as an alias for 8/cancel in this JSON version, regardless of whether that alias is enabled on the older text-based setStatus)."}]},"description":"Change activation status, JSON success/error envelope.\n\nGated by flag `api_set_status_v2_enabled`, default OFF. While OFF: plain-text `BAD_ACTION`, HTTP 200 (same as an unknown action).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET."},"response":[{"name":"Success","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=setStatusV2&api_key={{api_key}}&id=557860099&status=8","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"setStatusV2","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"id","value":"557860099","description":"Activation id."},{"key":"status","value":"8","description":"One of 1, 3, 6, 8, -1 (-1 is always accepted as an alias for 8/cancel in this JSON version, regardless of whether that alias is enabled on the older text-based setStatus)."}]},"description":"Change activation status, JSON success/error envelope.\n\nGated by flag `api_set_status_v2_enabled`, default OFF. While OFF: plain-text `BAD_ACTION`, HTTP 200 (same as an unknown action).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n    \"status\": \"success\"\n}","_postman_previewlanguage":"json"},{"name":"NOT_FOUND","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=setStatusV2&api_key={{api_key}}&id=557860099&status=8","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"setStatusV2","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"id","value":"557860099","description":"Activation id."},{"key":"status","value":"8","description":"One of 1, 3, 6, 8, -1 (-1 is always accepted as an alias for 8/cancel in this JSON version, regardless of whether that alias is enabled on the older text-based setStatus)."}]},"description":"Change activation status, JSON success/error envelope.\n\nGated by flag `api_set_status_v2_enabled`, default OFF. While OFF: plain-text `BAD_ACTION`, HTTP 200 (same as an unknown action).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET."},"status":"Not Found","code":404,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n    \"title\": \"NOT_FOUND\",\n    \"details\": \"Activation Not Found\"\n}","_postman_previewlanguage":"json"},{"name":"BAD_STATUS","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=setStatusV2&api_key={{api_key}}&id=557860099&status=8","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"setStatusV2","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"id","value":"557860099","description":"Activation id."},{"key":"status","value":"8","description":"One of 1, 3, 6, 8, -1 (-1 is always accepted as an alias for 8/cancel in this JSON version, regardless of whether that alias is enabled on the older text-based setStatus)."}]},"description":"Change activation status, JSON success/error envelope.\n\nGated by flag `api_set_status_v2_enabled`, default OFF. While OFF: plain-text `BAD_ACTION`, HTTP 200 (same as an unknown action).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n    \"title\": \"BAD_STATUS\",\n    \"details\": \"Wrong status value\"\n}","_postman_previewlanguage":"json"},{"name":"EARLY_CANCEL_DENIED","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=setStatusV2&api_key={{api_key}}&id=557860099&status=8","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"setStatusV2","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"id","value":"557860099","description":"Activation id."},{"key":"status","value":"8","description":"One of 1, 3, 6, 8, -1 (-1 is always accepted as an alias for 8/cancel in this JSON version, regardless of whether that alias is enabled on the older text-based setStatus)."}]},"description":"Change activation status, JSON success/error envelope.\n\nGated by flag `api_set_status_v2_enabled`, default OFF. While OFF: plain-text `BAD_ACTION`, HTTP 200 (same as an unknown action).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET."},"status":"Conflict","code":409,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n    \"title\": \"EARLY_CANCEL_DENIED\",\n    \"details\": \"Early cancel denied\",\n    \"info\": {\n        \"minActivationTime\": 120\n    }\n}","_postman_previewlanguage":"json"},{"name":"BAD_KEY","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=setStatusV2&api_key={{api_key}}&id=557860099&status=8","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"setStatusV2","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"id","value":"557860099","description":"Activation id."},{"key":"status","value":"8","description":"One of 1, 3, 6, 8, -1 (-1 is always accepted as an alias for 8/cancel in this JSON version, regardless of whether that alias is enabled on the older text-based setStatus)."}]},"description":"Change activation status, JSON success/error envelope.\n\nGated by flag `api_set_status_v2_enabled`, default OFF. While OFF: plain-text `BAD_ACTION`, HTTP 200 (same as an unknown action).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET."},"status":"Unauthorized","code":401,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"BAD_KEY","_postman_previewlanguage":"text"}]}]},{"name":"V3","item":[{"name":"getPricesV3","request":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getPricesV3&api_key={{api_key}}&service=tg&country=6","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getPricesV3","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"Service code — required, unlike the V1 getPrices method. Comma-separated lists (e.g. 'tg,go') are coming soon. [flag: api_prices_comma_list_enabled]"},{"key":"country","value":"6","description":"Numeric country code — required, unlike the V1 getPrices method. Comma-separated lists (e.g. '6,33') are coming soon. [flag: api_prices_comma_list_enabled]"}]},"description":"Price/count map with a per-provider price breakdown.\n\nGated by flag `api_prices_v3_enabled`, default OFF. While OFF: plain-text `BAD_ACTION`, HTTP 200 (same as an unknown action).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nUnlike every other JSON method in this family, an unexpected internal error here returns the plain-text BAD_ACTION response instead of a JSON body — this is intentional, so a JSON-parsing client never receives a half-formed JSON body.\n\nComma-separated lists (coming soon): will trigger when either service or country contains a comma; each token is validated the same way as a single value, and each list is capped at 50 items with 100 total country×service combinations."},"response":[{"name":"Success","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getPricesV3&api_key={{api_key}}&service=tg&country=6","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getPricesV3","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"Service code — required, unlike the V1 getPrices method. Comma-separated lists (e.g. 'tg,go') are coming soon. [flag: api_prices_comma_list_enabled]"},{"key":"country","value":"6","description":"Numeric country code — required, unlike the V1 getPrices method. Comma-separated lists (e.g. '6,33') are coming soon. [flag: api_prices_comma_list_enabled]"}]},"description":"Price/count map with a per-provider price breakdown.\n\nGated by flag `api_prices_v3_enabled`, default OFF. While OFF: plain-text `BAD_ACTION`, HTTP 200 (same as an unknown action).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nUnlike every other JSON method in this family, an unexpected internal error here returns the plain-text BAD_ACTION response instead of a JSON body — this is intentional, so a JSON-parsing client never receives a half-formed JSON body.\n\nComma-separated lists (coming soon): will trigger when either service or country contains a comma; each token is validated the same way as a single value, and each list is capped at 50 items with 100 total country×service combinations."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n    \"6\": {\n        \"tg\": {\n            \"price\": 0.15,\n            \"count\": 25370,\n            \"currency\": 840,\n            \"providers\": {\n                \"235\": {\n                    \"count\": 5603,\n                    \"price\": [\n                        0.23\n                    ],\n                    \"provider_id\": 235\n                }\n            }\n        }\n    }\n}","_postman_previewlanguage":"json"},{"name":"BAD_SERVICE","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getPricesV3&api_key={{api_key}}&service=tg&country=6","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getPricesV3","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"Service code — required, unlike the V1 getPrices method. Comma-separated lists (e.g. 'tg,go') are coming soon. [flag: api_prices_comma_list_enabled]"},{"key":"country","value":"6","description":"Numeric country code — required, unlike the V1 getPrices method. Comma-separated lists (e.g. '6,33') are coming soon. [flag: api_prices_comma_list_enabled]"}]},"description":"Price/count map with a per-provider price breakdown.\n\nGated by flag `api_prices_v3_enabled`, default OFF. While OFF: plain-text `BAD_ACTION`, HTTP 200 (same as an unknown action).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nUnlike every other JSON method in this family, an unexpected internal error here returns the plain-text BAD_ACTION response instead of a JSON body — this is intentional, so a JSON-parsing client never receives a half-formed JSON body.\n\nComma-separated lists (coming soon): will trigger when either service or country contains a comma; each token is validated the same way as a single value, and each list is capped at 50 items with 100 total country×service combinations."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n    \"title\": \"BAD_SERVICE\",\n    \"details\": \"Unknown or missing service code.\"\n}","_postman_previewlanguage":"json"},{"name":"BAD_COUNTRY","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getPricesV3&api_key={{api_key}}&service=tg&country=6","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getPricesV3","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"Service code — required, unlike the V1 getPrices method. Comma-separated lists (e.g. 'tg,go') are coming soon. [flag: api_prices_comma_list_enabled]"},{"key":"country","value":"6","description":"Numeric country code — required, unlike the V1 getPrices method. Comma-separated lists (e.g. '6,33') are coming soon. [flag: api_prices_comma_list_enabled]"}]},"description":"Price/count map with a per-provider price breakdown.\n\nGated by flag `api_prices_v3_enabled`, default OFF. While OFF: plain-text `BAD_ACTION`, HTTP 200 (same as an unknown action).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nUnlike every other JSON method in this family, an unexpected internal error here returns the plain-text BAD_ACTION response instead of a JSON body — this is intentional, so a JSON-parsing client never receives a half-formed JSON body.\n\nComma-separated lists (coming soon): will trigger when either service or country contains a comma; each token is validated the same way as a single value, and each list is capped at 50 items with 100 total country×service combinations."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n    \"title\": \"BAD_COUNTRY\",\n    \"details\": \"Unknown or missing country code.\"\n}","_postman_previewlanguage":"json"},{"name":"UNPROCESSABLE_ENTITY","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getPricesV3&api_key={{api_key}}&service=tg&country=6","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getPricesV3","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"Service code — required, unlike the V1 getPrices method. Comma-separated lists (e.g. 'tg,go') are coming soon. [flag: api_prices_comma_list_enabled]"},{"key":"country","value":"6","description":"Numeric country code — required, unlike the V1 getPrices method. Comma-separated lists (e.g. '6,33') are coming soon. [flag: api_prices_comma_list_enabled]"}]},"description":"Price/count map with a per-provider price breakdown.\n\nGated by flag `api_prices_v3_enabled`, default OFF. While OFF: plain-text `BAD_ACTION`, HTTP 200 (same as an unknown action).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nUnlike every other JSON method in this family, an unexpected internal error here returns the plain-text BAD_ACTION response instead of a JSON body — this is intentional, so a JSON-parsing client never receives a half-formed JSON body.\n\nComma-separated lists (coming soon): will trigger when either service or country contains a comma; each token is validated the same way as a single value, and each list is capped at 50 items with 100 total country×service combinations."},"status":"Unprocessable Entity","code":422,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n    \"title\": \"UNPROCESSABLE_ENTITY\",\n    \"details\": \"Too many country/service combinations in the comma-list; reduce the list size.\"\n}","_postman_previewlanguage":"json"},{"name":"Too Many Requests","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getPricesV3&api_key={{api_key}}&service=tg&country=6","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getPricesV3","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"Service code — required, unlike the V1 getPrices method. Comma-separated lists (e.g. 'tg,go') are coming soon. [flag: api_prices_comma_list_enabled]"},{"key":"country","value":"6","description":"Numeric country code — required, unlike the V1 getPrices method. Comma-separated lists (e.g. '6,33') are coming soon. [flag: api_prices_comma_list_enabled]"}]},"description":"Price/count map with a per-provider price breakdown.\n\nGated by flag `api_prices_v3_enabled`, default OFF. While OFF: plain-text `BAD_ACTION`, HTTP 200 (same as an unknown action).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nUnlike every other JSON method in this family, an unexpected internal error here returns the plain-text BAD_ACTION response instead of a JSON body — this is intentional, so a JSON-parsing client never receives a half-formed JSON body.\n\nComma-separated lists (coming soon): will trigger when either service or country contains a comma; each token is validated the same way as a single value, and each list is capped at 50 items with 100 total country×service combinations."},"status":"Too Many Requests","code":429,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"Too Many Requests","_postman_previewlanguage":"text"},{"name":"BAD_KEY","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getPricesV3&api_key={{api_key}}&service=tg&country=6","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getPricesV3","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"service","value":"tg","description":"Service code — required, unlike the V1 getPrices method. Comma-separated lists (e.g. 'tg,go') are coming soon. [flag: api_prices_comma_list_enabled]"},{"key":"country","value":"6","description":"Numeric country code — required, unlike the V1 getPrices method. Comma-separated lists (e.g. '6,33') are coming soon. [flag: api_prices_comma_list_enabled]"}]},"description":"Price/count map with a per-provider price breakdown.\n\nGated by flag `api_prices_v3_enabled`, default OFF. While OFF: plain-text `BAD_ACTION`, HTTP 200 (same as an unknown action).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nUnlike every other JSON method in this family, an unexpected internal error here returns the plain-text BAD_ACTION response instead of a JSON body — this is intentional, so a JSON-parsing client never receives a half-formed JSON body.\n\nComma-separated lists (coming soon): will trigger when either service or country contains a comma; each token is validated the same way as a single value, and each list is capped at 50 items with 100 total country×service combinations."},"status":"Unauthorized","code":401,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"BAD_KEY","_postman_previewlanguage":"text"}]},{"name":"getOffers","request":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getOffers&api_key={{api_key}}","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getOffers","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"services","value":"tg,go","description":"Comma-separated service codes (e.g. 'tg,go'). A single code also works. Omit to include every service.","disabled":true},{"key":"countries","value":"6,33","description":"Comma-separated numeric country codes (e.g. '6,33'). A single code also works. Omit to include every country.","disabled":true}]},"description":"Combined price+stock showcase: default/retail/min price, counts and the full price-bucket map, by service and country.\n\nGated by flag `api_offers_enabled`, default OFF. While OFF: plain-text `BAD_ACTION`, HTTP 200 (same as an unknown action).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nRequires the same price-bucket data as getFreePrices/getPricesV3 — when that data isn't available for this account, this method returns an empty `data: {}` rather than falling back to catalog prices.\n\nThere is no `counts.physical` field: our provider module does not currently expose a physical stock figure separate from `counts.total`, and this method does not invent one. It may be added later if that data becomes available.\n\nNever exposes providers, cost, or purchase price — none of those exist in this response by design."},"response":[{"name":"Success","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getOffers&api_key={{api_key}}","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getOffers","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"services","value":"tg,go","description":"Comma-separated service codes (e.g. 'tg,go'). A single code also works. Omit to include every service.","disabled":true},{"key":"countries","value":"6,33","description":"Comma-separated numeric country codes (e.g. '6,33'). A single code also works. Omit to include every country.","disabled":true}]},"description":"Combined price+stock showcase: default/retail/min price, counts and the full price-bucket map, by service and country.\n\nGated by flag `api_offers_enabled`, default OFF. While OFF: plain-text `BAD_ACTION`, HTTP 200 (same as an unknown action).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nRequires the same price-bucket data as getFreePrices/getPricesV3 — when that data isn't available for this account, this method returns an empty `data: {}` rather than falling back to catalog prices.\n\nThere is no `counts.physical` field: our provider module does not currently expose a physical stock figure separate from `counts.total`, and this method does not invent one. It may be added later if that data becomes available.\n\nNever exposes providers, cost, or purchase price — none of those exist in this response by design."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n    \"data\": {\n        \"tg\": {\n            \"6\": {\n                \"prices\": {\n                    \"default\": 0.15,\n                    \"retail\": 0.165,\n                    \"min\": 0.15\n                },\n                \"counts\": {\n                    \"total\": 22598,\n                    \"defaultPrice\": 4787\n                },\n                \"map\": {\n                    \"0.1500\": 4787,\n                    \"0.1765\": 12043,\n                    \"1.7648\": 5814\n                }\n            }\n        }\n    }\n}","_postman_previewlanguage":"json"},{"name":"BAD_SERVICE","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getOffers&api_key={{api_key}}","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getOffers","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"services","value":"tg,go","description":"Comma-separated service codes (e.g. 'tg,go'). A single code also works. Omit to include every service.","disabled":true},{"key":"countries","value":"6,33","description":"Comma-separated numeric country codes (e.g. '6,33'). A single code also works. Omit to include every country.","disabled":true}]},"description":"Combined price+stock showcase: default/retail/min price, counts and the full price-bucket map, by service and country.\n\nGated by flag `api_offers_enabled`, default OFF. While OFF: plain-text `BAD_ACTION`, HTTP 200 (same as an unknown action).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nRequires the same price-bucket data as getFreePrices/getPricesV3 — when that data isn't available for this account, this method returns an empty `data: {}` rather than falling back to catalog prices.\n\nThere is no `counts.physical` field: our provider module does not currently expose a physical stock figure separate from `counts.total`, and this method does not invent one. It may be added later if that data becomes available.\n\nNever exposes providers, cost, or purchase price — none of those exist in this response by design."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n    \"title\": \"BAD_SERVICE\",\n    \"details\": \"Unknown service code.\"\n}","_postman_previewlanguage":"json"},{"name":"BAD_COUNTRY","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getOffers&api_key={{api_key}}","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getOffers","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"services","value":"tg,go","description":"Comma-separated service codes (e.g. 'tg,go'). A single code also works. Omit to include every service.","disabled":true},{"key":"countries","value":"6,33","description":"Comma-separated numeric country codes (e.g. '6,33'). A single code also works. Omit to include every country.","disabled":true}]},"description":"Combined price+stock showcase: default/retail/min price, counts and the full price-bucket map, by service and country.\n\nGated by flag `api_offers_enabled`, default OFF. While OFF: plain-text `BAD_ACTION`, HTTP 200 (same as an unknown action).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nRequires the same price-bucket data as getFreePrices/getPricesV3 — when that data isn't available for this account, this method returns an empty `data: {}` rather than falling back to catalog prices.\n\nThere is no `counts.physical` field: our provider module does not currently expose a physical stock figure separate from `counts.total`, and this method does not invent one. It may be added later if that data becomes available.\n\nNever exposes providers, cost, or purchase price — none of those exist in this response by design."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n    \"title\": \"BAD_COUNTRY\",\n    \"details\": \"Unknown country code.\"\n}","_postman_previewlanguage":"json"},{"name":"Too Many Requests","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getOffers&api_key={{api_key}}","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getOffers","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"services","value":"tg,go","description":"Comma-separated service codes (e.g. 'tg,go'). A single code also works. Omit to include every service.","disabled":true},{"key":"countries","value":"6,33","description":"Comma-separated numeric country codes (e.g. '6,33'). A single code also works. Omit to include every country.","disabled":true}]},"description":"Combined price+stock showcase: default/retail/min price, counts and the full price-bucket map, by service and country.\n\nGated by flag `api_offers_enabled`, default OFF. While OFF: plain-text `BAD_ACTION`, HTTP 200 (same as an unknown action).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nRequires the same price-bucket data as getFreePrices/getPricesV3 — when that data isn't available for this account, this method returns an empty `data: {}` rather than falling back to catalog prices.\n\nThere is no `counts.physical` field: our provider module does not currently expose a physical stock figure separate from `counts.total`, and this method does not invent one. It may be added later if that data becomes available.\n\nNever exposes providers, cost, or purchase price — none of those exist in this response by design."},"status":"Too Many Requests","code":429,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"Too Many Requests","_postman_previewlanguage":"text"},{"name":"BAD_KEY","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/stubs/handler_api.php?action=getOffers&api_key={{api_key}}","host":["{{baseUrl}}"],"path":["stubs","handler_api.php"],"query":[{"key":"action","value":"getOffers","description":"Fixed for this request."},{"key":"api_key","value":"{{api_key}}","description":"Collection variable — set api_key, never hardcode a real key here."},{"key":"services","value":"tg,go","description":"Comma-separated service codes (e.g. 'tg,go'). A single code also works. Omit to include every service.","disabled":true},{"key":"countries","value":"6,33","description":"Comma-separated numeric country codes (e.g. '6,33'). A single code also works. Omit to include every country.","disabled":true}]},"description":"Combined price+stock showcase: default/retail/min price, counts and the full price-bucket map, by service and country.\n\nGated by flag `api_offers_enabled`, default OFF. While OFF: plain-text `BAD_ACTION`, HTTP 200 (same as an unknown action).\n\nBoth GET and POST are accepted by the dispatcher; parameters are read identically either way — this request uses GET.\n\nRequires the same price-bucket data as getFreePrices/getPricesV3 — when that data isn't available for this account, this method returns an empty `data: {}` rather than falling back to catalog prices.\n\nThere is no `counts.physical` field: our provider module does not currently expose a physical stock figure separate from `counts.total`, and this method does not invent one. It may be added later if that data becomes available.\n\nNever exposes providers, cost, or purchase price — none of those exist in this response by design."},"status":"Unauthorized","code":401,"header":[{"key":"Content-Type","value":"text/plain"}],"body":"BAD_KEY","_postman_previewlanguage":"text"}]}]}]}