Skip to main content
Attachments are files surfaced by Atlas during a session or job run. They can be annotated and downloaded via signed export URLs.

Endpoints

MethodPathDescription
GET/attachmentsList attachments
GET/attachments/{attachment_uuid}Get attachment details
PATCH/attachments/{attachment_uuid}Update attachment metadata
POST/attachments/{attachment_uuid}/exportGet a signed download URL
GET/attachments/{attachment_uuid}/annotationsList annotations
POST/annotationsCreate an annotation

List attachments

GET /attachments Returns attachments belonging to the authenticated user and attachments created by Atlas in their sessions. Query parameters:
ParameterRequiredTypeDescription
session_idNoUUIDFilter to a specific session
attachment_typeNostringFilter by file type (e.g. pdf, csv, bin)
created_afterNostringISO 8601 datetime lower bound
created_beforeNostringISO 8601 datetime upper bound
Example request:
curl "https://spacex.atlas.arenaphysica.com/api/v1/attachments?session_id=$SESSION_ID" \
  -H "Authorization: Bearer $ATLAS_TOKEN"
Returns {"items": [...], "count": N} where each item is an attachment object:
FieldTypeNullableDescription
attachment_idUUIDYesAttachment identifier
attachment_namestringNoOriginal filename
attachment_typestringNoFile type
attachment_titlestringYesDisplay title
attachment_descriptionstringYesDescription
attachment_citationstringYesSource citation
attachment_source_session_idUUIDYesSession this attachment belongs to
attachment_created_bystringNoCreator (email or "atlas")
attachment_created_atstringNoISO 8601 creation timestamp
is_visiblebooleanNoWhether the attachment should be shown in the UI
Example response:
{
  "items": [
    {
      "attachment_id": "f2a3b4c5-d6e7-8901-fabc-012345678901",
      "attachment_name": "telemetry.bin",
      "attachment_type": "bin",
      "attachment_title": null,
      "attachment_description": null,
      "attachment_citation": null,
      "attachment_source_session_id": "f6a7b8c9-d0e1-2345-fabc-456789012345",
      "attachment_created_by": "engineer@example.com",
      "attachment_created_at": "2026-04-13T10:21:00.000000",
      "is_visible": true
    }
  ],
  "count": 1
}

Get attachment details

GET /attachments/{attachment_uuid} Returns a single attachment with its full content payload. Example request:
curl "https://spacex.atlas.arenaphysica.com/api/v1/attachments/$ATTACHMENT_ID" \
  -H "Authorization: Bearer $ATLAS_TOKEN"
Response fields:
FieldTypeNullableDescription
attachment_idUUIDYesAttachment identifier
attachment_namestringNoOriginal filename
attachment_typestringNoFile type
attachment_titlestringYesDisplay title
attachment_descriptionstringYesDescription
attachment_citationstringYesSource citation
attachment_source_session_idUUIDYesSession this attachment belongs to
attachment_created_bystringNoCreator (email or "atlas")
attachment_created_atstringNoISO 8601 creation timestamp
is_visiblebooleanNoWhether the attachment is shown in the UI
attachment_contentobjectYesStructured content payload (chart data, table data, etc.)
s3_urlstringYesS3 URL of the underlying file
Example response:
{
  "attachment_id": "f2a3b4c5-d6e7-8901-fabc-012345678901",
  "attachment_name": "telemetry.bin",
  "attachment_type": "bin",
  "attachment_title": null,
  "attachment_description": null,
  "attachment_citation": null,
  "attachment_source_session_id": "f6a7b8c9-d0e1-2345-fabc-456789012345",
  "attachment_created_by": "engineer@example.com",
  "attachment_created_at": "2026-04-13T10:21:00.000000",
  "is_visible": true,
  "attachment_content": null,
  "s3_url": "s3://your-bucket/attachments/telemetry.bin"
}

Update attachment metadata

PATCH /attachments/{attachment_uuid} Request body (all fields optional):
FieldTypeDescription
attachment_titlestringDisplay title
attachment_descriptionstringDescription
attachment_citationstringSource citation
is_visiblebooleanWhether the attachment is shown in the UI
Example request:
curl -X PATCH "https://spacex.atlas.arenaphysica.com/api/v1/attachments/$ATTACHMENT_ID" \
  -H "Authorization: Bearer $ATLAS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"attachment_title": "Motor telemetry – test run 42"}'
Returns the updated attachment object with the same fields as the list response.

Download an attachment

POST /attachments/{attachment_uuid}/export Returns a signed URL for direct download. Example request:
curl -X POST "https://spacex.atlas.arenaphysica.com/api/v1/attachments/$ATTACHMENT_ID/export" \
  -H "Authorization: Bearer $ATLAS_TOKEN"
Response fields:
FieldTypeNullableDescription
presigned_urlstringYesTime-limited signed download URL
Example response:
{
  "presigned_url": "https://s3.amazonaws.com/your-bucket/..."
}

Create an annotation

POST /annotations Annotations mark regions of interest within an attachment. Request body:
FieldRequiredTypeDescription
attachment_idYesUUIDAttachment to annotate
annotation_typeYesstringAnnotation type: bbox (bounding box) or path
annotation_contentYesobjectStructured annotation content (see below)
The annotation_content object:
FieldRequiredTypeDescription
page_widthYesnumberWidth of the page/image being annotated
page_heightYesnumberHeight of the page/image being annotated
page_numberYesintegerPage number (0-indexed)
contentYesarrayList of bbox or path objects
Each bbox object in content:
FieldRequiredTypeDescription
tagsYesobjectKey-value tags (string or boolean values)
labelYesstringAnnotation label
xYesnumberLeft edge
yYesnumberTop edge
widthYesnumberBox width
heightYesnumberBox height
Example request:
curl -X POST "https://spacex.atlas.arenaphysica.com/api/v1/annotations" \
  -H "Authorization: Bearer $ATLAS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "attachment_id": "f2a3b4c5-d6e7-8901-fabc-012345678901",
    "annotation_type": "bbox",
    "annotation_content": {
      "page_width": 800,
      "page_height": 600,
      "page_number": 0,
      "content": [
        {"tags": {}, "label": "voltage sag region", "x": 120, "y": 45, "width": 200, "height": 80}
      ]
    }
  }'
Response fields:
FieldTypeDescription
attachment_idstringParent attachment
annotation_idstringAnnotation identifier
annotation_contentobjectThe annotation content
annotation_typestringAnnotation type
Example response:
{
  "attachment_id": "f2a3b4c5-d6e7-8901-fabc-012345678901",
  "annotation_id": "d1e2f3a4-b5c6-7890-defa-123456789012",
  "annotation_content": {
    "page_width": 800,
    "page_height": 600,
    "page_number": 0,
    "content": [
      {"tags": {}, "label": "voltage sag region", "x": 120, "y": 45, "width": 200, "height": 80}
    ]
  },
  "annotation_type": "bbox"
}

List annotations

GET /attachments/{attachment_uuid}/annotations Example request:
curl "https://spacex.atlas.arenaphysica.com/api/v1/attachments/$ATTACHMENT_ID/annotations" \
  -H "Authorization: Bearer $ATLAS_TOKEN"
Response fields (array):
FieldTypeDescription
uuidstringAnnotation identifier
annotation_typestringbbox or path
annotation_contentobjectStructured annotation data
attachment_idstringParent attachment ID
Example response:
[
  {
    "uuid": "d1e2f3a4-b5c6-7890-defa-123456789012",
    "annotation_type": "bbox",
    "annotation_content": {
      "page_width": 800,
      "page_height": 600,
      "page_number": 0,
      "content": [
        {"tags": {}, "label": "voltage sag region", "x": 120, "y": 45, "width": 200, "height": 80}
      ]
    },
    "attachment_id": "f2a3b4c5-d6e7-8901-fabc-012345678901"
  }
]