Структура ответа#

Детальное описание структуры ответа от /auth/token.

Основная структура#

ПолеТипОбязательноОписание
tokenstringНетJWT токен доступа
expiresAtstringНетВремя истечения токена в формате ISO 8601 (UTC)
errorErrorНетИнформация об ошибке (присутствует только при ошибке)

Успешный ответ#

При успешной аутентификации возвращаются поля token и expiresAt:

ПолеТипОбязательноОписание
tokenstringДаJWT токен доступа для использования в последующих запросах
expiresAtstringДаДата и время истечения токена в формате ISO 8601 (UTC)

Пример успешного ответа#

1{
2  "token": "eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJxWXo4...",
3  "expiresAt": "2025-12-29T12:00:00Z"
4}

Поле token#

JWT токен доступа для использования в заголовке Authorization: Bearer {token} при всех запросах к API.

Поле expiresAt#

Время истечения токена в формате ISO 8601 (UTC). После этого времени токен становится недействительным и необходимо получить новый.

Примеры формата:

  • 2025-12-29T12:00:00Z
  • 2025-12-29T12:00:00.000Z

Ответ с ошибкой#

При ошибке аутентификации API возвращает HTTP 401 Unauthorized с полем error в теле ответа.

Пример#

1{
2  "error": {
3    "code": "AUTHENTICATION_FAILED",
4    "message": "Authentication failed",
5    "description": null,
6    "errorId": "018c5f2e-9b3a-7f4d-8e2c-1a2b3c4d5e6f"
7  }
8}

Коды ошибок#

КодОписаниеПричина
AUTHENTICATION_FAILEDОшибка аутентификацииНеверные clientId или clientSecret

Использование токена#

После получения токена используйте его в заголовке Authorization для всех запросов к API:

1curl -X POST https://test.travel-api.ru/avia/search \
2  -H "Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJxWXo4..." \
3  -H "Content-Type: application/json" \
4  -d '{ ... }'

HTTP статус коды#

СтатусОписание
200 OKУспешная аутентификация
401 UnauthorizedОшибка аутентификации (подробности в поле error в теле ответа)