List, update metadata, and delete images.
Images
Manage images within a project. Images are created via the Upload flow.
List images
GET /images/projects/{projectId}/images
| Param | Type | Default | Description |
|---|---|---|---|
limit | integer | 50 | Max results (1–100) |
offset | integer | 0 | Pagination offset |
curl -H "Authorization: Bearer spronta_img_..." \
"https://app.spronta.com/api/images/projects/123e4567-.../images?limit=20&offset=0"
Response 200
[
{
"id": "987fcdeb-51a2-3b4c-d567-890123456789",
"filename": "hero.jpg",
"contentType": "image/jpeg",
"fileSize": 2048576,
"width": 1920,
"height": 1080,
"blurhash": "LEHV6nWB2yk8pyo0adR*.7kCMdnj",
"altText": "Product hero shot",
"tags": ["hero", "product"],
"uploadStatus": "confirmed",
"url": "https://cdn.spronta.com/my-project/987fcdeb-...",
"createdAt": "2026-03-20T10:00:00.000Z"
}
]
Update image metadata
PATCH /images/projects/{projectId}/images/{imageId}
| Field | Type | Description | |
|---|---|---|---|
altText | string \ | null | Alt text (max 1000 chars) |
tags | string[] | Tags (max 50, each max 100 chars) |
curl -X PATCH \
-H "Authorization: Bearer spronta_img_..." \
-H "Content-Type: application/json" \
-d '{"altText": "Updated alt text", "tags": ["hero", "homepage"]}' \
https://app.spronta.com/api/images/projects/123e4567-.../images/987fcdeb-...
Response 200 — Returns the updated image.
Delete an image
DELETE /images/projects/{projectId}/images/{imageId}
Permanently deletes the image from storage and the database.
curl -X DELETE \
-H "Authorization: Bearer spronta_img_..." \
https://app.spronta.com/api/images/projects/123e4567-.../images/987fcdeb-...
Response 200
{ "deleted": true }