Skip to content
Быстрые старты

Быстрый старт с cURL

Вообще без SDK — аутентифицируйтесь по API-ключу проекта и вызывайте инфраструктурный API /platform/v1 из терминала.

Всё, что делают SDK и генерируемые клиенты, работает поверх одного обычного HTTPS-API. Этот быстрый старт делает ваш первый аутентифицированный вызов /platform/v1 с помощью одного лишь curl.

Что понадобится

  • Проект и API-ключ проекта (fvpn_v1_…), выпущенный в консоли — это описано в руководстве по API-ключам
  • curljq, если любите красиво отформатированный JSON)

1. Экспортируйте учётные данные

export FVPN_API_KEY="fvpn_v1_…"          # shown exactly once at mint time
export FVPN_PROJECT_ID="<your-project-uuid>"

2. Первый аутентифицированный вызов

Получите список API-ключей проекта — простейшее аутентифицированное чтение:

curl https://api.fvpn.net/platform/v1/api-keys \
  -H "Authorization: Bearer $FVPN_API_KEY" \
  -H "X-Project-Id: $FVPN_PROJECT_ID"

200 возвращает ключи проекта в скрытом виде — секрет никогда не появляется в ответе со списком:

[
  {
    "id": "8b9c1a2e-…",
    "name": "ci-deploy",
    "key_prefix": "fvpn_v1_ab12…cd34",
    "created_at": "2026-07-01T10:12:03Z",
    "last_used_at": "2026-07-08T09:41:57Z"
  }
]

Два правила, которые стоит запомнить:

  • Bearer — это всё, что нужно. Ключ передаётся в Authorization: Bearer fvpn_v1_… — без cookie и без схем подписи.
  • Ключи привязаны к проекту. X-Project-Id должен указывать на собственный проект ключа; любой другой идентификатор проекта даёт 401.

3. Дальше

Каждая операция /platform/v1 и /consumer/v1 описана в справочнике API, сгенерированном из тех же OpenAPI-документов, из которых собираются клиенты. Хорошие следующие вызовы:

# The projects you belong to
curl https://api.fvpn.net/platform/v1/projects \
  -H "Authorization: Bearer $FVPN_API_KEY" \
  -H "X-Project-Id: $FVPN_PROJECT_ID"

# Recent billing webhook events for the project
curl https://api.fvpn.net/platform/v1/billing/webhooks \
  -H "Authorization: Bearer $FVPN_API_KEY" \
  -H "X-Project-Id: $FVPN_PROJECT_ID"

Чем проверяется

scripts/quickstart-verify/api-key-auth.sh — прогоняет тот же сценарий, что на этой странице (выпуск ключа → аутентифицированный 200 → отзыв), против живого стека при каждом прогоне, где он доступен, и явно пропускается, где нет.