Справочник API
Справочник JSON API: коды 2FA, запросы IP, DNS и WHOIS, конвертация данных. Аутентификация ключом Bearer, лимиты и пример curl для каждого вызова.
Аутентификация
Создайте ключ в разделе Аккаунт → Ключи API, затем отправляйте его как bearer token. Для быстрых проверок подойдут и X-API-Key, и ?api_key=.
curl -s https://authbeta.com/api/v1/status \ -H "Authorization: Bearer ab_xxxxxxxxxxxxxxxxxxxx"
Базовый адрес: https://authbeta.com/api/v1 · Каждый ответ — это JSON с признаком ok.
Ограничения частоты
У каждого ключа свой лимит в минуту (по умолчанию 120). В ответах приходят X-RateLimit-Limit, X-RateLimit-Remaining и X-RateLimit-Reset; при превышении возвращается 429 с заголовком Retry-After.
Ошибки
| Код | Значение |
|---|---|
| 400 | Не хватает обязательного поля. |
| 401 | Ключ отсутствует, неверен, отключён или истёк. |
| 403 | У ключа нет области доступа, нужной этому методу. |
| 404 | Неизвестный метод или запись в хранилище не найдена. |
| 422 | Данные разобраны, но использовать их нельзя. |
| 429 | Превышен лимит запросов. |
| 503 | Администратор отключил API. |
{"ok": false, "error": "The \"secret\" field must be a valid base32 string."}
Эндпоинты
/totp
scope: totp
Сгенерировать код из секрета, ссылки otpauth или произвольного текста.
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| secret | uri | input | string | да | Секрет в base32, ссылка otpauth:// или текст, содержащий её. |
| digits | int | нет | 4-10, по умолчанию 6 |
| period | int | нет | Секунды, по умолчанию 30 |
| algorithm | string | нет | SHA1 | SHA256 | SHA512 | STEAM |
| counter | int | нет | Присутствует = режим HOTP |
| timestamp | int | нет | Время Unix, на которое считать код |
| include_secret | bool | нет | Вернуть и сам секрет, по умолчанию false |
/totp/verify
scope: totp
Проверить, подходит ли код к секрету.
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| secret | string | да | Секрет в base32 |
| code | string | да | Код для проверки |
| window | int | нет | Допустимое смещение в шагах, 0-10, по умолчанию 1 |
/totp/secret
scope: totp
Создать новый случайный секрет и ссылку otpauth к нему.
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| bytes | int | нет | 10-64, по умолчанию 20 (160 бит) |
| label | string | нет | Имя аккаунта |
| issuer | string | нет | Название сервиса |
/totp/qr
scope: totp
Нарисовать QR-код в PNG или SVG.
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| text | secret | string | да | Произвольный текст или секрет, из которого собрать ссылку otpauth |
| format | string | нет | png (по умолчанию) или svg |
| scale | int | нет | 2-20, пикселей на модуль |
| ecc | string | нет | L | M | Q | H |
| raw | bool | нет | Вернуть само изображение вместо JSON |
/totp/decode
scope: totp
Прочитать изображение QR и вернуть содержащиеся в нём данные 2FA.
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| image | string | да | Данные изображения в base64, с префиксом data: или без него |
/totp/bulk
scope: totp
Коды сразу для всего списка.
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| text | string | да | По одной записи в строке |
| delimiter | string | нет | auto (по умолчанию), pipe, comma, tab, … |
| include_secret | bool | нет | Вернуть и сами секреты, по умолчанию false |
/password
scope: password
Сгенерировать один или несколько паролей.
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| mode | string | нет | random | memorable | pin | hex | base64 | uuid |
| length | int | нет | 4-256 |
| quantity | int | нет | 1-50 |
| lowercase, uppercase, digits, symbols | bool | нет | Наборы символов для режима random |
| exclude_ambiguous, no_repeat, no_sequential | bool | нет | Дополнительные правила |
| words | int | нет | 2-12 для режима memorable |
/password/strength
scope: password
Оценить пароль.
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| password | string | да | Пароль для разбора |
/ip/{ip}
scope: ip
Сведения об IP-адресе. Без {ip} берётся ваш собственный адрес.
/dns
scope: ip
DNS-записи для имени хоста.
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| host | string | да | Доменное имя |
| type | string | нет | Список через запятую, по умолчанию A,AAAA,MX,NS,TXT |
/whois
scope: ip
Данные WHOIS для домена или IP.
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| query | string | да | Домен или IP |
/ports
scope: ip
Проверить, принимают ли порты TCP или UDP трафик. TCP возвращает open/closed/filtered. UDP возвращает open, closed (ICMP «недоступен»), likely_open (молчит, но хост сообщает о закрытых портах) или open|filtered, а также поле icmp: сообщает ли хост о закрытых портах.
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| host | string | да | Имя хоста или IP-адрес |
| protocol | string | нет | tcp (по умолчанию) или udp |
| ports | array|string | нет | Список портов или "53,123,161". По умолчанию — обычные порты выбранного протокола. |
/email-security
scope: ip
SPF, DMARC, MX, MTA-STS и TLS-RPT для домена.
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| domain | string | да | Доменное имя |
/text
scope: text
Выполнить операцию над текстом.
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| text | string | да | Исходный текст |
| operation | string | да | См. список операций ниже |
| … | mixed | нет | Параметры конкретной операции (delimiter, column, find, replace…) |
/vault
scope: vault
Список сохранённых аккаунтов 2FA с текущими кодами.
/vault/{id}/code
scope: vault
Текущий код одной записи хранилища. Для записей HOTP счётчик увеличивается.
/status
Сведения о ключе, которым вы пользуетесь.
Пример
curl -s https://authbeta.com/api/v1/totp \
-H "Authorization: Bearer ab_xxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"secret":"JBSWY3DPEHPK3PXP","digits":6}'
{
"ok": true,
"result": {
"issuer": "", "label": "", "digits": 6, "period": 30,
"algorithm": "SHA1", "type": "totp",
"code": "123456", "next_code": "654321",
"expires_in": 17, "server_time": 1771200000
}
}
Операции над текстом
Значения, которые принимает поле operation метода POST /text:
trim_lines
remove_empty
remove_duplicates
sort_asc
sort_desc
sort_natural
sort_length
shuffle
reverse_lines
reverse_text
number_lines
unique_count
extract_column
replace_delimiter
add_prefix_suffix
wrap_lines
find_replace
regex_replace
upper
lower
title
sentence
camel
snake
kebab
toggle_case
remove_spaces
collapse_spaces
remove_accents
slugify
base64_encode
base64_decode
url_encode
url_decode
html_encode
html_decode
hex_encode
hex_decode
json_escape
json_pretty
json_minify
extract_emails
extract_urls
extract_ips
extract_numbers
extract_secrets
hash_md5
hash_sha1
hash_sha256
hash_sha512
hash_crc32
join_lines
split_length
count_stats