openapi: 3.2.0
info:
title: API-протокол для работы с HEROSMS
description: >-
Используете программы для регистрации? HeroSMS совместим с бывшими
партнерами SMS-Activate.
1. Выберите любую программу, которая включает SMS-Activate в число своих
сервисов приема SMS.
2. Выберите SMS-Activate в качестве сервиса для приема SMS.
3. В настройках вашей программы замените хост с https://api.sms-activate.ae
на https://hero-sms.com.
4. Введите ключ API из вашей учетной записи HeroSMS (запросите его на нашем
сайте).
Если у вас возникнут какие-либо трудности, пожалуйста, свяжитесь с нашей
службой технической поддержки. Мы решим все проблемы.
version: "1.0"
servers:
- url: https://hero-sms.com/api/v1
description: HeroSMS API server
- url: https://hero-sms.com/stubs/handler_api.php
description: SMS-Activate API-compatible server
paths:
/activations/history:
get:
tags:
- Activations
summary: История активаций
operationId: 82eacb597b010298c78dacd1f0bdd3ff
parameters:
- $ref: "#/components/parameters/fromRequired"
- $ref: "#/components/parameters/toRequired"
- $ref: "#/components/parameters/servicesQuery"
- $ref: "#/components/parameters/countriesQuery"
- $ref: "#/components/parameters/activationStatusesQuery"
- $ref: "#/components/parameters/size"
- $ref: "#/components/parameters/page"
- $ref: "#/components/parameters/sort"
- $ref: "#/components/parameters/search"
responses:
"200":
description: OK
content:
application/json:
schema:
properties:
data:
type: array
items:
properties:
id:
type: integer
createDate:
description: Дата создания
type: string
example: 2025-03-18 10:40:37
service:
$ref: "#/components/schemas/ServiceId"
country:
$ref: "#/components/schemas/CountryId"
phone:
$ref: "#/components/schemas/ActivationPhone"
moreCodes:
description: Пришедшие коды активаций
type: string
example: 637881 is your verification code
cost:
$ref: "#/components/schemas/Price"
status:
$ref: "#/components/schemas/ActivationStatusTypes"
phoneCode:
type: string
example: "+55"
currency:
$ref: "#/components/schemas/Currency"
type: object
totals:
properties:
sum:
description: Сумма
type: number
format: float
example: 0.6
successCount:
description: Количество успешных активаций
type: integer
example: 1
type: object
meta:
$ref: "#/components/schemas/PaginationMetaData"
type: object
"401":
$ref: "#/components/responses/UnauthorizedResponse"
"422":
$ref: "#/components/responses/UnprocessableEntityResponse"
"500":
$ref: "#/components/responses/ServerErrorResponse"
security:
- apiKeyAuth: []
x-sort-columns:
- id
- cost
- createDate
/activations/{activationId}/otp/last:
get:
tags:
- Activation OTP
summary: Получить последнее OTP активной активации
operationId: getActivationOtpLast
parameters:
- $ref: "#/components/parameters/activationPath"
responses:
"200":
$ref: "#/components/responses/ActivationOtpSuccessResponse"
"400":
$ref: "#/components/responses/BadRequestResponse"
"401":
$ref: "#/components/responses/UnauthorizedResponse"
"404":
$ref: "#/components/responses/NotFoundResponse"
"422":
$ref: "#/components/responses/UnprocessableEntityResponse"
"500":
$ref: "#/components/responses/ServerErrorResponse"
security:
- apiKeyAuth: []
/activations/{activationId}/otp:
get:
tags:
- Activation OTP
summary: Получить список OTP активной активации
operationId: getActivationOtpList
parameters:
- $ref: "#/components/parameters/activationPath"
responses:
"200":
$ref: "#/components/responses/ActivationOtpListSuccessResponse"
"401":
$ref: "#/components/responses/UnauthorizedResponse"
"404":
$ref: "#/components/responses/NotFoundResponse"
"422":
$ref: "#/components/responses/UnprocessableEntityResponse"
"500":
$ref: "#/components/responses/ServerErrorResponse"
security:
- apiKeyAuth: []
/activations:
get:
tags:
- Activations
summary: Получить список активных активаций
description: Возвращает список активных активаций. В каждую активацию вложен
полный список OTP.
operationId: getActiveActivations
parameters:
- $ref: "#/components/parameters/size"
- $ref: "#/components/parameters/page"
- $ref: "#/components/parameters/sort"
- $ref: "#/components/parameters/search"
- $ref: "#/components/parameters/verificationTypeQuery"
- $ref: "#/components/parameters/from"
- $ref: "#/components/parameters/to"
responses:
"200":
$ref: "#/components/responses/ActivationsSuccessResponse"
"401":
$ref: "#/components/responses/UnauthorizedResponse"
"404":
$ref: "#/components/responses/NotFoundResponse"
"422":
$ref: "#/components/responses/UnprocessableEntityResponse"
"500":
$ref: "#/components/responses/ServerErrorResponse"
security:
- apiKeyAuth: []
x-sort-columns:
- id
post:
tags:
- Activations
summary: Купить активацию
operationId: buyActivationBatch
requestBody:
$ref: "#/components/requestBodies/BuyActivationRequestBody"
responses:
"200":
$ref: "#/components/responses/ActivationsSuccessResponse"
"401":
$ref: "#/components/responses/UnauthorizedResponse"
"403":
$ref: "#/components/responses/ActivationBannedResponse"
"404":
$ref: "#/components/responses/NotFoundResponse"
"422":
$ref: "#/components/responses/UnprocessableEntityResponse"
"500":
$ref: "#/components/responses/ServerErrorResponse"
security:
- apiKeyAuth: []
/activations/{activationId}:
delete:
tags:
- Activations
summary: Отменить активацию
description: Отмена активации и возврат средств. Отмена возможна только если
активация не получила ни одного OTP или по активации со сроком жизни от
24 часов прошло менее 20 минут. Иначе вызывайте `POST
/activations/{activationId}/finish`.
operationId: cancelActivation
parameters:
- $ref: "#/components/parameters/activationPath"
responses:
"204":
$ref: "#/components/responses/NoContentResponse"
"401":
$ref: "#/components/responses/UnauthorizedResponse"
"404":
$ref: "#/components/responses/NotFoundResponse"
"422":
$ref: "#/components/responses/UnprocessableEntityResponse"
"500":
$ref: "#/components/responses/ServerErrorResponse"
security:
- apiKeyAuth: []
/activations/{activationId}/finish:
post:
tags:
- Activations
summary: Завершить активацию
description: Успешное завершение активации. Средства не возвращаются.
operationId: finishActivation
parameters:
- $ref: "#/components/parameters/activationPath"
responses:
"204":
$ref: "#/components/responses/NoContentResponse"
"401":
$ref: "#/components/responses/UnauthorizedResponse"
"404":
$ref: "#/components/responses/NotFoundResponse"
"422":
$ref: "#/components/responses/UnprocessableEntityResponse"
"500":
$ref: "#/components/responses/ServerErrorResponse"
security:
- apiKeyAuth: []
/activations/{activationId}/replace:
post:
tags:
- Activations
summary: Запросить смену номера
operationId: replaceActivation
parameters:
- $ref: "#/components/parameters/activationPath"
responses:
"200":
$ref: "#/components/responses/ActivationsSuccessResponse"
"401":
$ref: "#/components/responses/UnauthorizedResponse"
"403":
$ref: "#/components/responses/ActivationBannedResponse"
"404":
$ref: "#/components/responses/NotFoundResponse"
"422":
$ref: "#/components/responses/UnprocessableEntityResponse"
"500":
$ref: "#/components/responses/ServerErrorResponse"
security:
- apiKeyAuth: []
/activations/{activationId}/reactivate:
post:
tags:
- Activations
summary: Возобновить работу с номером
description: Возобновить работу с номером возможно, только если активация была
завершена успешно.
operationId: reactivateActivation
parameters:
- $ref: "#/components/parameters/activationPath"
requestBody:
$ref: "#/components/requestBodies/ReactivateActivationRequestBody"
responses:
"200":
$ref: "#/components/responses/ActivationsSuccessResponse"
"401":
$ref: "#/components/responses/UnauthorizedResponse"
"404":
$ref: "#/components/responses/NotFoundResponse"
"422":
$ref: "#/components/responses/UnprocessableEntityResponse"
"500":
$ref: "#/components/responses/ServerErrorResponse"
security:
- apiKeyAuth: []
/activations/{activationId}/reactivate/options:
get:
tags:
- Activations
summary: Получить доступные варианты возобновления работы с номером
operationId: reactivateOptions
parameters:
- $ref: "#/components/parameters/activationPath"
responses:
"200":
$ref: "#/components/responses/ActivationExtendOptionsSuccessResponse"
"401":
$ref: "#/components/responses/UnauthorizedResponse"
"404":
$ref: "#/components/responses/NotFoundResponse"
"422":
$ref: "#/components/responses/UnprocessableEntityResponse"
"500":
$ref: "#/components/responses/ServerErrorResponse"
security:
- apiKeyAuth: []
/activations/{activationId}/prolong:
post:
tags:
- Activations
summary: Продление аренды номера
operationId: prolongActivation
parameters:
- $ref: "#/components/parameters/activationPath"
requestBody:
$ref: "#/components/requestBodies/ProlongActivationRequestBody"
responses:
"200":
$ref: "#/components/responses/ActivationsSuccessResponse"
"401":
$ref: "#/components/responses/UnauthorizedResponse"
"404":
$ref: "#/components/responses/NotFoundResponse"
"422":
$ref: "#/components/responses/UnprocessableEntityResponse"
"425":
$ref: "#/components/responses/TooEarlyRequestResponse"
"500":
$ref: "#/components/responses/ServerErrorResponse"
security:
- apiKeyAuth: []
/activations/{activationId}/prolong/options:
get:
tags:
- Activations
summary: Получить доступные варианты продления номера
operationId: prolongOptions
parameters:
- $ref: "#/components/parameters/activationPath"
responses:
"200":
$ref: "#/components/responses/ActivationExtendOptionsSuccessResponse"
"401":
$ref: "#/components/responses/UnauthorizedResponse"
"404":
$ref: "#/components/responses/NotFoundResponse"
"422":
$ref: "#/components/responses/UnprocessableEntityResponse"
"425":
$ref: "#/components/responses/TooEarlyRequestResponse"
"500":
$ref: "#/components/responses/ServerErrorResponse"
security:
- apiKeyAuth: []
/activations/{activationId}/prolong/history:
get:
tags:
- Activations
summary: Получить историю продления номера
operationId: prolongActivationHistory
parameters:
- $ref: "#/components/parameters/activationPath"
responses:
"200":
$ref: "#/components/responses/ProlongHistorySuccessResponse"
"401":
$ref: "#/components/responses/UnauthorizedResponse"
"404":
$ref: "#/components/responses/NotFoundResponse"
"422":
$ref: "#/components/responses/UnprocessableEntityResponse"
"500":
$ref: "#/components/responses/ServerErrorResponse"
security:
- apiKeyAuth: []
/classifiers/activations/custom-durations:
get:
tags:
- Classifiers
summary: Справочник позиций с нестандартной продолжительностью жизни активаций
operationId: customDurations
responses:
"200":
description: OK
content:
application/json:
schema:
required:
- data
properties:
data:
description: service
type: object
additionalProperties:
description: country
type: object
additionalProperties:
description: minutes
type: integer
example: 60
type: object
"500":
$ref: "#/components/responses/ServerErrorResponse"
/activations/stats:
get:
tags:
- Activations
summary: Статистика текущего пользователя
description: Возвращает статистику активаций для текущего авторизованного пользователя
operationId: getActivationStats
parameters:
- name: date
in: query
description: Дата, за которую нужна статистика
required: false
schema:
type: string
format: date
responses:
"200":
description: OK
content:
application/json:
schema:
properties:
data:
properties:
country:
properties:
service:
properties:
count:
type: integer
example: 10
success:
type: integer
example: 5
percent:
$ref: "#/components/schemas/Percent"
type: object
type: object
type: object
type: object
"401":
$ref: "#/components/responses/UnauthorizedResponse"
"422":
$ref: "#/components/responses/UnprocessableEntityResponse"
"500":
$ref: "#/components/responses/ServerErrorResponse"
security:
- apiKeyAuth: []
/activations/offers/{verificationType}:
get:
tags:
- Activations
summary: Получить предложения активаций
description: Возвращает предложения активаций, сгруппированные по сервисам и
странам, и метаданные для их отображения
operationId: getActivationOffers
parameters:
- $ref: "#/components/parameters/verificationTypePath"
- $ref: "#/components/parameters/servicesPath"
- $ref: "#/components/parameters/countriesPath"
responses:
"200":
$ref: "#/components/responses/ActivationsOffersSuccessResponse"
"401":
$ref: "#/components/responses/UnauthorizedResponse"
"404":
$ref: "#/components/responses/OfferNotFoundResponse"
"422":
$ref: "#/components/responses/UnprocessableEntityResponse"
"429":
$ref: "#/components/responses/TooManyRequestsResponse"
"500":
$ref: "#/components/responses/ServerErrorResponse"
security:
- apiKeyAuth: []
/emails:
get:
tags:
- Emails
summary: Получить список активных покупок
operationId: 7f17119e77aad0c154d2f5e600ef092a
parameters:
- $ref: "#/components/parameters/search"
- $ref: "#/components/parameters/size"
- $ref: "#/components/parameters/page"
- $ref: "#/components/parameters/sort"
- $ref: "#/components/parameters/emailStatusesQuery"
- $ref: "#/components/parameters/from"
- $ref: "#/components/parameters/to"
responses:
"200":
description: OK
content:
application/json:
schema:
properties:
data:
type: array
items:
$ref: "#/components/schemas/EmailActivation"
type: object
"401":
$ref: "#/components/responses/UnauthorizedResponse"
"422":
$ref: "#/components/responses/UnprocessableEntityResponse"
"500":
$ref: "#/components/responses/ServerErrorResponse"
security:
- apiKeyAuth: []
x-sort-columns:
- id
- status
- cost
- date
post:
tags:
- Emails
summary: Купить активацию по почте
operationId: 22164e5067a27560b8fbf28b2ac1f019
requestBody:
content:
application/json:
schema:
required:
- site
- domain
properties:
site:
$ref: "#/components/schemas/EmailSite"
domain:
$ref: "#/components/schemas/EmailDomain"
maxPrice:
$ref: "#/components/schemas/EmailMaxPrice"
type: object
responses:
"201":
$ref: "#/components/responses/EmailActivationSuccessResponse"
"400":
$ref: "#/components/responses/BadRequestResponse"
"401":
$ref: "#/components/responses/UnauthorizedResponse"
"422":
$ref: "#/components/responses/UnprocessableEntityResponse"
"500":
$ref: "#/components/responses/ServerErrorResponse"
security:
- apiKeyAuth: []
/emails/batch:
post:
tags:
- Emails
summary: Купить активацию по почте пачками
operationId: 7892a59d83e6e38d154854fe1f1b065f
requestBody:
content:
application/json:
schema:
required:
- site
- domain
- count
properties:
site:
$ref: "#/components/schemas/EmailSite"
domain:
$ref: "#/components/schemas/EmailDomain"
count:
description: Количество почт для активации (от 1 до 10)
type: integer
example: 5
maximum: 10
minimum: 1
maxPrice:
$ref: "#/components/schemas/EmailMaxPrice"
type: object
responses:
"201":
$ref: "#/components/responses/EmailActivationBatchSuccessResponse"
"400":
$ref: "#/components/responses/BadRequestResponse"
"401":
$ref: "#/components/responses/UnauthorizedResponse"
"422":
$ref: "#/components/responses/UnprocessableEntityResponse"
"500":
$ref: "#/components/responses/ServerErrorResponse"
security:
- apiKeyAuth: []
/emails/{emailId}:
get:
tags:
- Emails
summary: Проверить состояние активации по почте
operationId: c57ebd15edbfa8625b8a60984b76e3c6
parameters:
- $ref: "#/components/parameters/emailId"
responses:
"200":
$ref: "#/components/responses/EmailActivationSuccessResponse"
"401":
$ref: "#/components/responses/UnauthorizedResponse"
"404":
$ref: "#/components/responses/NotFoundResponse"
"409":
$ref: "#/components/responses/RaceConditionResponse"
"422":
$ref: "#/components/responses/UnprocessableEntityResponse"
"500":
$ref: "#/components/responses/ServerErrorResponse"
security:
- apiKeyAuth: []
delete:
tags:
- Emails
summary: Отменить покупку активации по почте
operationId: 20dae8daa691db1282f0d1d268dbac44
parameters:
- $ref: "#/components/parameters/emailId"
responses:
"204":
description: OK
"400":
$ref: "#/components/responses/EmailCancelBadRequestResponse"
"401":
$ref: "#/components/responses/UnauthorizedResponse"
"404":
$ref: "#/components/responses/NotFoundResponse"
"409":
$ref: "#/components/responses/EmailCancelConflictResponse"
"500":
$ref: "#/components/responses/ServerErrorResponse"
security:
- apiKeyAuth: []
/emails/{emailId}/reorder:
post:
tags:
- Emails
summary: Перезаказать активацию по почте
operationId: bb0d53e0557982f130c1540ed663e831
parameters:
- $ref: "#/components/parameters/emailId"
responses:
"200":
$ref: "#/components/responses/EmailActivationSuccessResponse"
"400":
$ref: "#/components/responses/EmailReorderBadRequestResponse"
"401":
$ref: "#/components/responses/UnauthorizedResponse"
"404":
$ref: "#/components/responses/NotFoundResponse"
"422":
$ref: "#/components/responses/UnprocessableEntityResponse"
"500":
$ref: "#/components/responses/ServerErrorResponse"
security:
- apiKeyAuth: []
/emails/domains:
get:
tags:
- Emails
summary: Получить список доступных доменов
description: Метод устарел. Используйте метод GET emails/offers
operationId: 59f271906bdbc81b6b2cdd4213b01775
parameters:
- name: site
in: query
description: Сайт для которого берётся активация
required: true
schema:
type: string
example: telegram.com
responses:
"200":
description: OK
content:
application/json:
schema:
properties:
data:
type: array
items:
properties:
name:
description: Наименование домена
type: string
cost:
$ref: "#/components/schemas/Price"
count:
description: Количество доступных почт
type: integer
type: object
type: object
"401":
$ref: "#/components/responses/UnauthorizedResponse"
"422":
$ref: "#/components/responses/UnprocessableEntityResponse"
"500":
$ref: "#/components/responses/ServerErrorResponse"
deprecated: true
security:
- apiKeyAuth: []
/emails/offers:
get:
tags:
- Emails
summary: Офферы по доменам
description: "Возвращает ценовые позиции по доменам сайта: внутри домена по
цене, домены по минимальной цене"
operationId: f8e545c04e941382450fcc88b14c4e89
parameters:
- name: site
in: query
required: true
schema:
$ref: "#/components/schemas/EmailSite"
- name: domain
in: query
description: Фильтр по домену
required: false
schema:
$ref: "#/components/schemas/EmailDomain"
responses:
"200":
description: OK
content:
application/json:
schema:
properties:
data:
type: array
items:
$ref: "#/components/schemas/EmailOfferDomain"
type: object
"401":
$ref: "#/components/responses/UnauthorizedResponse"
"422":
$ref: "#/components/responses/UnprocessableEntityResponse"
"500":
$ref: "#/components/responses/ServerErrorResponse"
security:
- apiKeyAuth: []
/stats/deliverability:
get:
tags:
- Statistics
summary: Получить статистику доставляемости по странам
description: Возвращает топ стран по доставляемости для выбранных сервисов
operationId: 60679e939ef779f9063f3a035599e820
parameters:
- $ref: "#/components/parameters/servicesQueryRequired"
- $ref: "#/components/parameters/countriesQuery"
- $ref: "#/components/parameters/intervalQuery"
- $ref: "#/components/parameters/successCountQuery"
- $ref: "#/components/parameters/size"
- $ref: "#/components/parameters/withOperatorsQuery"
responses:
"200":
description: OK
content:
application/json:
schema:
properties:
data:
description: "Статистика по странам для каждого сервиса: ключ - код сервиса,
значение - страны по убыванию доставляемости"
type: object
additionalProperties:
type: array
items:
required:
- country
- successRate
properties:
country:
$ref: "#/components/schemas/CountryId"
successRate:
$ref: "#/components/schemas/SuccessRate"
operators:
description: Присутствует только если параметр withOperators=true
type:
- array
- "null"
items:
properties:
code:
$ref: "#/components/schemas/OperatorCode"
successRate:
$ref: "#/components/schemas/SuccessRate"
share:
description: Доля оператора от общего числа успешных покупок по стране, от 1%
(сумма долей может быть меньше 100%)
type: number
format: float
minimum: 1
type: object
type: object
meta:
properties:
filters:
properties:
services:
type: array
items:
type: string
countries:
type: array
items:
type: integer
interval:
type: integer
successCount:
type: string
enum:
- very_high
- high
- medium
- low
withOperators:
type: boolean
type: object
updatedAt:
type: string
format: date-time
type: object
type: object
"401":
$ref: "#/components/responses/UnauthorizedResponse"
"422":
$ref: "#/components/responses/UnprocessableEntityResponse"
"500":
$ref: "#/components/responses/ServerErrorResponse"
security:
- apiKeyAuth: []
?action=getBalance:
get:
tags:
- SMS-Activate
summary: Запросить баланс аккаунта
description: Возвращает текущий баланс в формате `ACCESS_BALANCE:<сумма>`
operationId: getBalance
responses:
"200":
description: Результат запроса баланса
content:
application/json:
schema:
type: string
examples:
successfulBalanceExample:
$ref: "#/components/examples/successfulBalanceExample"
"401":
$ref: "#/components/responses/unauthorizedResponse"
"404":
$ref: "#/components/responses/methodNotFoundResponse"
"422":
$ref: "#/components/responses/unprocessableEntityResponse"
"500":
$ref: "#/components/responses/SAServerErrorResponse"
security:
- apiKeyQuery: []
servers:
- url: https://hero-sms.com/stubs/handler_api.php
description: SMS-Activate API-compatible server
?action=getNumber:
get:
tags:
- SMS-Activate
summary: Запросить номер
description: Запрашивает телефонный номер для указанного сервиса и страны.
Возвращает строку вида `ACCESS_NUMBER:<id_активации>:<номер>`
operationId: getNumber
parameters:
- $ref: "#/components/parameters/qpSARequiredService"
- $ref: "#/components/parameters/qpSARequiredCountry"
- $ref: "#/components/parameters/qpSAOptionalOperator"
- $ref: "#/components/parameters/qpSAOptionalMaxPrice"
- $ref: "#/components/parameters/qpSAOptionalFixedPrice"
- $ref: "#/components/parameters/qpSAOptionalRef"
- $ref: "#/components/parameters/qpSAOptionalPhoneException"
responses:
"200":
description: Результат запроса номера
content:
application/json:
schema:
type: string
examples:
successfulNumberExample:
$ref: "#/components/examples/successfulNumberExample"
numbersNotFoundExample:
$ref: "#/components/examples/numbersNotFoundExample"
"400":
$ref: "#/components/responses/getNumberBadRequestResponse"
"401":
$ref: "#/components/responses/unauthorizedResponse"
"402":
$ref: "#/components/responses/paymentRequiredResponse"
"403":
$ref: "#/components/responses/forbiddenResponse"
"404":
$ref: "#/components/responses/methodNotFoundResponse"
"422":
$ref: "#/components/responses/unprocessableEntityResponse"
"500":
$ref: "#/components/responses/SAServerErrorResponse"
security:
- apiKeyQuery: []
servers:
- url: https://hero-sms.com/stubs/handler_api.php
description: SMS-Activate API-compatible server
?action=getNumberV2:
get:
tags:
- SMS-Activate
summary: Запросить номер V2
description: Аналогичен getNumber, но возвращает больше информации об активации
(JSON-объект)
operationId: getNumberV2
parameters:
- $ref: "#/components/parameters/qpSARequiredService"
- $ref: "#/components/parameters/qpSARequiredCountry"
- $ref: "#/components/parameters/qpSAOptionalOperator"
- $ref: "#/components/parameters/qpSAOptionalMaxPrice"
- $ref: "#/components/parameters/qpSAOptionalFixedPrice"
- $ref: "#/components/parameters/qpSAOptionalRef"
- $ref: "#/components/parameters/qpSAOptionalPhoneException"
responses:
"200":
description: Результат запроса номера (V2)
content:
application/json:
schema:
$ref: "#/components/schemas/successfulNumberv2Response"
examples:
successfulNumberv2Example:
$ref: "#/components/examples/successfulNumberv2Example"
numbersNotFoundExample:
$ref: "#/components/examples/numbersNotFoundExample"
"400":
$ref: "#/components/responses/getNumberBadRequestResponse"
"401":
$ref: "#/components/responses/unauthorizedResponse"
"402":
$ref: "#/components/responses/paymentRequiredResponse"
"403":
$ref: "#/components/responses/forbiddenResponse"
"404":
$ref: "#/components/responses/methodNotFoundResponse"
"422":
$ref: "#/components/responses/unprocessableEntityResponse"
"500":
$ref: "#/components/responses/SAServerErrorResponse"
security:
- apiKeyQuery: []
servers:
- url: https://hero-sms.com/stubs/handler_api.php
description: SMS-Activate API-compatible server
?action=setStatus:
get:
tags:
- SMS-Activate
summary: Изменить статус активации
description: |-
Управление жизненным циклом активации.
Возможные статусы:
- 3 — запросить повторную отправку SMS
- 6 — завершить активацию (код получен и подтверждён)
- 8 — отменить активацию (вернуть деньги)
operationId: setStatus
parameters:
- $ref: "#/components/parameters/qpSARequiredActivationID"
- $ref: "#/components/parameters/qpSARequiredActivationStatus"
responses:
"200":
description: Результат изменения статуса
content:
application/json:
schema:
type: string
examples:
successfulRetryGetExample:
$ref: "#/components/examples/successfulRetryGetExample"
successfulAccessActivationExample:
$ref: "#/components/examples/successfulAccessActivationExample"
successfulAccessCancelExample:
$ref: "#/components/examples/successfulAccessCancelExample"
"400":
$ref: "#/components/responses/badRequestResponse"
"401":
$ref: "#/components/responses/unauthorizedResponse"
"403":
$ref: "#/components/responses/forbiddenResponse"
"404":
$ref: "#/components/responses/activationNotFoundResponse"
"409":
$ref: "#/components/responses/activationCancelConflictResponse"
"422":
$ref: "#/components/responses/unprocessableEntityResponse"
"500":
$ref: "#/components/responses/SAServerErrorResponse"
security:
- apiKeyQuery: []
servers:
- url: https://hero-sms.com/stubs/handler_api.php
description: SMS-Activate API-compatible server
?action=getStatus:
get:
tags:
- SMS-Activate
summary: Получить статус активации
description: Возвращает текущий статус активации в текстовом виде
(STATUS_WAIT_CODE, STATUS_OK и т.д.) + код при наличии
operationId: getStatus
parameters:
- $ref: "#/components/parameters/qpSARequiredActivationID"
responses:
"200":
description: Текущий статус активации
content:
application/json:
schema:
type: string
examples:
successfulWaitCodeExample:
$ref: "#/components/examples/successfulWaitCodeExample"
successfulWaitRetryExample:
$ref: "#/components/examples/successfulWaitRetryExample"
successfulWaitResendExample:
$ref: "#/components/examples/successfulWaitResendExample"
successfulCancelExample:
$ref: "#/components/examples/successfulCancelExample"
successfulOKExample:
$ref: "#/components/examples/successfulOKExample"
"400":
$ref: "#/components/responses/badRequestResponse"
"401":
$ref: "#/components/responses/unauthorizedResponse"
"402":
$ref: "#/components/responses/paymentRequiredResponse"
"403":
$ref: "#/components/responses/forbiddenResponse"
"404":
$ref: "#/components/responses/activationNotFoundResponse"
"422":
$ref: "#/components/responses/unprocessableEntityResponse"
"500":
$ref: "#/components/responses/SAServerErrorResponse"
security:
- apiKeyQuery: []
servers:
- url: https://hero-sms.com/stubs/handler_api.php
description: SMS-Activate API-compatible server
?action=getStatusV2:
get:
tags:
- SMS-Activate
summary: Получить состояние активации V2
description: Возвращает статус активации в структурированном виде (JSON)
operationId: getStatusV2
parameters:
- $ref: "#/components/parameters/qpSARequiredActivationID"
responses:
"200":
description: Текущий статус активации (V2)
content:
application/json:
schema:
$ref: "#/components/schemas/ActivationStatusV2"
examples:
correctActivationStatusExample:
$ref: "#/components/examples/successfulActivationV2Example"
successfulCancelExample:
summary: Активация отменена
value: STATUS_CANCEL
"400":
$ref: "#/components/responses/badRequestResponse"
"401":
$ref: "#/components/responses/unauthorizedResponse"
"402":
$ref: "#/components/responses/paymentRequiredResponse"
"403":
$ref: "#/components/responses/forbiddenResponse"
"404":
$ref: "#/components/responses/activationNotFoundResponse"
"422":
$ref: "#/components/responses/unprocessableEntityResponse"
"500":
$ref: "#/components/responses/SAServerErrorResponse"
security:
- apiKeyQuery: []
servers:
- url: https://hero-sms.com/stubs/handler_api.php
description: SMS-Activate API-compatible server
?action=getActiveActivations:
get:
tags:
- SMS-Activate
summary: Получить список активных активации
description: Возвращает список активных активаций
operationId: saGetActiveActivations
parameters:
- name: start
in: query
description: Смещение (по умолчанию 0)
required: false
schema:
type: integer
- name: limit
in: query
description: Лимит записей (макс. 100)
required: false
schema:
type: integer
responses:
"200":
description: Результат получения активных активаций
content:
application/json:
schema:
$ref: "#/components/schemas/ActiveActivations"
examples:
activationsSuccessfulExample:
$ref: "#/components/examples/activationsSuccessfulExample"
"400":
$ref: "#/components/responses/badRequestResponse"
"401":
$ref: "#/components/responses/unauthorizedResponse"
"402":
$ref: "#/components/responses/paymentRequiredResponse"
"403":
$ref: "#/components/responses/forbiddenResponse"
"404":
$ref: "#/components/responses/methodNotFoundResponse"
"422":
$ref: "#/components/responses/unprocessableEntityResponse"
"500":
$ref: "#/components/responses/SAServerErrorResponse"
security:
- apiKeyQuery: []
servers:
- url: https://hero-sms.com/stubs/handler_api.php
description: SMS-Activate API-compatible server
?action=getHistory:
get:
tags:
- SMS-Activate
summary: Получить историю активаций
description: Возвращает историю активаций
operationId: getHistory
parameters:
- name: start
in: query
description: Начало периода (Unix Timestamp)
required: false
schema:
type: integer
- name: end
in: query
description: Конец периода (Unix Timestamp)
required: false
schema:
type: integer
- name: offset
in: query
description: Смещение (по умолчанию 0)
required: false
schema:
type: integer
- name: size
in: query
description: Лимит записей (макс. 100)
required: false
schema:
type: integer
responses:
"200":
description: Результат получения истории активаций
content:
application/json:
schema:
$ref: "#/components/schemas/ActivationsHistory"
examples:
successfulActivationsHistoryExample:
$ref: "#/components/examples/successfulActivationsHistoryExample"
"401":
$ref: "#/components/responses/unauthorizedResponse"
"404":
$ref: "#/components/responses/methodNotFoundResponse"
"422":
$ref: "#/components/responses/unprocessableEntityResponse"
"500":
$ref: "#/components/responses/SAServerErrorResponse"
security:
- apiKeyQuery: []
servers:
- url: https://hero-sms.com/stubs/handler_api.php
description: SMS-Activate API-compatible server
?action=reactivate:
post:
tags:
- SMS-Activate
summary: Запросить реактивацию номера
description: Запрашивает успешно использованный телефонный номер
operationId: reactivate
parameters:
- $ref: "#/components/parameters/qpSARequiredActivationID"
- $ref: "#/components/parameters/qpSADuration"
responses:
"200":
description: Результат реактивации номера
content:
application/json:
schema:
$ref: "#/components/schemas/successfulNumberv2Response"
"401":
$ref: "#/components/responses/unauthorizedResponse"
"402":
$ref: "#/components/responses/paymentRequiredResponse"
"403":
$ref: "#/components/responses/reactivationForbiddenResponse"
"404":
$ref: "#/components/responses/activationNotFoundResponse"
"500":
$ref: "#/components/responses/SAServerErrorResponse"
security:
- apiKeyQuery: []
servers:
- url: https://hero-sms.com/stubs/handler_api.php
description: SMS-Activate API-compatible server
?action=reactivateOptions:
get:
tags:
- SMS-Activate
summary: Запросить стоимость реактивации номера
description: Запрашивает стоимость реактивации номера
operationId: saReactivateOptions
parameters:
- $ref: "#/components/parameters/qpSARequiredActivationID"
responses:
"200":
$ref: "#/components/responses/SaActivationExtendOptionsSuccessResponse"
"401":
$ref: "#/components/responses/unauthorizedResponse"
"403":
$ref: "#/components/responses/reactivationForbiddenResponse"
"404":
$ref: "#/components/responses/activationNotFoundResponse"
"500":
$ref: "#/components/responses/SAServerErrorResponse"
security:
- apiKeyQuery: []
servers:
- url: https://hero-sms.com/stubs/handler_api.php
description: SMS-Activate API-compatible server
?action=prolong:
post:
tags:
- SMS-Activate
summary: Продлить номер
description: Продлевает работу с телефонным номером. Работает только для
активаций с типом 'Аренда'
operationId: prolong
parameters:
- $ref: "#/components/parameters/qpSARequiredActivationID"
- $ref: "#/components/parameters/qpSARequiredDuration"
responses:
"200":
description: Результат продления номера
content:
application/json:
schema:
$ref: "#/components/schemas/successfulNumberv2Response"
"400":
$ref: "#/components/responses/prolongationBadRequestResponse"
"401":
$ref: "#/components/responses/unauthorizedResponse"
"402":
$ref: "#/components/responses/paymentRequiredResponse"
"404":
$ref: "#/components/responses/activationNotFoundResponse"
"500":
$ref: "#/components/responses/SAServerErrorResponse"
security:
- apiKeyQuery: []
servers:
- url: https://hero-sms.com/stubs/handler_api.php
description: SMS-Activate API-compatible server
?action=prolongOptions:
get:
tags:
- SMS-Activate
summary: Получить стоимость продления номера
description: Запрашивает стоимость продления номера
operationId: saProlongOptions
parameters:
- $ref: "#/components/parameters/qpSARequiredActivationID"
responses:
"200":
$ref: "#/components/responses/SaActivationExtendOptionsSuccessResponse"
"400":
$ref: "#/components/responses/prolongationInfoBadRequestResponse"
"401":
$ref: "#/components/responses/unauthorizedResponse"
"404":
$ref: "#/components/responses/activationNotFoundResponse"
"500":
$ref: "#/components/responses/SAServerErrorResponse"
security:
- apiKeyQuery: []
servers:
- url: https://hero-sms.com/stubs/handler_api.php
description: SMS-Activate API-compatible server
?action=prolongHistory:
get:
tags:
- SMS-Activate
summary: Получить историю продлений номера
description: Запрашивает историю продлений номера
operationId: prolongHistory
parameters:
- $ref: "#/components/parameters/qpSARequiredActivationID"
responses:
"200":
description: История продлений номера
content:
application/json:
schema:
$ref: "#/components/schemas/prolongationHistoryListResponse"
"400":
$ref: "#/components/responses/prolongationInfoBadRequestResponse"
"401":
$ref: "#/components/responses/unauthorizedResponse"
"404":
$ref: "#/components/responses/activationNotFoundResponse"
"500":
$ref: "#/components/responses/SAServerErrorResponse"
security:
- apiKeyQuery: []
servers:
- url: https://hero-sms.com/stubs/handler_api.php
description: SMS-Activate API-compatible server
?action=getCountries:
get:
tags:
- SMS-Activate
summary: Запросить список стран
description: Возвращает список стран
operationId: getCountries
responses:
"200":
description: Результат запроса списка стран
content:
application/json:
schema:
$ref: "#/components/schemas/Country"
examples:
successGetCountriesExample:
$ref: "#/components/examples/successGetCountriesExample"
missingKeyExample:
$ref: "#/components/examples/missingKeyExample"
incorrectKeyExample:
$ref: "#/components/examples/incorrectKeyExample"
security:
- apiKeyQuery: []
servers:
- url: https://hero-sms.com/stubs/handler_api.php
description: SMS-Activate API-compatible server
?action=getServicesList:
get:
tags:
- SMS-Activate
summary: Запросить список сервисов
description: Возвращает список сервисов
operationId: getServicesList
parameters:
- $ref: "#/components/parameters/qpSAOptionalCountry"
- $ref: "#/components/parameters/qpSAOptionalLang"
responses:
"200":
description: Результат запроса списка сервисов
content:
application/json:
schema:
$ref: "#/components/schemas/Service"
examples:
successGetServicesListExample:
$ref: "#/components/examples/successGetServicesListExample"
missingKeyExample:
$ref: "#/components/examples/missingKeyExample"
incorrectKeyExample:
$ref: "#/components/examples/incorrectKeyExample"
security:
- apiKeyQuery: []
servers:
- url: https://hero-sms.com/stubs/handler_api.php
description: SMS-Activate API-compatible server
?action=getOperators:
get:
tags:
- SMS-Activate
summary: Запросить доступных операторов
description: Возвращает список операторов
operationId: getOperators
parameters:
- $ref: "#/components/parameters/qpSAOptionalCountry"
responses:
"200":
description: Результат запроса списка операторов
content:
application/json:
schema:
$ref: "#/components/schemas/Operators"
examples:
successfulGetOperatorsExample:
$ref: "#/components/examples/successfulGetOperatorsExample"
operatorsNotFoundExample:
$ref: "#/components/examples/operatorsNotFoundExample"
sqlServerErrorExample:
$ref: "#/components/examples/sqlServerErrorExample"
missingKeyExample:
$ref: "#/components/examples/missingKeyExample"
incorrectKeyExample:
$ref: "#/components/examples/incorrectKeyExample"
security:
- apiKeyQuery: []
servers:
- url: https://hero-sms.com/stubs/handler_api.php
description: SMS-Activate API-compatible server
?action=getPrices:
get:
tags:
- SMS-Activate
summary: Получить актуальные цены
description: Метод устарел. Используйте метод GET
activations/offers/{verificationType}
operationId: getPrices
parameters:
- $ref: "#/components/parameters/qpSAOptionalService"
- $ref: "#/components/parameters/qpSAOptionalCountry"
responses:
"200":
description: Результат получения актуальных цен
content:
application/json:
schema:
$ref: "#/components/schemas/PricesByCountry"
examples:
successGetPrices:
$ref: "#/components/examples/successGetPrices"
incorrectServiceExample:
$ref: "#/components/examples/incorrectServiceExample"
incorrectCountryExample:
$ref: "#/components/examples/incorrectCountryExample"
badActionExample:
$ref: "#/components/examples/badActionExample"
missingKeyExample:
$ref: "#/components/examples/missingKeyExample"
incorrectKeyExample:
$ref: "#/components/examples/incorrectKeyExample"
deprecated: true
security:
- apiKeyQuery: []
servers:
- url: https://hero-sms.com/stubs/handler_api.php
description: SMS-Activate API-compatible server
?action=getTopCountriesByService:
get:
tags:
- SMS-Activate
summary: Получить топ стран по сервису
description: Метод устарел. Используйте метод GET
activations/offers/{verificationType}
operationId: getTopCountriesByService
parameters:
- $ref: "#/components/parameters/qpSAOptionalService"
- $ref: "#/components/parameters/qpSAOptionalFreePrice"
responses:
"200":
description: Результат получения топа стран по сервису
content:
application/json:
schema:
$ref: "#/components/schemas/TopCountriesByService"
examples:
topCountriesAllServicesExample:
$ref: "#/components/examples/topCountriesAllServicesExample"
topCountriesOneServiceExample:
$ref: "#/components/examples/topCountriesOneServiceExample"
missingKeyExample:
$ref: "#/components/examples/missingKeyExample"
incorrectKeyExample:
$ref: "#/components/examples/incorrectKeyExample"
deprecated: true
security:
- apiKeyQuery: []
servers:
- url: https://hero-sms.com/stubs/handler_api.php
description: SMS-Activate API-compatible server
?action=getTopCountriesByServiceRank:
get:
tags:
- SMS-Activate
summary: Получить топ стран по сервису с учетом ранга пользователя
description: Метод устарел. Используйте метод GET
activations/offers/{verificationType}
operationId: getTopCountriesByServiceRank
parameters:
- $ref: "#/components/parameters/qpSAOptionalService"
- $ref: "#/components/parameters/qpSAOptionalFreePrice"
responses:
"200":
description: Результат получения топа стран по сервису
content:
application/json:
schema:
$ref: "#/components/schemas/TopCountriesByService"
examples:
topCountriesAllServicesExample:
$ref: "#/components/examples/topCountriesAllServicesExample"
topCountriesOneServiceExample:
$ref: "#/components/examples/topCountriesOneServiceExample"
missingKeyExample:
$ref: "#/components/examples/missingKeyExample"
incorrectKeyExample:
$ref: "#/components/examples/incorrectKeyExample"
deprecated: true
security:
- apiKeyQuery: []
servers:
- url: https://hero-sms.com/stubs/handler_api.php
description: SMS-Activate API-compatible server
?action=serviceCountRent:
get:
tags:
- SMS-Activate
summary: Получить актуальные цены и количество по аренде по сервису
description: Возвращает цены и количество доступных номеров по выбранному
сервису для аренды
operationId: serviceCountRent
parameters:
- $ref: "#/components/parameters/qpSARequiredService"
- $ref: "#/components/parameters/qpSAOptionalCountry"
- $ref: "#/components/parameters/qpSAOptionalOperator"
- $ref: "#/components/parameters/qpSAOptionalCurrency"
responses:
"200":
description: Результат получения актуальных цен и количества по аренде
content:
application/json:
schema:
$ref: "#/components/schemas/RentCountByService"
examples:
Данные успешно получены:
$ref: "#/components/examples/successServiceCountRent"
Данные отсутствуют:
$ref: "#/components/examples/emptyServiceCountRent"
"400":
$ref: "#/components/responses/rentParamsBadRequestResponse"
"401":
$ref: "#/components/responses/unauthorizedResponse"
"500":
$ref: "#/components/responses/SAServerErrorResponse"
security:
- apiKeyQuery: []
servers:
- url: https://hero-sms.com/stubs/handler_api.php
description: SMS-Activate API-compatible server
?action=getRentServicesAndCountries:
get:
tags:
- SMS-Activate
summary: Получить актуальные цены и количество для аренды по стране
description: Возвращает цены и количество доступных номеров по сервисам, а также
список операторов
operationId: getRentServicesAndCountries
parameters:
- $ref: "#/components/parameters/qpSARequiredCountry"
- $ref: "#/components/parameters/qpSARequiredDuration"
responses:
"200":
description: Успешный результат
content:
application/json:
schema:
$ref: "#/components/schemas/getRentServicesAndCountries"
examples:
successGetRentServicesAndCountriesExample:
$ref: "#/components/examples/successGetRentServicesAndCountriesExample"
"400":
$ref: "#/components/responses/rentParamsBadRequestResponse"
"401":
$ref: "#/components/responses/unauthorizedResponse"
"422":
$ref: "#/components/responses/unprocessableEntityResponse"
"500":
$ref: "#/components/responses/SAServerErrorResponse"
security:
- apiKeyQuery: []
?action=getRentNumber:
get:
tags:
- SMS-Activate
summary: Запросить номер для аренды
description: Запрашивает телефонный номер для указанного сервиса и страны на
заданный срок.
operationId: getRentNumber
parameters:
- $ref: "#/components/parameters/qpSARequiredService"
- $ref: "#/components/parameters/qpSARequiredCountry"
- $ref: "#/components/parameters/qpSARequiredDuration"
- $ref: "#/components/parameters/qpSAOptionalOperator"
- $ref: "#/components/parameters/qpSAOptionalCurrency"
- $ref: "#/components/parameters/qpSAOptionalRef"
responses:
"200":
description: Результат запроса аренды номера
content:
application/json:
schema:
$ref: "#/components/schemas/successfulNumberv2Response"
"400":
$ref: "#/components/responses/rentParamsBadRequestResponse"
"401":
$ref: "#/components/responses/unauthorizedResponse"
"402":
$ref: "#/components/responses/paymentRequiredResponse"
"403":
$ref: "#/components/responses/forbiddenResponse"
"404":
$ref: "#/components/responses/noNumbersResponse"
"500":
$ref: "#/components/responses/SAServerErrorResponse"
security:
- apiKeyQuery: []
servers:
- url: https://hero-sms.com/stubs/handler_api.php
description: SMS-Activate API-compatible server
?action=getAllSms:
get:
tags:
- SMS-Activate
summary: Получить все otp для указанной активации
description: Запрашивает все otp для указанной активации.
operationId: getAllSms
parameters:
- $ref: "#/components/parameters/qpSARequiredActivationID"
- $ref: "#/components/parameters/qpSAOptionalSize"
- $ref: "#/components/parameters/qpSAOptionalPage"
responses:
"200":
description: Результат запроса всех otp
content:
application/json:
schema:
required:
- data
- meta
properties:
data:
$ref: "#/components/schemas/OtpListResponse"
meta:
schema: ResponseMeta
description: Мета-данные ответа
properties:
total:
description: Общее количество записей
type: integer
example: 42
service:
description: Код сервиса
type: string
example: full
type: object
type: object
"400":
$ref: "#/components/responses/badRequestResponse"
"401":
$ref: "#/components/responses/unauthorizedResponse"
"403":
$ref: "#/components/responses/forbiddenResponse"
"404":
$ref: "#/components/responses/activationNotFoundResponse"
"409":
$ref: "#/components/responses/activationNotActiveResponse"
"500":
$ref: "#/components/responses/SAServerErrorResponse"
security:
- apiKeyQuery: []
servers:
- url: https://hero-sms.com/stubs/handler_api.php
description: SMS-Activate API-compatible server
?action=finishActivation:
get:
tags:
- SMS-Activate
summary: Завершить работу с активацией
operationId: saFinishActivation
parameters:
- $ref: "#/components/parameters/qpSARequiredActivationID"
responses:
"204":
description: OK
"400":
$ref: "#/components/responses/badRequestResponse"
"401":
$ref: "#/components/responses/unauthorizedResponse"
"403":
$ref: "#/components/responses/forbiddenResponse"
"404":
$ref: "#/components/responses/activationNotFoundResponse"
"409":
$ref: "#/components/responses/activationFinishConflictResponse"
"500":
$ref: "#/components/responses/SAServerErrorResponse"
security:
- apiKeyQuery: []
servers:
- url: https://hero-sms.com/stubs/handler_api.php
description: SMS-Activate API-compatible server
?action=cancelActivation:
get:
tags:
- SMS-Activate
summary: Отменить покупку активации
operationId: saCancelActivation
parameters:
- $ref: "#/components/parameters/qpSARequiredActivationID"
responses:
"204":
description: OK
"400":
$ref: "#/components/responses/badRequestResponse"
"401":
$ref: "#/components/responses/unauthorizedResponse"
"403":
$ref: "#/components/responses/forbiddenResponse"
"404":
$ref: "#/components/responses/activationNotFoundResponse"
"409":
$ref: "#/components/responses/activationCancelConflictResponse"
"500":
$ref: "#/components/responses/SAServerErrorResponse"
security:
- apiKeyQuery: []
servers:
- url: https://hero-sms.com/stubs/handler_api.php
description: SMS-Activate API-compatible server
components:
schemas:
ActivationExtendDurationDTO:
required:
- unit
- value
properties:
unit:
type: string
example: hour
enum:
- minute
- hour
value:
type: integer
example: 24
type: object
ActivationExtendOptionDTOSchema:
required:
- price
- duration
properties:
price:
$ref: "#/components/schemas/Price"
duration:
$ref: "#/components/schemas/ActivationExtendDurationDTO"
type: object
ProlongationHistoryItemSchema:
properties:
duration:
type: integer
example: 24
price:
$ref: "#/components/schemas/Price"
createdAt:
$ref: "#/components/schemas/dateISO8601"
type: object
ActivationStatusTypes:
description: Статус активации
type: integer
example: 4
enum:
- 1
- 2
- 3
- 4
- 6
- 7
- 8
- 10
EmailActivationStatus:
description: Статус email активации
type: integer
example: 3
enum:
- 3
- 4
- 5
- 6
- 7
x-enum-descriptions:
"3": Ждёт сообщения
"4": Отменена, сообщение не получено
"5": Сообщение получено, активна (не завершена)
"6": Завершена пользователем или по таймауту, сообщение получено
"7": Вернули деньги
EmailActivation:
description: Активация по почте
required:
- id
- status
- cost
- currency
- date
properties:
id:
description: ID
type: integer
site:
$ref: "#/components/schemas/EmailSite"
email:
description: Почта
type: string
status:
$ref: "#/components/schemas/EmailActivationStatusView"
value:
description: Код
type:
- string
- "null"
cost:
$ref: "#/components/schemas/Price"
currency:
$ref: "#/components/schemas/Currency"
date:
$ref: "#/components/schemas/dateISO8601"
description: Дата создания
message:
description: Полное письмо
type:
- string
- "null"
type: object
ActivationOtpSchema:
properties:
id:
type: string
example: "12345643242"
smsCode:
type:
- string
- "null"
example: "123456"
smsText:
type:
- string
- "null"
example: Your verification code is 123456
receivedAt:
$ref: "#/components/schemas/dateISO8601"
type:
$ref: "#/components/schemas/VerificationType"
phoneFrom:
type: string
example: "89854"
service:
$ref: "#/components/schemas/ServiceId"
type: object
ActivationSchema:
properties:
id:
$ref: "#/components/schemas/ActivationId"
status:
$ref: "#/components/schemas/ActivationStatusTypes"
phone:
$ref: "#/components/schemas/ActivationPhone"
service:
$ref: "#/components/schemas/ServiceId"
country:
$ref: "#/components/schemas/CountryId"
countryPhoneCode:
type: integer
example: 7
operator:
$ref: "#/components/schemas/OperatorId"
price:
$ref: "#/components/schemas/Price"
createdAt:
$ref: "#/components/schemas/dateISO8601"
expiredAt:
$ref: "#/components/schemas/dateISO8601"
verificationType:
$ref: "#/components/schemas/VerificationType"
subtype:
$ref: "#/components/schemas/ActivationSubtype"
otpList:
type: array
items:
$ref: "#/components/schemas/ActivationOtpSchema"
minItems: 0
type: object
SuccessRate:
description: Процент успешных покупок от количества попыток
type: number
format: float
example: 20
OperatorCode:
description: Код оператора
type: string
example: any
ActivationsOffersSchema:
additionalProperties:
title: Сервис
type: object
additionalProperties:
title: ID страны
properties:
prices:
properties:
default:
type: number
format: float
example: 1.1
retail:
type: number
format: float
example: 1.1
min:
$ref: "#/components/schemas/MinPrice"
type: object
counts:
properties:
total:
type: integer
example: 101
physical:
type: integer
example: 51
defaultPrice:
type: integer
example: 50
type: object
map:
type: object
additionalProperties:
title: Цена
description: Цена -> количество
type: integer
type: object
ActivationsOffersMetaData:
allOf:
- $ref: "#/components/schemas/PaginationMetaData"
- properties:
order:
description: Порядок отображения данных для каждого типа сортировки
properties:
rate:
description: Порядок сервисов и стран по рейтингу
type: object
deliverability:
properties:
countries:
type: array
items:
type: integer
type: object
type: object
filters:
description: Применённые к выборке фильтры
properties:
countries:
type:
- array
- "null"
items:
$ref: "#/components/schemas/CountryId"
services:
type:
- array
- "null"
items:
type: string
type: object
type: object
EmailSite:
description: Сайт для которого берётся активация
type: string
example: telegram.com
EmailDomain:
description: Домен почты
type: string
example: gmail.com
EmailMaxPrice:
description: Верхняя граница цены позиции в валюте баланса. Без параметра
берётся самая дешёвая позиция
type:
- number
- "null"
format: float
example: 0.5
minimum: 0
EmailOffer:
description: Ценовая позиция по домену
required:
- cost
- count
properties:
cost:
description: Цена одной почты
type: number
format: float
example: 0.075
count:
description: Доступно почт по этой цене
type: integer
example: 10
type: object
EmailOfferDomain:
description: Домен и его ценовые позиции, отсортированные по цене
required:
- domain
- offers
properties:
domain:
$ref: "#/components/schemas/EmailDomain"
offers:
type: array
items:
$ref: "#/components/schemas/EmailOffer"
type: object
EmailActivationStatusView:
description: Статус email активации
type: string
example: WAIT
enum:
- WAIT
- CANCEL
- SUCCESS
x-enum-descriptions:
WAIT: Ждёт сообщения
CANCEL: Отменена или возврат средств
SUCCESS: Сообщение получено (активна или завершена)
PaginationMetaData:
description: Мета данные по пагинации
required:
- page
- size
- sort
- total
properties:
page:
description: Номер страницы с данными
type:
- integer
- "null"
example: 1
size:
description: Размер страницы с данными
type:
- integer
- "null"
example: 10
sort:
description: Сортировка данных по нескольким полям
type: object
additionalProperties:
description: Направление сортировки
type: string
enum:
- asc
- desc
total:
description: Общее количество записей
type:
- integer
- "null"
example: 100
hasMore:
description: Существует ли следующая страница
type: boolean
example: true
search:
description: Строка поиска
type: string
example: "8800"
filters:
description: Доступные значения фильтров для выборки
type: object
example:
countries:
- ru
- ua
services:
- go
- tg
type: object
ActivationPhone:
description: Номер телефона без знака +
type: integer
example: 79991234567
CountryId:
description: ID страны
type: integer
example: 2
maximum: 999
minimum: 0
ServiceId:
description: Код сервиса
type: string
pattern: ^[a-zA-Z]{2,4}$
example: tg
maxLength: 4
minLength: 2
OperatorId:
description: Код оператора или несколько кодов через запятую. Если не передан —
любой оператор
type: string
pattern: ^([a-zA-Z0-9!_]{2,},)*[_a-zA-Z0-9!]{2,}$
example: axis
default: any
PhoneException:
description: "Исключающие префиксы номеров через запятую: до 20 префиксов по 4–7 цифр"
type:
- string
- "null"
pattern: ^[0-9]{4,7}(,[0-9]{4,7}){0,19}$
example: 7900,7901234
MaxPrice:
description: Максимальная стоимость активации
type: number
format: float
example: 0.4321
minimum: 0.0067
Price:
description: Цена
type: number
format: float
example: 0.4321
Percent:
description: Процент
type: number
format: float
example: 50
FixedPrice:
description: Покупка строго за переданную максимальную цену. Использовать вместе
с параметром maxPrice.
type: boolean
example: true
RentDuration:
description: Продолжительность аренды в часах
type: integer
example: 24
enum:
- 24
- 72
- 168
- 336
- 720
- 1440
- 2160
- 4320
ActivationHistoryStatus:
description: Статус завершённой активации
type: integer
example: 6
enum:
- 6
- 8
- 10
x-enum-descriptions:
"6": Успешно завершена
"8": Отменена
"10": Возврат средств
ResellerUserId:
description: Идентификатор конечного клиента в системе реселлера
type: string
pattern: ^[a-zA-Z0-9_.@-]{1,36}$
example: "12345"
maxLength: 36
minLength: 1
MinPrice:
description: Минимально возможная персональная цена
type: number
format: float
example: 0.4321
ActivationId:
description: ID активации
type: integer
example: 123456
Currency:
description: ISO код валюты
type: integer
example: 840
default: 840
enum:
- 840
- 978
- 156
SMSText:
description: SMS Текст
type:
- string
- "null"
example: Your code is 12345
SMSCode:
description: SMS Код
type:
- string
- "null"
example: "12345"
VerificationType:
description: Тип верификации
type: string
example: sms
enum:
- sms
- call
ActivationSubtype:
description: Подтип активации. 1 - активация, 2 - аренда
type: integer
example: 1
enum:
- 1
- 2
dateISO8601:
description: Дата в формате ISO 8601
type: string
format: date-time
example: 2025-12-16T10:30:00.000000Z
dateRFC3339:
description: Дата в формате RFC3339
type: string
format: date-time
example: 2026-02-19T10:37:46+00:00
ActivationStatusV2:
properties:
verificationType:
$ref: "#/components/schemas/VerificationType"
data:
$ref: "#/components/schemas/OtpItem"
type: object
ActiveActivation:
properties:
activationId:
$ref: "#/components/schemas/ActivationId"
serviceCode:
$ref: "#/components/schemas/ServiceId"
phoneNumber:
$ref: "#/components/schemas/ActivationPhone"
activationCost:
description: Стоимость активации
type: number
format: float
example: 15.5
currency:
$ref: "#/components/schemas/Currency"
activationStatus:
description: Статус активации
type: integer
example: 4
smsCode:
$ref: "#/components/schemas/SMSCode"
smsText:
$ref: "#/components/schemas/SMSText"
activationTime:
$ref: "#/components/schemas/dateISO8601"
countryCode:
$ref: "#/components/schemas/CountryId"
countryName:
type: string
example: Kazakhstan
canGetAnotherSms:
type: string
example: "1"
verificationType:
$ref: "#/components/schemas/VerificationType"
subtype:
$ref: "#/components/schemas/ActivationSubtype"
type: object
ActiveActivations:
properties:
status:
type: string
data:
type: array
items:
$ref: "#/components/schemas/ActiveActivation"
minItems: 0
type: object
ActivationsHistory:
type: array
items:
properties:
id:
type: string
example: "635468024"
date:
type: string
format: date-time
example: 0000-00-00 00:00:00
phone:
type: string
example: 7*********0
sms:
type: string
example: Your code is ****
cost:
type: number
example: 0
status:
type: string
example: "4"
currency:
$ref: "#/components/schemas/Currency"
type: object
TopCountriesOneService:
properties:
physicalTotalCount:
type: integer
example: 9405
physicalCountForDefaultPrice:
type: integer
example: 4066
physicalPriceMap:
type: object
additionalProperties:
type: number
example: 0.018
retail_price:
type: number
example: 0.2
country:
type: integer
example: 6
price:
type: number
example: 0.045
count:
type: integer
example: 4528
type: object
TopCountriesAllServices:
type: object
additionalProperties:
$ref: "#/components/schemas/TopCountriesOneService"
TopCountriesByService:
type: object
additionalProperties:
oneOf:
- $ref: "#/components/schemas/TopCountriesAllServices"
- $ref: "#/components/schemas/TopCountriesOneService"
PricesByCountry:
type: object
additionalProperties:
type: object
additionalProperties:
properties:
cost:
type: number
example: 0.5
count:
type: integer
example: 10
physicalCount:
type: integer
example: 10
type: object
RentCountByService:
type: object
additionalProperties:
description: Страна (ключ — числовой идентификатор)
type: object
pattern: ^[0-9]+$
additionalProperties:
description: Длительность (ключ — числовой идентификатор)
required:
- count
- price
properties:
price:
description: Стоимость аренды
type: number
example: 0.5432
count:
description: Количество доступных номеров
type: integer
example: 10
type: object
pattern: ^[0-9]+$
getRentServicesAndCountries:
properties:
operators:
description: Операторы
type: object
additionalProperties:
type: string
services:
description: Сервисы
type: object
additionalProperties:
type: string
example: tg
additionalProperties:
properties:
quantity:
type: number
example: 2
price:
type: integer
example: 0.6
retail_price:
type: integer
example: 0.6
type: object
type: object
Country:
properties:
id:
$ref: "#/components/schemas/CountryId"
rus:
description: Название страны на русском
type: string
example: Казахстан
eng:
description: Название страны на английском
type: string
example: Kazakhstan
chn:
description: Название страны на китайском
type: string
example: Kazakhstan
visible:
description: 1 - доступно, 0 - недоступно
type: integer
example: 1
enum:
- 0
- 1
retry:
description: 1 - доступно, 0 - недоступно
type: integer
example: 1
enum:
- 0
- 1
type: object
Service:
properties:
code:
description: ID сервиса
type: string
example: aoo
name:
description: Название сервиса
type: string
example: Pegasus Airlines
type: object
Operators:
properties:
status:
type: string
countryOperators:
type: object
additionalProperties:
type: array
items:
type: string
type: object
AccountBannedInfo:
required:
- scope
- banned_until
- retry_after_seconds
properties:
scope:
description: "Область блокировки: на всё или на конкретную позицию"
type: string
enum:
- global
- specific
banned_until:
description: Unix Timestamp окончания бана
type: integer
retry_after_seconds:
description: Через сколько секунд можно повторить запрос
type: integer
readable_date:
$ref: "#/components/schemas/dateRFC3339"
type: object
successfulNumberv2Response:
properties:
activationId:
$ref: "#/components/schemas/ActivationId"
serviceCode:
$ref: "#/components/schemas/ServiceId"
phoneNumber:
$ref: "#/components/schemas/ActivationPhone"
activationCost:
description: Стоимость активации
type: number
format: float
example: 15.5
currency:
$ref: "#/components/schemas/Currency"
countryCode:
$ref: "#/components/schemas/CountryId"
countryPhoneCode:
description: Телефонный код страны
type: number
example: 62
canGetAnotherSms:
description: Повторное смс
type: boolean
example: true
activationTime:
$ref: "#/components/schemas/dateRFC3339"
description: Дата и время начала
activationEndTime:
$ref: "#/components/schemas/dateRFC3339"
description: Дата и время истечения
activationOperator:
$ref: "#/components/schemas/OperatorId"
verificationType:
$ref: "#/components/schemas/VerificationType"
subtype:
$ref: "#/components/schemas/ActivationSubtype"
status:
description: Статус активации
type: integer
example: 4
type: object
examples:
successfulNumberv2Example:
$ref: "#/components/examples/successfulNumberv2Example"
reactivationPriceResponse:
required:
- data
properties:
data:
required:
- price
properties:
price:
type: number
format: float
example: 1.4522
currency:
$ref: "#/components/schemas/Currency"
type: object
type: object
examples:
success:
$ref: "#/components/examples/successfulReactivationPriceExample"
prolongationPriceListResponse:
required:
- data
properties:
data:
description: "Стоимость продления аренды: часы - цена"
type: object
additionalProperties:
description: Стоимость для указанного кол-ва часов
type: number
format: float
example: 0.2134
type: object
examples:
success:
$ref: "#/components/examples/successfulProlongationPriceExample"
prolongationHistoryListResponse:
required:
- data
properties:
data:
description: Массив продлений. Может быть пустым.
type: array
items:
required:
- userPrice
- hours
- createDate
- payerType
properties:
userPrice:
description: Стоимость
type: number
format: float
example: 0.4621
hours:
description: Длительность аренды
type: number
example: 24
createDate:
$ref: "#/components/schemas/dateRFC3339"
description: Дата создания
payerType:
description: Тип продления
type: string
example: client
enum:
- client
- partner
type: object
minItems: 0
type: object
examples:
success:
$ref: "#/components/examples/successfulProlongationHistoryExample"
OtpListResponse:
description: Массив сообщений. Может быть пустым.
type: array
items:
$ref: "#/components/schemas/OtpItem"
examples:
successfulOtpListExample:
$ref: "#/components/examples/successfulOtpListExample"
minItems: 0
OtpItem:
required:
- id
- phoneFrom
- service
- date
- type
properties:
id:
description: ID OTP
type: string
example: "3416693217"
phoneFrom:
description: Источник OTP
type: string
example: Telegram
code:
$ref: "#/components/schemas/SMSCode"
text:
$ref: "#/components/schemas/SMSText"
service:
$ref: "#/components/schemas/ServiceId"
date:
$ref: "#/components/schemas/dateRFC3339"
description: Дата создания
type:
$ref: "#/components/schemas/VerificationType"
description: Тип otp
type: object
ActivationExtendOptionSchema:
required:
- price
- duration
properties:
price:
type: number
format: float
example: 1.4324
duration:
$ref: "#/components/schemas/ActivationExtendDurationSchema"
type: object
ActivationExtendDurationSchema:
required:
- unit
- value
properties:
unit:
type: string
example: hour
enum:
- minute
- hour
value:
type: integer
example: 24
type: object
BaseErrorResponse:
description: Базовая структура ответа об ошибке
required:
- title
- details
properties:
title:
description: Код ошибки
type: string
details:
description: Детали ошибки
type: string
info:
description: Расширенная информация
type: object
additionalProperties: true
type: object
responses:
ActivationOtpSuccessResponse:
description: Success response
content:
application/json:
schema:
required:
- data
properties:
data:
$ref: "#/components/schemas/ActivationOtpSchema"
type: object
ActivationOtpListSuccessResponse:
description: Success response
content:
application/json:
schema:
required:
- data
properties:
data:
type: array
items:
$ref: "#/components/schemas/ActivationOtpSchema"
type: object
ActivationsSuccessResponse:
description: Success response
content:
application/json:
schema:
required:
- data
properties:
data:
type: array
items:
$ref: "#/components/schemas/ActivationSchema"
type: object
example:
data:
- id: 1
status: 4
phone: "440959999999"
service: fb
country: 44
countryPhoneCode: 7
operator: axis
price: 1.05
otpList: []
createdAt: 2025-12-16T10:30:00.000000Z
expiredAt: 2025-12-16T10:30:00.000000Z
verificationType: sms
subtype: 1
ProlongHistorySuccessResponse:
description: Success response
content:
application/json:
schema:
required:
- data
properties:
data:
type: array
items:
$ref: "#/components/schemas/ProlongationHistoryItemSchema"
type: object
example:
data:
- duration: 24
price: 1.05
createdAt: 2025-12-16T10:30:00.000000Z
ActivationExtendOptionsSuccessResponse:
description: Success response
content:
application/json:
schema:
required:
- data
properties:
data:
required:
- options
properties:
options:
type: array
items:
$ref: "#/components/schemas/ActivationExtendOptionDTOSchema"
type: object
type: object
example:
data:
options:
- duration:
value: 2
unit: hour
price: 0.2145
- duration:
value: 24
unit: hour
price: 1.4324
ActivationsOffersSuccessResponse:
description: OK
content:
application/json:
schema:
properties:
data:
$ref: "#/components/schemas/ActivationsOffersSchema"
meta:
$ref: "#/components/schemas/ActivationsOffersMetaData"
type: object
examples:
Без фильтра:
$ref: "#/components/examples/ActivationsOffersExample"
Фильтр по сервисам:
$ref: "#/components/examples/ActivationsOffersServicesFilterExample"
Фильтр по странам:
$ref: "#/components/examples/ActivationsOffersCountriesFilterExample"
Фильтр по сервисам и странам:
$ref: "#/components/examples/ActivationsOffersServicesCountriesFiltersExample"
EmailActivationSuccessResponse:
description: OK
content:
application/json:
schema:
required:
- data
properties:
data:
$ref: "#/components/schemas/EmailActivation"
type: object
EmailActivationBatchSuccessResponse:
description: OK
content:
application/json:
schema:
properties:
data:
type: array
items:
$ref: "#/components/schemas/EmailActivation"
meta:
properties:
count:
type: integer
example: 3
type: object
type: object
ServerErrorResponse:
description: SERVER_ERROR
content:
application/json:
schema:
required:
- title
- details
properties:
title:
description: Код ошибки
type: string
enum:
- SERVER_ERROR
details:
description: Детали ошибки
type: string
type: object
TooManyRequestsResponse:
description: TOO_MANY_REQUESTS
headers:
Retry-After:
description: Значение в секундах
schema:
type: integer
content:
application/json:
schema:
required:
- title
- details
properties:
title:
description: Код ошибки
type: string
enum:
- RATE_LIMIT
details:
description: Детали ошибки
type: string
type: object
UnprocessableEntityResponse:
description: UNPROCESSABLE_ENTITY
content:
application/json:
schema:
required:
- title
- details
- errors
properties:
title:
description: Код ошибки
type: string
details:
description: Детали ошибки
type: string
errors:
type: object
example:
parameter1:
- The parameter1 is required.
- The parameter1 must be a number.
parameter2:
- The parameter2 must be a number.
additionalProperties:
type: array
items:
type: string
type: object
NotFoundResponse:
description: NOT_FOUND
content:
application/json:
schema:
required:
- title
- details
properties:
title:
description: Код ошибки
type: string
details:
description: Детали ошибки
type: string
type: object
EmailCancelBadRequestResponse:
description: BAD_REQUEST
content:
application/json:
schema:
required:
- title
- details
properties:
title:
description: Код ошибки
type: string
enum:
- EARLY_CANCEL_DENIED
- ACTIVATION_CANCELED
details:
description: Детали ошибки
type: string
type: object
EmailReorderBadRequestResponse:
description: BAD_REQUEST
content:
application/json:
schema:
required:
- title
- details
properties:
title:
description: Код ошибки
type: string
enum:
- STATUS_WAIT_CODE
- STATUS_CANCEL
- OUT_OF_STOCK
- ACTIVATION_CANCELED
details:
description: Детали ошибки
type: string
type: object
EmailCancelConflictResponse:
description: CONFLICT
content:
application/json:
schema:
required:
- title
- details
properties:
title:
description: Код ошибки
type: string
enum:
- CANCEL_DENIED_MESSAGE_RECEIVED
- RACE_CONDITION
details:
description: Детали ошибки
type: string
type: object
RaceConditionResponse:
description: CONFLICT
content:
application/json:
schema:
required:
- title
- details
properties:
title:
description: Код ошибки
type: string
enum:
- RACE_CONDITION
details:
description: Детали ошибки
type: string
type: object
ActivationBannedResponse:
description: FORBIDDEN
headers:
Retry-After:
description: Значение в секундах
schema:
type: integer
content:
application/json:
schema:
required:
- title
- details
properties:
title:
description: Код ошибки
type: string
enum:
- BANNED_GLOBAL
- BANNED_SPECIFIC
details:
description: Детали ошибки
type: string
type: object
UnauthorizedResponse:
description: UNAUTHORIZED
content:
application/json:
schema:
required:
- title
- details
properties:
title:
description: Код ошибки
type: string
enum:
- Unauthenticated.
details:
description: Детали ошибки
type: string
type: object
BadRequestResponse:
description: BAD_REQUEST
content:
application/json:
schema:
required:
- title
- details
properties:
title:
description: Код ошибки
type: string
details:
description: Детали ошибки
type: string
type: object
OfferNotFoundResponse:
description: NOT_FOUND
content:
application/json:
schema:
required:
- title
- details
properties:
title:
description: Код ошибки
type: string
enum:
- OFFER_NOT_FOUND
details:
description: Детали ошибки
type: string
type: object
TooEarlyRequestResponse:
description: TOO_EARLY
headers:
Retry-After:
description: Значение в секундах
schema:
type: integer
content:
application/json:
schema:
required:
- title
- details
properties:
title:
description: Код ошибки
type: string
enum:
- TOO_EARLY
details:
description: Детали ошибки
type: string
type: object
NoContentResponse:
description: NO_CONTENT
SAServerErrorResponse:
description: Внутренняя ошибка сервиса
content:
application/json:
schema:
$ref: "#/components/schemas/BaseErrorResponse"
examples:
SAServerErrorExample:
$ref: "#/components/examples/SAServerErrorExample"
methodNotFoundResponse:
description: Метод не найден
content:
application/json:
schema:
$ref: "#/components/schemas/BaseErrorResponse"
examples:
methodNotFoundExample:
$ref: "#/components/examples/methodNotFoundExample"
activationNotFoundResponse:
description: Активация не найдена
content:
application/json:
schema:
$ref: "#/components/schemas/BaseErrorResponse"
examples:
activationNotFoundExample:
$ref: "#/components/examples/activationNotFoundExample"
methodNotFoundExample:
$ref: "#/components/examples/methodNotFoundExample"
unauthorizedResponse:
description: Неверный апи-ключ
content:
application/json:
schema:
$ref: "#/components/schemas/BaseErrorResponse"
examples:
unauthorizedExample:
$ref: "#/components/examples/unauthorizedExample"
rentParamsBadRequestResponse:
description: Неверные параметры запроса
content:
application/json:
schema:
$ref: "#/components/schemas/BaseErrorResponse"
examples:
badDurationExample:
$ref: "#/components/examples/badDurationExample"
wrongCountryIdExample:
$ref: "#/components/examples/wrongCountryIdExample"
wrongServiceExample:
$ref: "#/components/examples/wrongServiceExample"
wrongCurrencyExample:
$ref: "#/components/examples/wrongCurrencyExample"
reactivationForbiddenResponse:
description: Доступ запрещён
content:
application/json:
schema:
$ref: "#/components/schemas/BaseErrorResponse"
examples:
serviceUnavailableExample:
$ref: "#/components/examples/serviceUnavailableExample"
simOfflineExample:
$ref: "#/components/examples/simOfflineExample"
simTemporaryOfflineExample:
$ref: "#/components/examples/simTemporaryOfflineExample"
prolongationBadRequestResponse:
description: Доступ запрещён
content:
application/json:
schema:
$ref: "#/components/schemas/BaseErrorResponse"
examples:
simOfflineExample:
$ref: "#/components/examples/simOfflineExample"
simTemporaryOfflineExample:
$ref: "#/components/examples/simTemporaryOfflineExample"
maxHoursExceedExample:
$ref: "#/components/examples/maxHoursExceedExample"
badDurationExample:
$ref: "#/components/examples/badDurationExample"
activationNotAvailableExample:
$ref: "#/components/examples/activationNotAvailableExample"
freezePeriodNotReachedExample:
$ref: "#/components/examples/freezePeriodNotReachedExample"
prolongationInfoBadRequestResponse:
description: Доступ запрещён
content:
application/json:
schema:
$ref: "#/components/schemas/BaseErrorResponse"
examples:
simOfflineExample:
$ref: "#/components/examples/simOfflineExample"
simTemporaryOfflineExample:
$ref: "#/components/examples/simTemporaryOfflineExample"
maxHoursExceedExample:
$ref: "#/components/examples/maxHoursExceedExample"
activationNotAvailableExample:
$ref: "#/components/examples/activationNotAvailableExample"
freezePeriodNotReachedExample:
$ref: "#/components/examples/freezePeriodNotReachedExample"
badRequestResponse:
description: Неверные параметры запроса
content:
application/json:
schema:
$ref: "#/components/schemas/BaseErrorResponse"
examples:
badStatusExampleJson:
$ref: "#/components/examples/badStatusExampleJson"
getNumberBadRequestResponse:
description: Неверные параметры запроса
content:
application/json:
schema:
$ref: "#/components/schemas/BaseErrorResponse"
examples:
wrongMaxPriceExampleJson:
$ref: "#/components/examples/wrongMaxPriceExampleJson"
unprocessableEntityResponse:
description: Неверные параметры запроса
content:
application/json:
schema:
$ref: "#/components/schemas/BaseErrorResponse"
examples:
unprocessableEntityExample:
$ref: "#/components/examples/unprocessableEntityExample"
forbiddenResponse:
description: Доступ запрещён
content:
application/json:
schema:
$ref: "#/components/schemas/BaseErrorResponse"
examples:
threadsReachedExample:
$ref: "#/components/examples/threadsReachedExample"
serviceRestrictedExample:
$ref: "#/components/examples/serviceRestrictedExample"
globalBanExample:
$ref: "#/components/examples/globalBanExample"
specificBanExample:
$ref: "#/components/examples/specificBanExample"
inactiveAccountExample:
$ref: "#/components/examples/inactiveAccountExample"
paymentRequiredResponse:
description: Недостаточно средств
content:
application/json:
schema:
$ref: "#/components/schemas/BaseErrorResponse"
examples:
paymentRequiredExample:
$ref: "#/components/examples/paymentRequiredExample"
noNumbersResponse:
description: Нет номеров в продаже
content:
application/json:
schema:
$ref: "#/components/schemas/BaseErrorResponse"
examples:
noNumbersExample:
$ref: "#/components/examples/noNumbersExample"
activationNotActiveResponse:
description: Активация неактивна. Действие невозможно
content:
application/json:
schema:
$ref: "#/components/schemas/BaseErrorResponse"
examples:
activationNotActiveExample:
$ref: "#/components/examples/activationNotActiveExample"
activationFinishConflictResponse:
description: Невозможно завершить активацию
content:
application/json:
schema:
$ref: "#/components/schemas/BaseErrorResponse"
examples:
activationNewOtpReceivedExample:
$ref: "#/components/examples/activationNewOtpReceivedExample"
activationNotActiveExample:
$ref: "#/components/examples/activationNotActiveExample"
activationCancelConflictResponse:
description: Невозможно отменить активацию
content:
application/json:
schema:
$ref: "#/components/schemas/BaseErrorResponse"
examples:
activationNewOtpReceivedExample:
$ref: "#/components/examples/activationNewOtpReceivedExample"
freeCancellationExpiredExample:
$ref: "#/components/examples/freeCancellationExpiredExample"
activationOtpReceivedExample:
$ref: "#/components/examples/activationOtpReceivedExample"
activationNotActiveExample:
$ref: "#/components/examples/activationNotActiveExample"
earlyCancellationExample:
$ref: "#/components/examples/earlyCancellationExample"
SaActivationExtendOptionsSuccessResponse:
description: Success response
content:
application/json:
schema:
required:
- data
properties:
data:
required:
- options
properties:
options:
type: array
items:
$ref: "#/components/schemas/ActivationExtendOptionSchema"
minItems: 0
type: object
type: object
examples:
success:
$ref: "#/components/examples/successExtendActivationOptionsExample"
parameters:
activationStatusesQuery:
name: statuses[]
in: query
description: Фильтр по статусам завершённых активаций
required: false
explode: true
schema:
type: array
items:
$ref: "#/components/schemas/ActivationHistoryStatus"
emailId:
name: emailId
in: path
description: ID email активации
required: true
schema:
type: integer
example: 123456789
emailStatusesQuery:
name: status[]
in: query
description: Фильтр по статусам email-активаций
required: false
explode: true
schema:
type: array
items:
$ref: "#/components/schemas/EmailActivationStatus"
intervalQuery:
name: interval
in: query
description: Временной интервал в часах
required: true
schema:
type: integer
enum:
- 12
- 24
successCountQuery:
name: successCount
in: query
description: Фильтр по количеству успешных активаций
required: true
schema:
type: string
enum:
- low
- medium
- high
- very_high
x-enum-descriptions:
low: меньше 50
medium: от 50
high: от 500
very_high: от 1000
withOperatorsQuery:
name: withOperators
in: query
description: Получить подробную статистику по операторам
schema:
type: boolean
example: false
default: false
search:
name: search
in: query
description: Строка поиска
schema:
type: string
maxLength: 255
minLength: 1
size:
name: size
in: query
description: Размер страницы с данными
schema:
type: integer
maximum: 25
minimum: 1
page:
name: page
in: query
description: Номер страницы с данными
schema:
type: integer
minimum: 1
sort:
name: sort
in: query
description: Сортировка данных по нескольким полям
required: false
style: deepObject
explode: true
schema:
properties:
id:
description: Направление сортировки
type: string
default: desc
enum:
- asc
- desc
type: object
from:
name: from
in: query
description: Дата начала периода в формате ISO 8601 YYYY-MM-DDTHH:MM:SSZ
required: false
schema:
type: string
format: date-time
to:
name: to
in: query
description: Дата до периода в формате ISO 8601 YYYY-MM-DDTHH:MM:SSZ
required: false
schema:
type: string
format: date-time
fromRequired:
name: from
in: query
description: Дата начала периода в формате ISO 8601 YYYY-MM-DDTHH:MM:SSZ
required: true
schema:
type: string
format: date-time
example: 2025-10-10T00:00:00Z
toRequired:
name: to
in: query
description: Дата до периода в формате ISO 8601 YYYY-MM-DDTHH:MM:SSZ
required: true
schema:
type: string
format: date-time
example: 2025-10-20T00:00:00Z
servicesPath:
name: services
in: query
description: Коды сервисов
schema:
type: string
example: tg,go,ig
countriesPath:
name: countries
in: query
description: ID стран
schema:
type: string
example: 6,33,50
verificationTypePath:
name: verificationType
in: path
description: Тип верификации
required: true
schema:
$ref: "#/components/schemas/VerificationType"
verificationTypeQuery:
name: verificationType
in: query
description: Тип верификации
schema:
$ref: "#/components/schemas/VerificationType"
activationPath:
name: activationId
in: path
description: ID активации
required: true
schema:
type: integer
example: 123456789
servicesQuery:
name: services[]
in: query
description: Массив идентификаторов сервисов
explode: true
schema:
type: array
items:
$ref: "#/components/schemas/ServiceId"
countriesQuery:
name: countries[]
in: query
description: Массив идентификаторов стран
explode: true
schema:
type: array
items:
$ref: "#/components/schemas/CountryId"
servicesQueryRequired:
name: services[]
in: query
description: Массив идентификаторов сервисов
required: true
explode: true
schema:
type: array
items:
$ref: "#/components/schemas/ServiceId"
minItems: 1
qpSARequiredService:
name: service
in: query
description: "[ID
сервиса](https://hero-sms.com/stubs/handler_api.php?action=getServicesL\
ist)"
required: true
schema:
type: string
example: tg
qpSAOptionalService:
name: service
in: query
description: "[ID
сервиса](https://hero-sms.com/stubs/handler_api.php?action=getServicesL\
ist)"
required: false
schema:
type: string
example: tg
qpSARequiredCountry:
name: country
in: query
description: "[ID
страны](https://hero-sms.com/stubs/handler_api.php?action=getCountries)"
required: true
schema:
type: number
example: 2
qpSAOptionalCountry:
name: country
in: query
description: "[ID
страны](https://hero-sms.com/stubs/handler_api.php?action=getCountries)"
required: false
schema:
type: number
example: 2
qpSAOptionalFreePrice:
name: freePrice
in: query
description: Использовать FreePrice
required: false
schema:
type: boolean
example: true
qpSAOptionalLang:
name: lang
in: query
description: ID языка
required: false
schema:
type: string
default: en
enum:
- en
- cn
- es
- de
- fr
- pt
- ru
- id
- vi
- tr
- ja
- ko
- ar
example: en
qpSAOptionalOperator:
name: operator
in: query
description: "[Список](https://hero-sms.com/stubs/handler_api.php?action=getOpe\
rators) желаемых операторов связи (через запятую без пробелов)"
required: false
schema:
type: string
example: tele2,beeline
qpSARequiredDuration:
name: duration
in: query
description: Время аренды в часах
required: true
schema:
type: number
example: 24
qpSADuration:
name: duration
in: query
description: Время аренды в часах
required: false
schema:
type: number
example: 24
qpSAOptionalCurrency:
name: currency
in: query
description: Валюта отображения
required: false
schema:
type: number
default: 840
enum:
- 643
- 840
- 978
- 156
example: 840
qpSAOptionalSize:
name: size
in: query
description: Размер страницы с данными
schema:
type: integer
qpSAOptionalPage:
name: page
in: query
description: Номер страницы с данными
schema:
type: integer
qpSAOptionalMaxPrice:
name: maxPrice
in: query
description: Максимальная цена
required: false
schema:
type: number
example: 2
qpSAOptionalFixedPrice:
name: fixedPrice
in: query
description: Покупка строго за переданную максимальную цену. Использовать вместе
с параметром maxPrice.
required: false
schema:
type: string
example: "true"
qpSAOptionalRef:
name: ref
in: query
description: Реферальный идентификатор
required: false
schema:
type: string
example: "123456789"
qpSAOptionalPhoneException:
name: phoneException
in: query
description: Исключающие префиксы. Вам не будут выдаваться номера с переданными
префиксами. Максимум 20 префиксов.
required: false
schema:
type: string
example: 7934,7900
qpSARequiredActivationID:
name: id
in: query
description: ID активации
required: true
schema:
type: integer
example: 123456789
qpSARequiredActivationStatus:
name: status
in: query
description: Статус активации
required: true
schema:
oneOf:
- title: Запросить код
type: integer
enum:
- 3
- title: Завершить активацию
type: integer
enum:
- 6
- title: Отменить активацию
type: integer
enum:
- 8
default: 3
example: 1
examples:
ActivationsOffersExample:
summary: Без фильтра
value:
data:
go:
"6":
prices:
default: 0.03
retail: 0.03
min: 0.03
counts:
total: 19459
physical: 10221
defaultPrice: 13610
map:
"0.0300": 1171867
"0.0589": 3453473
"0.1510": 3771610
"48":
prices:
default: 0.15
retail: 0.15
min: 0.15
counts:
total: 10446
physical: 1821
defaultPrice: 4654
map:
"0.1500": 14460
"0.1553": 28887
"0.6143": 670031
"50":
prices:
default: 0.35
retail: 0.35
min: 0.35
counts:
total: 31871
physical: 14454
defaultPrice: 14206
map:
"0.3500": 14306
"0.8226": 612179
"0.9308": 817343
ig:
"6":
prices:
default: 0.0334
retail: 0.0334
min: 0.0334
counts:
total: 39166
physical: 25787
defaultPrice: 31838
map:
"0.0334": 10184181
"0.0335": 10976322
"0.0338": 11802947
"48":
prices:
default: 0.06
retail: 0.06
min: 0.06
counts:
total: 5266
physical: 197
defaultPrice: 1509
map:
"0.0600": 7524
"0.0725": 12963
"0.2942": 204854
"50":
prices:
default: 0.075
retail: 0.075
min: 0.075
counts:
total: 36384
physical: 8404
defaultPrice: 8211
map:
"0.0750": 8211
"0.0942": 24639
"0.0948": 49334
tg:
"6":
prices:
default: 0.15
retail: 0.15
min: 0.15
counts:
total: 22598
physical: 12352
defaultPrice: 4787
map:
"0.1500": 286896
"0.1765": 327454
"1.7648": 5814269
"48":
prices:
default: 0.9
retail: 0.9
min: 0.9
counts:
total: 4076
physical: 896
defaultPrice: 0
map:
"1.0483": 204
"1.1593": 793
"2.4831": 46024
"50":
prices:
default: 1
retail: 1
min: 1
counts:
total: 48641
physical: 15336
defaultPrice: 183
map:
"1.0000": 183
"1.2504": 15885
"2.9412": 1411078
meta:
page: null
size: null
sort:
rate: asc
deliverability: desc
total: null
hasMore: false
order:
rate:
services:
- go
- ig
- tg
countries:
go:
- "6"
- "48"
- "50"
ig:
- "6"
- "48"
- "50"
tg:
- "6"
- "48"
- "50"
deliverability:
countries:
tg:
- "48"
- "6"
ig:
- "48"
- "6"
- "50"
go:
- "6"
- "48"
filters:
countries: []
services: []
ActivationsOffersServicesFilterExample:
summary: Фильтр по сервисам
value:
data:
go:
"6":
prices:
default: 0.03
retail: 0.03
min: 0.03
counts:
total: 19459
physical: 10221
defaultPrice: 13610
map:
"0.0300": 1171867
"0.0589": 3453473
"0.1510": 3771610
"48":
prices:
default: 0.15
retail: 0.15
min: 0.15
counts:
total: 10446
physical: 1821
defaultPrice: 4654
map:
"0.1500": 14460
"0.1553": 28887
"0.6143": 670031
"50":
prices:
default: 0.35
retail: 0.35
min: 0.35
counts:
total: 31871
physical: 14454
defaultPrice: 14206
map:
"0.3500": 14306
"0.8226": 612179
"0.9308": 817343
tg:
"6":
prices:
default: 0.15
retail: 0.15
min: 0.15
counts:
total: 22598
physical: 12352
defaultPrice: 4787
map:
"0.1500": 286896
"0.1765": 327454
"1.7648": 5814269
"48":
prices:
default: 0.9
retail: 0.9
min: 0.9
counts:
total: 4076
physical: 896
defaultPrice: 0
map:
"1.0483": 204
"1.1593": 793
"2.4831": 46024
"50":
prices:
default: 1
retail: 1
min: 1
counts:
total: 48641
physical: 15336
defaultPrice: 183
map:
"1.0000": 183
"1.2504": 15885
"2.9412": 1411078
meta:
page: null
size: null
sort:
rate: asc
deliverability: desc
total: null
hasMore: false
order:
rate:
services:
- go
- tg
countries:
go:
- "6"
- "48"
- "50"
tg:
- "6"
- "48"
- "50"
deliverability:
countries:
tg:
- "48"
- "6"
go:
- "6"
- "48"
filters:
countries: []
services:
- go
- tg
ActivationsOffersCountriesFilterExample:
summary: Фильтр по странам
value:
data:
go:
"6":
prices:
default: 0.03
retail: 0.03
min: 0.03
counts:
total: 19459
physical: 10221
defaultPrice: 13610
map:
"0.0300": 1171867
"0.0589": 3453473
"0.1510": 3771610
"48":
prices:
default: 0.15
retail: 0.15
min: 0.15
counts:
total: 10446
physical: 1821
defaultPrice: 4654
map:
"0.1500": 14460
"0.1553": 28887
"0.6143": 670031
ig:
"6":
prices:
default: 0.0334
retail: 0.0334
min: 0.0334
counts:
total: 39166
physical: 25787
defaultPrice: 31838
map:
"0.0334": 10184181
"0.0335": 10976322
"0.0338": 11802947
"48":
prices:
default: 0.06
retail: 0.06
min: 0.06
counts:
total: 5266
physical: 197
defaultPrice: 1509
map:
"0.0600": 7524
"0.0725": 12963
"0.2942": 204854
tg:
"6":
prices:
default: 0.15
retail: 0.15
min: 0.15
counts:
total: 22598
physical: 12352
defaultPrice: 4787
map:
"0.1500": 286896
"0.1765": 327454
"1.7648": 5814269
"48":
prices:
default: 0.9
retail: 0.9
min: 0.9
counts:
total: 4076
physical: 896
defaultPrice: 0
map:
"1.0483": 204
"1.1593": 793
"2.4831": 46024
meta:
page: null
size: null
sort:
rate: asc
deliverability: desc
total: null
hasMore: false
order:
rate:
services:
- go
- ig
- tg
countries:
go:
- "6"
- "48"
ig:
- "6"
- "48"
tg:
- "6"
- "48"
deliverability:
countries:
tg:
- "48"
- "6"
ig:
- "6"
- "48"
go:
- "48"
- "6"
filters:
countries:
- "6"
- "48"
services: []
ActivationsOffersServicesCountriesFiltersExample:
summary: Фильтр по сервисам и странам
value:
data:
ig:
"6":
prices:
default: 0.0334
retail: 0.0334
min: 0.0334
counts:
total: 39166
physical: 25787
defaultPrice: 31838
map:
"0.0334": 10184181
"0.0335": 10976322
"0.0338": 11802947
"50":
prices:
default: 0.075
retail: 0.075
min: 0.075
counts:
total: 36384
physical: 8404
defaultPrice: 8211
map:
"0.0750": 8211
"0.0942": 24639
"0.0948": 49334
tg:
"6":
prices:
default: 0.15
retail: 0.15
min: 0.15
counts:
total: 22598
physical: 12352
defaultPrice: 4787
map:
"0.1500": 286896
"0.1765": 327454
"1.7648": 5814269
"48":
prices:
default: 0.9
retail: 0.9
min: 0.9
counts:
total: 4076
physical: 896
defaultPrice: 0
map:
"1.0483": 204
"1.1593": 793
"2.4831": 46024
meta:
page: null
size: null
sort:
rate: asc
deliverability: desc
total: null
hasMore: false
order:
rate:
services:
- ig
- tg
countries:
ig:
- "6"
- "48"
tg:
- "6"
- "48"
deliverability:
countries:
tg:
- "48"
- "6"
ig:
- "48"
- "6"
filters:
countries:
- "6"
- "48"
services:
- ig
- tg
badActionExample:
summary: Неправильно указано действие
value: BAD_ACTION
sqlServerErrorExample:
summary: Ошибка сервера
value: ERROR_SQL
bannedExample:
summary: Пользователь заблокирован до указанной даты
value: BANNED:'YYYY-m-d H-i-s'
channelsLimitExample:
summary: Аккаунт заблокирован
value: CHANNELS_LIMIT
missingKeyExample:
summary: Нет апи-ключа
value: NO_KEY
incorrectKeyExample:
summary: Неправильный апи-ключ
value: BAD_KEY
badStatusExample:
summary: Некорректный статус
value: BAD_STATUS
numbersNotFoundExample:
summary: Номера не найдены
value: NO_NUMBERS
badServiceExample:
summary: Неправильно указан сервис
value: BAD_SERVICE
wrongMaxPriceExample:
summary: Указанное максимальное значение меньше допустимого. В ответе указана
минимальная цена
value: WRONG_MAX_PRICE:0.025
wrongMaxPriceExampleJson:
summary: Указанное максимальное значение меньше допустимого. В ответе указана
минимальная цена
value:
title: WRONG_MAX_PRICE
details: The maximum price is less than the permitted price
info:
min: 0.1234
wrongActivationIdExample:
summary: Неверный ID активации
value: WRONG_ACTIVATION_ID
badStatusExampleJson:
summary: Некорректный статус
value:
title: BAD_STATUS
details: Wrong status code
unprocessableEntityExample:
summary: Некорректный запрос
value:
title: UNPROCESSABLE_ENTITY
details: Validation failed
info:
field: service
code: REQUIRED
message: Param 'service' is required.
wrongCountryIdExample:
summary: Неверный ID страны
value:
title: WRONG_COUNTRY
details: ""
wrongServiceExample:
summary: Неправильное имя сервиса
value:
title: WRONG_SERVICE
details: Unsupported service
wrongCurrencyExample:
summary: Неподдерживаемая валюта
value:
title: WRONG_CURRENCY
details: Unsupported Currency
globalBanExample:
summary: Глобальная временная блокировка
value:
title: BANNED
details: Your account is temporarily suspended from making any purchases.
info:
scope: global
banned_until: 1739448000
retry_after_seconds: 3600
readable_date: 2026-02-13T12:00:00+00:00
specificBanExample:
summary: Временная блокировка на переданную позицию
value:
title: BANNED
details: Account temporarily suspended for this specific country/service pair.
info:
scope: specific
banned_until: 1739448000
retry_after_seconds: 3600
readable_date: 2026-02-20T15:00:00+00:00
successfulAccessReadyExample:
summary: Готовность номера подтверждена
value: ACCESS_READY
successfulRetryGetExample:
summary: Ожидание нового смс
value: ACCESS_RETRY_GET
successfulAccessActivationExample:
summary: Сервис успешно активирован
value: ACCESS_ACTIVATION
successfulAccessCancelExample:
summary: Активация отменена
value: ACCESS_CANCEL
earlyCancelDeniedExample:
summary: Нельзя отменить номер в первые 2 минуты
value: EARLY_CANCEL_DENIED
noActivationExample:
summary: ID активации не существует
value: NO_ACTIVATION
successfulWaitCodeExample:
summary: Ожидание смс
value: STATUS_WAIT_CODE
successfulWaitRetryExample:
summary: Ожидание уточнения кода
value: STATUS_WAIT_RETRY:100001
successfulWaitResendExample:
summary: Ожидание повторной отправки смс
value: STATUS_WAIT_RESEND
successfulCancelExample:
summary: Активация отменена
value: STATUS_CANCEL
successfulOKExample:
summary: Код получен
value: STATUS_OK:100001
incorrectServiceExample:
summary: Неправильно введен сервис
value:
status: "false"
msg: service is incorrect
incorrectCountryExample:
summary: Неправильно введена страна
value:
status: "false"
msg: country is incorrect
successfulBalanceExample:
summary: Баланс успешно получен
value: ACCESS_BALANCE:100.5
successfulNumberExample:
summary: Номер успешно получен
value: ACCESS_NUMBER:123456789:7*********0
successfulNumberv2Example:
summary: Номер успешно получен
value:
activationId: "635468024"
phoneNumber: 79584******
activationCost: 12.5
currency: 840
countryCode: 6
countryPhoneCode: 62
canGetAnotherSms: true
activationTime: 2026-02-18T16:11:33+00:00
activationEndTime: 2026-02-18T18:11:23+00:00
activationOperator: any
verificationType: sms
subtype: 1
serviceCode: vk
status: 4
successfulReactivationPriceExample:
summary: Стоимость получена успешна
value:
data:
price: 0.1234
successfulProlongationPriceExample:
summary: Стоимость получена успешно
value:
data:
"2": 0.1234
"4": 0.2234
"24": 1.2234
"168": 3.6432
successfulProlongationHistoryExample:
summary: История продлений получена успешна
value:
data:
- hours: 2
userPrice: 0.1442
createDate: 2026-04-01T22:00:58+3:00
payerType: client
- hours: 24
userPrice: 0
createDate: 2026-04-02T00:00:58+3:00
payerType: partner
successfulActivationV2Example:
summary: Статус активации успешно получен
value:
verificationType: sms
data:
id: "3416693217"
phoneFrom: Telegram
code: "123456"
text: Telegram code 123456
service: tg
date: 2026-02-16T12:36:59+03:00
type: sms
activationsSuccessfulExample:
summary: Список активаций успешно получен
value:
status: success
data:
- activationId: "635468021"
serviceCode: vk
phoneNumber: 79********1
activationCost: 12.5
activationStatus: "4"
smsCode: "12345"
smsText: Your code is 12345
activationTime: 2022-06-01 16:59:16
countryCode: "2"
countryName: Kazakhstan
canGetAnotherSms: "1"
currency: 840
verificationType: sms
subtype: 1
successfulActivationsHistoryExample:
summary: История активаций успешно получена
value:
- id: "635468024"
date: 0000-00-00 00:00:00
phone: 7*********0
sms: Your code is ****
cost: 0
status: "4"
currency: 840
successGetPrices:
summary: Актуальные цены успешно получены
value:
- baa:
cost: 0.08
count: 25370
physicalCount: 14528
topCountriesAllServicesExample:
summary: Топ стран по сервису без указания параметров успешно получен
value:
- ig:
- physicalTotalCount: 7933
physicalCountForDefaultPrice: 5198
physicalPriceMap:
"0.04": 24
"0.0415": 439
"0.0419": 3229
retail_price: 0.2
country: 6
price: 0.045
count: 5477
topCountriesOneServiceExample:
summary: Топ стран по сервису с указанием параметра "service" успешно получен
value:
- physicalTotalCount: 7933
physicalCountForDefaultPrice: 5198
physicalPriceMap:
"0.04": 24
"0.0415": 439
"0.0419": 3229
retail_price: 0.2
country: 6
price: 0.045
count: 5477
successServiceCountRent:
summary: Данные успешно получены
value:
"6":
"2":
count: 25370
price: 0.18
retail_price: 0.18
"12":
count: 400
price: 0.4568
retail_price: 0.4568
"48":
count: 4523
price: 0.8575
retail_price: 0.8575
emptyServiceCountRent:
summary: Данные отсутствуют
value: "{}"
successGetRentServicesAndCountriesExample:
summary: Данные успешно получены
value:
operators:
"1": tmobile
"2": three
services:
abc:
quantity: 2
price: 0.6
retail_price: 0.6
tg:
quantity: 2
price: 1.2
retail_price: 1.2
successExtendActivationOptionsExample:
summary: Данные успешно получены
value:
data:
options:
- duration:
value: 2
unit: hour
price: 0.2145
- duration:
value: 24
unit: hour
price: 1.4324
successGetCountriesExample:
summary: Список стран
value:
- id: 2
rus: Казахстан
eng: Kazakhstan
chn: 哈萨克斯坦
visible: 1
retry: 1
successGetServicesListExample:
summary: Список сервисов
value:
status: success
services:
- code: aoo
name: Pegasus Airlines
successfulGetOperatorsExample:
summary: Список операторов
value:
status: success
countryOperators:
"175":
- optus
- vodafone
- telstra
- lebara
operatorsNotFoundExample:
summary: Операторы не найдены
value: OPERATORS_NOT_FOUND
successfulRentNumberExample:
summary: Номер для аренды успешно получен
value:
id: "635468024"
phoneNumber: 79584******
cost: 1.5333
currency: 840
lockCancelTime: 120
endDate: 2022-06-01T22:00:58+03:00
operator: mtt
successfulOtpListExample:
summary: Список otp успешно получен
value:
data:
- id: "3416693217"
phoneFrom: Telegram
code: "123456"
text: Telegram code 123456
service: tg
date: 2026-02-16T12:36:59+03:00
type: sms
- id: "3416693218"
phoneFrom: "213421421431"
code: null
text: null
service: tg
date: 2026-02-16T12:36:59+03:00
type: call
badDurationExample:
summary: Недопустимое время аренды
value:
title: BAD_DURATION
details: Duration must be integer.
info:
min: 24
max: 720
available_durations:
- 24
- 72
- 168
- 720
serviceUnavailableExample:
summary: Сервис недоступен
value:
title: SERVICE_NOT_AVAILABLE
details: Service not available for sale. Contact the technical support.
simOfflineExample:
summary: Номер больше недоступен
value:
title: SIM_OFFLINE
details: Sim offline.
simTemporaryOfflineExample:
summary: Номер временно недоступен. Попробуйте позже.
value:
title: SIM_TEMPORARY_OFFLINE
details: Sim temporary offline. Try later.
maxHoursExceedExample:
summary: Переданное время продления превышает максимально возможное
value:
title: MAX_HOURS_EXCEED
details: Requested extension duration exceeds the maximum allowed hours.
info:
max: 336
activationNotAvailableExample:
summary: Действие недоступно для переданной активации
value:
title: ACTION_NOT_AVAILABLE
details: Action not available for this activation. Try '/reactivate' method.
freezePeriodNotReachedExample:
summary: Продление недоступно, пока действует период заморозки
value:
title: FREEZE_PERIOD_NOT_REACHED
details: Action not available while freeze period is active.
info:
retry_after_seconds: 3600
readable_date: 2026-01-01T10:00:00+00:00
threadsReachedExample:
summary: Ограничение потоков
value:
title: CHANNELS_LIMIT
details: You have reached the maximum number of concurrent threads (purchases)
allowed for your account. Contact the technical support.
info:
current_threads: 0
max_allowed: -1
serviceRestrictedExample:
summary: Позиция недоступна к продаже
value:
title: SERVICE_NOT_AVAILABLE
details: Service not available for sale. Contact the technical support.
inactiveAccountExample:
summary: Необходимо подтвердить учётную запись
value:
title: ACCOUNT_INACTIVE
details: Activate your account
activationFinishedExample:
summary: Активация завершена
value:
title: FINISHED
details: Activation finished.
activationRefundedExample:
summary: Средства за активацию возвращены
value:
title: REFUNDED
details: Activation blocked. Funds refunded.
activationCanceledExample:
summary: Активация отменена. Вам возвращены средства.
value:
title: CANCELED
details: Activation canceled.
freeCancellationExpiredExample:
summary: Невозможно отменить активацию
value:
title: FREE_CANCELLATION_EXPIRED
details: Cannot terminate activation - time limit exceeded (20 minutes)
earlyCancellationExample:
summary: Невозможно отменить активацию
value:
title: EARLY_CANCEL_DENIED
details: Activation cannot be cancelled at this time. Minimum activation period
must pass.
info:
minActivationTime: 120
activationOtpReceivedExample:
summary: Невозможно отменить активацию - пришло otp
value:
title: OTP_RECEIVED
details: Cannot terminate activation - OTP has been received on this number
paymentRequiredExample:
summary: Недостаточно средств
value:
title: NO_BALANCE
details: Payment Required
noNumbersExample:
summary: Нет номеров в продаже
value:
title: NO_NUMBERS
details: Numbers Gone. Try Later
activationNotActiveExample:
summary: Активация неактивна
value:
title: ACTIVATION_NOT_ACTIVE
details: Activation is terminated/refunded and Otp cannot be retrieved
SAServerErrorExample:
summary: Внутренняя ошибка сервиса
value:
title: SERVER_ERROR
details: Server Gone
methodNotFoundExample:
summary: Метод не найден
value:
title: BAD_ACTION
details: Method Not Found
activationNotFoundExample:
summary: Активация не найдена
value:
title: NOT_FOUND
details: Activation Not Found
unauthorizedExample:
summary: Неверный апи-ключ
value:
title: BAD_KEY
details: Unauthorized
activationNewOtpReceivedExample:
summary: Невозможно завершить активацию - пришло otp
value:
title: NEW_OTP_RECEIVED
details: Otp was received on this number. Please confirm termination.
info:
data:
- id: "3416693217"
phoneFrom: Telegram
code: "123456"
text: Telegram code 123456
service: tg
date: 2026-02-16T12:36:59+03:00
type: sms
- id: "3416693218"
phoneFrom: "213421421431"
code: null
text: null
service: tg
date: 2026-02-16T12:36:59+03:00
type: call
requestBodies:
BuyActivationRequestBody:
content:
application/json:
schema:
schema: BuyActivationRequestBody
required:
- service
- country
- amount
properties:
service:
$ref: "#/components/schemas/ServiceId"
country:
$ref: "#/components/schemas/CountryId"
amount:
description: Количество активаций к покупке
type: integer
example: 1
maximum: 10
minimum: 1
operator:
$ref: "#/components/schemas/OperatorId"
phoneException:
$ref: "#/components/schemas/PhoneException"
maxPrice:
$ref: "#/components/schemas/MaxPrice"
fixedPrice:
$ref: "#/components/schemas/FixedPrice"
duration:
$ref: "#/components/schemas/RentDuration"
verificationType:
$ref: "#/components/schemas/VerificationType"
resellerUserId:
$ref: "#/components/schemas/ResellerUserId"
type: object
ReactivateActivationRequestBody:
content:
application/json:
schema:
schema: ReactivateActivationRequestBody
required: []
properties:
duration:
$ref: "#/components/schemas/RentDuration"
type: object
ProlongActivationRequestBody:
content:
application/json:
schema:
schema: ProlongActivationRequestBody
required:
- duration
properties:
duration:
$ref: "#/components/schemas/RentDuration"
type: object
securitySchemes:
apiKeyAuth:
type: apiKey
description: "Format: ApiKey {your_token}"
name: Authorization
in: header
apiKeyQuery:
type: apiKey
name: api_key
in: query
tags:
- name: Activations
description: Список активных активаций, покупка и текущее предложение
- name: Activation OTP
description: Получение OTP по активной активации
- name: Emails
description: HeroSMS email activations
- name: SMS-Activate
description: API compatible with SMS-Activate
- name: Classifiers
description: Справочники
- name: Statistics
description: Статистика
- name: Webhooks
description: >
##### Real-time event notification mechanism.
After a purchase of the number, there is no need to repeatedly request
activation status to receive incoming SMS messages.
The service sends SMS content to the specified HTTPS URLs using the POST
method.
Up to 3 webhook URLs can be supported simultaneously.
URLs are specified in the accounts personal information.
Each webhook call is performed independently for each specified URL.
- Method: POST
- Content-Type: application/json
- Response timeout: 3 seconds
- If there is no response with code 200, the call is considered
unsuccessful:
- Number of retries - 7 times at least
- Delay between retries - 20–30 seconds
- Total duration of attempts - 3 minutes at least
It is strongly recommended to respond with a 200 code even if the SMS has
already been processed on the recipient's side.
##### Source IP addresses of webhook requests
To ensure correct performance, add the following IP addresses to the
whitelist:
- ```84.32.223.53```
- ```185.138.88.87```
webhooks:
sms-incoming:
post:
tags:
- Webhooks
summary: "Webhook: incoming SMS"
description: The event is sent upon reception of an incoming SMS to the number
linked to the active activation
operationId: smsIncoming
requestBody:
description: JSON with a data about the received SMS
required: true
content:
application/json:
schema:
required:
- activationId
- id
- phoneFrom
- service
- text
- country
- receivedAt
properties:
activationId:
$ref: "#/components/schemas/ActivationId"
phoneFrom:
description: Источник OTP
type: string
example: "89854"
service:
$ref: "#/components/schemas/ServiceId"
text:
$ref: "#/components/schemas/SMSText"
code:
$ref: "#/components/schemas/SMSCode"
country:
$ref: "#/components/schemas/CountryId"
receivedAt:
$ref: "#/components/schemas/dateISO8601"
description: SMS arrival time
type: object
responses:
"200":
description: Webhook successfully received (recommended response)
default:
description: Webhook is not accepted, up to 7 retries