Аутентификация

Создайте ключ в разделе Аккаунт → Ключи 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."}

Эндпоинты

POST /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
POST /totp/verify scope: totp

Проверить, подходит ли код к секрету.

Параметр Тип Обязательный Описание
secret string да Секрет в base32
code string да Код для проверки
window int нет Допустимое смещение в шагах, 0-10, по умолчанию 1
POST /totp/secret scope: totp

Создать новый случайный секрет и ссылку otpauth к нему.

Параметр Тип Обязательный Описание
bytes int нет 10-64, по умолчанию 20 (160 бит)
label string нет Имя аккаунта
issuer string нет Название сервиса
POST /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
POST /totp/decode scope: totp

Прочитать изображение QR и вернуть содержащиеся в нём данные 2FA.

Параметр Тип Обязательный Описание
image string да Данные изображения в base64, с префиксом data: или без него
POST /totp/bulk scope: totp

Коды сразу для всего списка.

Параметр Тип Обязательный Описание
text string да По одной записи в строке
delimiter string нет auto (по умолчанию), pipe, comma, tab, …
include_secret bool нет Вернуть и сами секреты, по умолчанию false
POST /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
POST /password/strength scope: password

Оценить пароль.

Параметр Тип Обязательный Описание
password string да Пароль для разбора
GET /ip/{ip} scope: ip

Сведения об IP-адресе. Без {ip} берётся ваш собственный адрес.

GET /dns scope: ip

DNS-записи для имени хоста.

Параметр Тип Обязательный Описание
host string да Доменное имя
type string нет Список через запятую, по умолчанию A,AAAA,MX,NS,TXT
GET /whois scope: ip

Данные WHOIS для домена или IP.

Параметр Тип Обязательный Описание
query string да Домен или IP
POST /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". По умолчанию — обычные порты выбранного протокола.
GET /email-security scope: ip

SPF, DMARC, MX, MTA-STS и TLS-RPT для домена.

Параметр Тип Обязательный Описание
domain string да Доменное имя
POST /text scope: text

Выполнить операцию над текстом.

Параметр Тип Обязательный Описание
text string да Исходный текст
operation string да См. список операций ниже
… mixed нет Параметры конкретной операции (delimiter, column, find, replace…)
GET /vault scope: vault

Список сохранённых аккаунтов 2FA с текущими кодами.

GET /vault/{id}/code scope: vault

Текущий код одной записи хранилища. Для записей HOTP счётчик увеличивается.

GET /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