# babbleBrush API

Current version: `v1`

## v1

- Base path: `/api/v1`
- Auth: `Authorization: Bearer <api_token>`

### Endpoints
- `GET /api/v1/canvases`: List canvases for the authenticated user.
- `POST /api/v1/canvases`: Create a new canvas from an uploaded image.
- `GET /api/v1/canvases/:canvas_id/versions`: List versions for a canvas.
- `POST /api/v1/canvases/:canvas_id/versions`: Create a new edit version from a prompt.
- `GET /api/v1/canvases/:canvas_id/versions/:id`: Get one canvas version.
- `POST /api/v1/canvases/:canvas_id/versions/:id/cancel`: Cancel a pending or processing version.
- `POST /api/v1/canvases/:canvas_id/versions/:id/images`: Upload an image for a version.
- `POST /api/v1/canvases/:canvas_id/versions/:id/promote`: Promote a version to be the current one.
- `DELETE /api/v1/canvases/:id`: Delete a canvas.
- `GET /api/v1/canvases/:id`: Get one canvas with its current state.
- `PATCH /api/v1/canvases/:id`: Update canvas attributes like title or model.
- `PUT /api/v1/canvases/:id`: Update canvas attributes like title or model.
- `POST /api/v1/canvases/blank`: Create a new blank canvas.
- `POST /api/v1/image-localisation-runs`: Create a new async image localisation run.
- `GET /api/v1/image-localisation-runs/:id`: Get one image localisation run.
- `GET /api/v1/me`: Get current authenticated user details.
- `PATCH /api/v1/me`: Update current authenticated user settings.
- `PUT /api/v1/me`: Update current authenticated user settings.
- `GET /api/v1/provider-credentials`: List saved provider API key status.
- `POST /api/v1/provider-credentials`: Save or update a provider API key.
- `DELETE /api/v1/provider-credentials/:provider`: Delete a saved provider API key.
- `GET /api/v1/provider-models`: List available providers and models.
