Every endpoint of the Imagelato REST API, generated from the API itself.
All endpoints are relative to https://api.imagelato.com. Create an API key in your Imagelato dashboard, then authenticate every request with it.
apiKey — HTTP Basic auth carrying only the API key secret: Authorization: Basic base64(<key secret>).
accessToken — Operator session token issued by the Imagelato dashboard: Authorization: Token <access token>.
Download the OpenAPI specification for use with your own tooling.
List batches
Lists the processed image batches of your organization, optionally filtered by projectId. Requires the batches:read scope.
| Name | In | Type | Description |
|---|---|---|---|
| projectId | query | string | |
| limit | query | integer | |
| skip | query | integer | |
| sortField | query | string | |
| sortDirection | query | string (ASC | DESC) |
| Status | Meaning |
|---|---|
| 200 | Array of batches |
| 401 | Missing or invalid credentials |
| 403 | API key is missing the batches:read scope |
| 429 | API key rate limit exceeded |
Delete a batch
Deletes a batch and every S3 object it produced. Identify it with either ?url=<encoded> or ?_id=<batchId>. Emits the batch.deleted webhook event. Requires the batches:write scope.
| Name | In | Type | Description |
|---|---|---|---|
| _id | query | string | |
| url | query | string |
| Status | Meaning |
|---|---|
| 200 | The deleted batch |
| 401 | Missing or invalid credentials |
| 403 | API key is missing the batches:write scope |
| 404 | Not found (or not owned by your organization) |
| 429 | API key rate limit exceeded |
Get a batch by id
Fetches a single processed image batch by id, scoped to your organization. Requires the batches:read scope. Returns 404 when the batch belongs to another organization, so ids cannot be probed.
| Name | In | Type | Description |
|---|---|---|---|
| batchIdrequired | path | string |
| Status | Meaning |
|---|---|
| 200 | The batch |
| 401 | Missing or invalid credentials |
| 403 | API key is missing the batches:read scope |
| 404 | Not found (or not owned by your organization) |
| 429 | API key rate limit exceeded |
List uploaded images
Lists the object keys under the images bucket, optionally filtered by prefix. Requires the images:read scope.
| Name | In | Type | Description |
|---|---|---|---|
| prefix | query | string |
| Status | Meaning |
|---|---|
| 200 | Array of image object keys |
| 401 | Missing or invalid credentials |
| 403 | API key is missing the images:read scope |
| 429 | API key rate limit exceeded |
Process an image
Uploads a base64 image and resizes/reformats it to the requested sizes and formats (or those of a named template), returning a batch of CDN URLs. Emits the batch.created webhook event. Requires the images:write scope.
| Field | Type | Description |
|---|---|---|
| filerequired | string | Data URI, e.g. data:image/png;base64,<...> |
| projectId | string | |
| slug | string | |
| template | string | |
| formats | array | |
| sizes | array |
| Status | Meaning |
|---|---|
| 200 | The created batch (main URL + variants) |
| 401 | Missing or invalid credentials |
| 403 | API key is missing the images:write scope |
| 429 | API key rate limit exceeded |
List projects
Lists the projects of your organization. Requires the projects:read scope.
| Status | Meaning |
|---|---|
| 200 | Array of projects |
| 401 | Missing or invalid credentials |
| 403 | API key is missing the projects:read scope |
| 429 | API key rate limit exceeded |
Create a project
Creates a project in your organization. Emits the project.created webhook event. Requires the projects:write scope.
| Field | Type | Description |
|---|---|---|
| name | string |
| Status | Meaning |
|---|---|
| 200 | The created project |
| 401 | Missing or invalid credentials |
| 403 | API key is missing the projects:write scope |
| 429 | API key rate limit exceeded |
Get a project by id
Fetches a single project by id, scoped to your organization. Requires the projects:read scope. Returns 404 when the project belongs to another organization, so ids cannot be probed.
| Name | In | Type | Description |
|---|---|---|---|
| projectIdrequired | path | string |
| Status | Meaning |
|---|---|
| 200 | The project |
| 404 | Not found (or not owned by your organization) |
List templates
Lists the templates of your organization, optionally filtered by projectId. Requires the templates:read scope.
| Name | In | Type | Description |
|---|---|---|---|
| projectId | query | string | |
| fields | query | string | Comma-separated projection of fields to return |
| Status | Meaning |
|---|---|
| 200 | Array of templates |
| 401 | Missing or invalid credentials |
| 403 | API key is missing the templates:read scope |
| 429 | API key rate limit exceeded |
Create or update a template
Creates a template (or updates one when _id is supplied) in your organization. Emits template.created or template.updated. Requires the templates:write scope.
| Field | Type | Description |
|---|---|---|
| namerequired | string | |
| projectIdrequired | string | |
| formats | array | |
| sizes | array |
| Status | Meaning |
|---|---|
| 200 | The created or updated template |
| 401 | Missing or invalid credentials |
| 403 | API key is missing the templates:write scope |
| 429 | API key rate limit exceeded |
Get a template by id or name
Fetches a single template by id (uuid) or by name, scoped to your organization. Requires the templates:read scope. Returns 404 when the template belongs to another organization, so ids cannot be probed.
| Name | In | Type | Description |
|---|---|---|---|
| idOrNamerequired | path | string |
| Status | Meaning |
|---|---|
| 200 | The template |
| 404 | Not found (or not owned by your organization) |
List webhook subscriptions
Webhook subscriptions deliver batch.created, batch.deleted, project.created, template.created and template.updated events to your server as signed POST requests (X-Imagelato-Signature: t=<timestamp>,v1=<hex HMAC-SHA256 of "timestamp.body">). An endpoint failing 20 times in a row is disabled automatically. Subscriptions are managed with an operator access token; the secret is only returned once, on create.
| Status | Meaning |
|---|---|
| 200 | Array of webhook subscriptions (without secrets) |
Create a webhook subscription
The response includes the signing secret exactly once — store it; it cannot be retrieved again.
| Field | Type | Description |
|---|---|---|
| projectIdrequired | string | |
| urlrequired | string | |
| events | array (batch.created | batch.deleted | project.created | template.created | template.updated) | Empty array subscribes to all events |
| Status | Meaning |
|---|---|
| 200 | The created subscription, including its secret |
Update a webhook subscription
url, events and active are editable; the secret and project are immutable. Re-enabling an auto-disabled endpoint is done by setting active back to true.
| Name | In | Type | Description |
|---|---|---|---|
| webhookSubscriptionIdrequired | path | string |
| Status | Meaning |
|---|---|
| 200 | The updated subscription (without secret) |
Delete a webhook subscription
| Name | In | Type | Description |
|---|---|---|---|
| webhookSubscriptionIdrequired | path | string |
| Status | Meaning |
|---|---|
| 200 | Deleted |