Skip to main content

Incident media

An Incident can have up to 10 attachments. Uploads use signed URLs and are attached to an Incident in a separate step.

Attachment flow

  1. Generate an upload URL.
  2. Upload the file to the returned signed uploadUrl before it expires.
  3. Send the returned fileId to POST /incidents/{incidentId}/media.
  4. Store the media ID from the Incident's mediaIds collection for download or deletion.

Generate a temporary upload URL

  • Method: GET
  • Endpoint: /upload/temp/incidents/media/urls
  • Operation ID: get-incident-temp-media-upload-url
  • Query parameter: optional UUID mediaId, useful for offline synchronization

Generate an upload URL for an existing Incident

  • Method: GET
  • Endpoint: /upload/incidents/{incidentId}/media/urls
  • Operation ID: get-incident-media-upload-url
  • Query parameter: optional client-generated UUID mediaId

This endpoint verifies organization access and attachment capacity before issuing the URL.

Both upload URL endpoints return:

{
"uploadUrl": "https://signed-upload-url.example/...",
"fileId": "44100168-11b1-4396-b863-96872820ab5f"
}

Attach uploaded media

  • Method: POST
  • Endpoint: /incidents/{incidentId}/media
  • Operation ID: add-incident-media
{
"mediaIds": [
"44100168-11b1-4396-b863-96872820ab5f"
]
}

mediaIds must contain 1 to 10 unique UUIDs. The uploaded objects must belong to the same organization. Success returns 200 OK with the updated IncidentResponse.

Download media

  • Method: GET
  • Endpoint: /download/incidents/{incidentId}/media/{mediaId}/urls
  • Operation ID: get-incident-media-download-url
{
"downloadUrl": "https://signed-download-url.example/...",
"thumbnailDownloadUrl": "https://signed-thumbnail-url.example/..."
}

thumbnailDownloadUrl can be null when no thumbnail is available.

Delete media

  • Method: POST
  • Endpoint: /incidents/{incidentId}/media/delete
  • Operation ID: delete-incident-media
{
"mediaIds": [
"44100168-11b1-4396-b863-96872820ab5f"
]
}

Success returns 204 No Content and removes the attachments from the Incident and object storage.

Common errors include 400 Bad Request for invalid media IDs, missing uploads, or the 10-attachment limit; 401 Unauthorized; 404 Not Found; and 500 Internal Server Error.