HTTP API
Базовый URL: https://addtothese.com/api/v1. Аутентификация — через Authorization: Bearer att_... (API-токен) или сессию браузера вместе с X-CSRF-Token. Все тела запросов и ответов — JSON; ошибки возвращаются как {"error": "...", "code": "..."}.
| Метод | Путь | Назначение |
|---|---|---|
| POST | /auth/register | {email, password, name} |
| POST | /auth/login | {email, password}; может вернуть {mfa_required: true} |
| POST | /auth/totp/verify | {code} |
| POST | /auth/logout | |
| POST | /auth/password/forgot | /auth/password/reset | {email} | {token, password} |
| GET | /auth/oauth/{google|github} | запускает OAuth |
| GET/PATCH | /me | аккаунт; PATCH {name} |
| POST | /me/totp/setup | enable | disable | двухфакторная аутентификация |
| POST | /me/password | {current_password, new_password} |
| GET/POST/DELETE | /tokens[/{id}] | API-токены; POST {name} один раз возвращает секрет |
| GET/POST/DELETE | /endpoints[/{id}] | POST {subdomain, protocol} |
| POST | /endpoints/ephemeral | {protocol} случайное имя |
| GET/POST/DELETE | /domains[/{id}] | POST {domain, endpoint_id} |
| POST | /domains/{id}/verify | проверка DNS |
| POST | /agent-token | {endpoints: []} возвращает {token, upstream_url, endpoints, expires_at} |
| GET | /usage | текущий период и история |
| GET | /tunnels | подключённые агенты |
| GET | /billing/prices | тарифы и цены Stripe |
| POST | /billing/checkout | /billing/portal | {price} возвращает {url} |