# ulogo.it Developer API and CLI

The developer platform is API-first. The CLI calls the documented `/api/v1` routes only. It does not depend on web UI endpoints that are meant for browser sessions, cookies, or internal app behavior.

## Quickstart

```bash
npm install -g ulogo-cli
export ULOGO_API_KEY="your_api_key"
ulogo clean ./draft.png --wait --output ./brand --json
```

CLI source: https://github.com/ElyzeSolutions/ulogo-cli

## API Reference

- OpenAPI JSON: `/api/v1/openapi.json`
- Scalar reference UI: `/docs/developer/api-reference`

## Core API

- `POST /api/v1/projects/clean`
- `POST /api/v1/projects/generate`
- `GET /api/v1/projects`
- `GET /api/v1/projects/{projectId}`
- `GET /api/v1/projects/{projectId}/assets`
- `GET /api/v1/projects/{projectId}/assets/{assetId}/download`
- `POST /api/v1/projects/{projectId}/edits`
- `POST /api/v1/batches`
- `GET|POST /api/v1/webhooks`
- `POST /api/v1/webhooks/test`

Send `Authorization: Bearer <api-key>`. Job creation supports `Idempotency-Key`. Errors use `application/problem+json`. Rate limits return `Retry-After` and RateLimit headers.
