Обзор
Аутентификация и ключи API
Каждый запрос аутентифицируется персональным ключом API, который передаётся как Bearer-токен.
Передача ключа#
Добавляйте заголовок Authorization к каждому запросу:
GET /open/v1/me HTTP/1.1
Host: api.linework.app
Authorization: Bearer lwk_aBcD1234...
Все запросы должны выполняться по HTTPS. Ключи в строке запроса или в теле не принимаются.
О ключах API#
| Свойство | Описание |
|---|---|
| Формат | lwk_ + 40 букв и цифр |
| Владелец | Аккаунт Linework, который его создал. Все действия выполняются от имени этого аккаунта. |
| Разрешения | Scopes, выбранные при создании ключа. Изменить их позже нельзя: вместо этого создайте новый ключ. |
| Видимость | Показывается только один раз, при создании. Linework хранит лишь хеш и не может показать ключ повторно. |
| Ограничение | Не более 5 активных ключей на аккаунт. |
| Срок действия | Ключи не истекают. Они перестают работать, когда вы их отзываете или когда отзывается доступ разработчика. |
Управление ключами#
Всё делается в разделе web.linework.app → Настройки → Разработчикам:
- Создайте ключ, дайте ему имя и выберите scopes.
- Отзовите ключ: он сразу перестаёт работать, без возможности восстановления. Отозванные ключи не учитываются в ограничении в 5 ключей.
- Смотрите, когда каждый ключ использовался в последний раз, чтобы находить ключи, которые больше не нужны.
Ротация ключа#
- Создайте новый ключ с теми же scopes.
- Разверните его в своей интеграции.
- Убедитесь, что запросы работают, затем отзовите старый ключ.
Безопасное хранение ключей#
- Храните ключи на своём сервере. Никогда не размещайте ключ в мобильном приложении, на веб-странице, в публичном репозитории или в сообщении в поддержку.
- Давайте каждому ключу только необходимые scopes и используйте отдельный ключ для каждой интеграции.
- Если ключ утёк, немедленно отзовите его и создайте новый. Сотрудники Linework никогда не попросят у вас ключ.
Ошибки аутентификации#
| Статус | Код | Значение |
|---|---|---|
| 401 | INVALID_API_KEY | Заголовок отсутствует, ключ неверен или был отозван. |
| 403 | INSUFFICIENT_SCOPE | Ключ действителен, но у него нет scope, необходимого для этого endpoint. |
| 403 | DEVELOPER_ACCESS_REVOKED | Доступ разработчика для аккаунта приостановлен или отозван. Все его ключи перестают работать. |
| 403 | PROFILE_INCOMPLETE | Для endpoint записи нужен аккаунт с фото профиля и обложкой. |
Все коды — в разделе Ошибки.