Автентифікація API, токени й доступ до облікового запису
Автентифікуйте REST-інтеграції токенами bearer, розрізняйте JWT-сесії браузера, керуйте обліковими даними й читайте профіль.
Перед початком
Базова адреса REST — https://tasker.fit/api. Створіть активний токен у профілі та передавайте Authorization: Bearer <your-api-token>. Замініть ID прикладів значеннями, отриманими для свого облікового запису.
Планування робочого процесу
Tasker підтримує два механізми. Іменований API-токен використовує Bearer і підходить для серверної інтеграції чи MCP. Інтерактивний вхід повертає access_token і refresh_token; вебклієнт передає access зі схемою JWT. Не плутайте ці дані й не використовуйте refresh у заголовку автентифікації.
Реєстрація та вхід потребують дійсного captcha_token. Вхід приймає поле username і код автентифікатора при ввімкненій 2FA. Керування токенами потребує входу. Після оновлення збережіть повернуту пару токенів перед наступними запитами.
Приклад
Автентифікуйте REST-інтеграції токенами bearer, розрізняйте JWT-сесії браузера, керуйте обліковими даними й читайте профіль.
Покрокові інструкції / 1
Процес інтеграції
Створіть іменований токен у профілі та збережіть у приватних налаштуваннях інтеграції.
Надішліть GET /member/me/ із Bearer для перевірки власника облікових даних.
Називайте токени за інтеграцією, за потреби задавайте строк і вимикайте чи видаляйте непотрібні.
Очікуваний результат: Прочитайте об’єкт data та збережіть ідентифікатори для наступних запитів. Перевіряйте HTTP-статус перед підтвердженням успіху запису.
Endpoint та приклади запитів
ID, токени й дати в прикладах замініть власними значеннями. Кожен приклад показує поля для конкретної дії, а не повну схему відповіді.
| Метод | Маршрут | Дія |
|---|---|---|
| GET | /member/me/ | Отримати авторизований профіль |
| GET | /member/bearer-tokens/ | Список токенів інтеграції |
| POST | /member/bearer-tokens/ | Створити токен інтеграції |
| PATCH | /member/bearer-tokens/detail/ | Вимкнути або змінити токен |
| DELETE | /member/bearer-tokens/detail/ | Відкликати токен |
| POST | /member/login/ | Інтерактивний вхід |
| POST | /member/register/ | Зареєструвати обліковий запис |
| POST | /member/refresh-token/ | Оновити JWT-сесію |
/api/member/me/Отримати авторизований профіль
Потрібна автентифікація та права на операцію.
Приклад cURL
curl --request GET 'https://tasker.fit/api/member/me/' \
--header 'Authorization: Bearer <your-api-token>'/api/member/bearer-tokens/Список токенів інтеграції
Потрібна автентифікація та права на операцію.
Параметри URL (приклад)
{
"page": 1,
"limit": 20
}Приклад cURL
curl --request GET 'https://tasker.fit/api/member/bearer-tokens/?page=1&limit=20' \
--header 'Authorization: Bearer <your-api-token>'/api/member/bearer-tokens/Створити токен інтеграції
Потрібна автентифікація та права на операцію.
Тіло JSON (приклад)
{
"title": "Release integration",
"is_active": true
}Додаткові поля: metadata, expires_at
Приклад cURL
curl --request POST 'https://tasker.fit/api/member/bearer-tokens/' \
--header 'Authorization: Bearer <your-api-token>' \
--header 'Content-Type: application/json' \
--data '{
"title": "Release integration",
"is_active": true
}'/api/member/bearer-tokens/detail/Вимкнути або змінити токен
Потрібна автентифікація та права на операцію.
Параметри URL (приклад)
{
"key": "<token-key>"
}Тіло JSON (приклад)
{
"is_active": false
}Додаткові поля: title, metadata, expires_at
Приклад cURL
curl --request PATCH 'https://tasker.fit/api/member/bearer-tokens/detail/?key=%3Ctoken-key%3E' \
--header 'Authorization: Bearer <your-api-token>' \
--header 'Content-Type: application/json' \
--data '{
"is_active": false
}'/api/member/bearer-tokens/detail/Відкликати токен
Потрібна автентифікація та права на операцію.
Параметри URL (приклад)
{
"key": "<token-key>"
}Приклад cURL
curl --request DELETE 'https://tasker.fit/api/member/bearer-tokens/detail/?key=%3Ctoken-key%3E' \
--header 'Authorization: Bearer <your-api-token>'/api/member/login/Інтерактивний вхід
Без Bearer-заголовка; виконайте вимоги тіла запиту.
Тіло JSON (приклад)
{
"username": "your-username",
"password": "<password>",
"captcha_token": "<valid-captcha-token>"
}Додаткові поля: code
Приклад cURL
curl --request POST 'https://tasker.fit/api/member/login/' \
--header 'Content-Type: application/json' \
--data '{
"username": "your-username",
"password": "<password>",
"captcha_token": "<valid-captcha-token>"
}'/api/member/register/Зареєструвати обліковий запис
Без Bearer-заголовка; виконайте вимоги тіла запиту.
Тіло JSON (приклад)
{
"first_name": "Alex",
"username": "your-username",
"email": "[email protected]",
"password": "<password>",
"captcha_token": "<valid-captcha-token>"
}Додаткові поля: last_name, description
Приклад cURL
curl --request POST 'https://tasker.fit/api/member/register/' \
--header 'Content-Type: application/json' \
--data '{
"first_name": "Alex",
"username": "your-username",
"email": "[email protected]",
"password": "<password>",
"captcha_token": "<valid-captcha-token>"
}'/api/member/refresh-token/Оновити JWT-сесію
Без Bearer-заголовка; виконайте вимоги тіла запиту.
Тіло JSON (приклад)
{
"refresh_token": "<refresh-token>"
}Приклад cURL
curl --request POST 'https://tasker.fit/api/member/refresh-token/' \
--header 'Content-Type: application/json' \
--data '{
"refresh_token": "<refresh-token>"
}'Поради й вирішення проблем
- Приклади показують основні поля запиту, а не всі додаткові поля чи повну схему відповіді. Query-поля передавайте в URL, JSON-поля — у тілі. Зберігайте кінцеві слеші адрес.
- Не публікуйте ключі токенів чи паролі. У прикладах навмисно використано заповнювачі. Видалення токена клієнта припиняє його подальший доступ.
Поширені запитання
Чи можна використовувати приклади з будь-яким обліковим записом?
Читати й змінювати можна лише доступні токену ресурси. Використовуйте отримані ID просторів, дошок, завдань і числових ресурсів; демонстраційні значення є заповнювачами.
Що робити інтеграції при помилці запиту?
Перевірте HTTP-статус і відповідь помилки. Перевірте ID, обов’язкові поля, активність, строк токена та права. Не повторюйте POST наосліп: попередня спроба могла вже створити ресурс.