# Deploya Deploy API v1

Базовый URL: `https://app.deploya.ru/api/v1`. Авторизация: `Authorization: Bearer dpl_live_...`.

## Деплой

`POST /api/v1/deployments`, тип `multipart/form-data`:

- `archive` — обязательный ZIP с готовым статическим сайтом;
- `projectId` — идентификатор существующего проекта; без него создаётся новый;
- `name`, `subdomain`, `teamId` — необязательны при создании;
- `entrypoint` — главный HTML, по умолчанию определяется автоматически;
- `target` — `production` или `preview` (preview доступен после первого production-деплоя).

Для безопасного повтора передавайте `Idempotency-Key: <uuid>`. Один ключ в течение 24 часов возвращает тот же результат и не создаёт повторную версию.

```bash
curl -X POST https://app.deploya.ru/api/v1/deployments \
  -H "Authorization: Bearer $DEPLOYA_TOKEN" \
  -H "Idempotency-Key: $(uuidgen)" \
  -F "archive=@site.zip" \
  -F "name=Мой сайт" \
  -F "target=production"
```

## Управление

- `GET /me` — аккаунт, scopes, тарифные лимиты, занятое хранилище и остаток проектов;
- `GET /projects`, `GET /projects/:id`, `GET /teams` — выбор проекта и команды;
- `PATCH /projects/:id` — название, поддомен и entrypoint без создания копии;
- `PATCH /projects/:id/status`, `DELETE /projects/:id` — остановка/запуск и удаление;
- `GET /projects/:id/stats` — аналитика;
- `GET /projects/:id/versions`, `POST /projects/:id/versions/:versionId/restore` — версии;
- `GET|POST /projects/:id/domains`, проверка и удаление домена — управление доменами.

Машиночитаемая схема: https://docs.deploya.ru/openapi.json.
