Skip to main content
A session is an interactive conversation with Atlas for exploratory and open-ended analysis. Upload files into a session to give Atlas context.

Endpoints

MethodPathDescription
POST/sessionsCreate a session
GET/sessionsList sessions
GET/sessions/{session_id}Get a session
PUT/sessions/{session_id}Update a session
DELETE/sessions/{session_id}Delete a session
POST/sessions/{session_id}/upload-filesUpload files to a session
DELETE/sessions/{session_id}/attachments/{attachment_id}Remove an attachment from a session

Create a session

POST /sessions Request body:
FieldRequiredTypeDescription
titleNostringSession display name. Defaults to "New Atlas session"
attachmentsNoarrayList of {attachment_id} objects to pre-associate
Example request:
curl -X POST "https://spacex.atlas.arenaphysica.com/api/v1/sessions" \
  -H "Authorization: Bearer $ATLAS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"title": "Motor anomaly investigation"}'
Response fields:
FieldTypeNullableDescription
session_idUUIDNoSession identifier
session_titlestringYesDisplay name
session_descriptionstringYesSession description
session_created_bystringNoCreator email
session_created_atstringNoISO 8601 creation timestamp
attachmentsarrayNoList of attachment objects associated with this session
imported_projectsarrayNoUUIDs of imported projects
is_starredbooleanNoWhether the session is starred
starred_atstringYesISO 8601 timestamp of when starred
Example response:
{
  "session_id": "f6a7b8c9-d0e1-2345-fabc-456789012345",
  "session_title": "Motor anomaly investigation",
  "session_description": null,
  "session_created_by": "engineer@example.com",
  "session_created_at": "2026-04-13T10:20:00.000000",
  "attachments": [],
  "imported_projects": [],
  "is_starred": false,
  "starred_at": null
}

List sessions

GET /sessions Example request:
curl "https://spacex.atlas.arenaphysica.com/api/v1/sessions" \
  -H "Authorization: Bearer $ATLAS_TOKEN"
Returns {"items": [...], "count": N} where each item is a session object with the same fields as the create response (except attachments, which is only included on the single-session GET).

Get a session

GET /sessions/{session_id} Example request:
curl "https://spacex.atlas.arenaphysica.com/api/v1/sessions/$SESSION_ID" \
  -H "Authorization: Bearer $ATLAS_TOKEN"
Returns a single session object with the same fields as the create response.

Update a session

PUT /sessions/{session_id} All fields are optional.
FieldTypeDescription
titlestringNew display name
descriptionstringSession description
starredbooleanSet to true to star the session
Example request:
curl -X PUT "https://spacex.atlas.arenaphysica.com/api/v1/sessions/$SESSION_ID" \
  -H "Authorization: Bearer $ATLAS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"title": "Motor anomaly – root cause confirmed", "starred": true}'
Returns the updated session object with the same fields as the create response.

Delete a session

DELETE /sessions/{session_id} Example request:
curl -X DELETE "https://spacex.atlas.arenaphysica.com/api/v1/sessions/$SESSION_ID" \
  -H "Authorization: Bearer $ATLAS_TOKEN"
Returns 204 No Content.

Upload files

POST /sessions/{session_id}/upload-files Upload one or more files as multipart/form-data. Each uploaded file becomes an attachment in the session. Form fields:
FieldRequiredDescription
filesYesOne or more file binaries (repeat the files field for multiple uploads)
Example request:
curl -X POST "https://spacex.atlas.arenaphysica.com/api/v1/sessions/$SESSION_ID/upload-files" \
  -H "Authorization: Bearer $ATLAS_TOKEN" \
  -F "files=@telemetry.bin" \
  -F "files=@config.json"
Response fields (array):
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
Example response:
[
  {
    "attachment_id": "a7b8c9d0-e1f2-3456-abcd-567890123456",
    "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
  }
]
Returns an array of attachment objects, one per uploaded file.

Remove an attachment

DELETE /sessions/{session_id}/attachments/{attachment_id} Removes an attachment from a session. Example request:
curl -X DELETE "https://spacex.atlas.arenaphysica.com/api/v1/sessions/$SESSION_ID/attachments/$ATTACHMENT_ID" \
  -H "Authorization: Bearer $ATLAS_TOKEN"
Returns 204 No Content.