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
ParamTypeDefaultDescription
limitinteger50Max results (1–100)
offsetinteger0Pagination 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}
FieldTypeDescription
altTextstring \nullAlt text (max 1000 chars)
tagsstring[]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 }