Endpoints

Tasks & messages

Tasks & messages endpoints of the Elnora REST API.

Base URL https://platform.elnora.ai/api/v1. Authenticate every request with the X-API-Key header — see Authentication.

GET /tasks

List all user's tasks across projects.

curl https://platform.elnora.ai/api/v1/tasks \
  -H "X-API-Key: $ELNORA_API_KEY"

Parameters

NameInTypeRequired
Pagequeryint32no
PageSizequeryint32no
SortByquerystringno
SortDirectionquerystringno
statusquerystringno

Responses: 200 · 400

POST /tasks

Create a new task.

curl -X POST https://platform.elnora.ai/api/v1/tasks \
  -H "X-API-Key: $ELNORA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ ... }'

Request body

FieldTypeRequired
titlestringno
initialMessagestringno
contextFileIdsuuid[]no
referencedFileIdsuuid[]no

Responses: 201 · 400

GET /tasks/{id}

Get task with messages.

curl https://platform.elnora.ai/api/v1/tasks/{id} \
  -H "X-API-Key: $ELNORA_API_KEY"

Parameters

NameInTypeRequired
idpathuuidyes

Responses: 200

PUT /tasks/{id}

Update task (title, status).

curl -X PUT https://platform.elnora.ai/api/v1/tasks/{id} \
  -H "X-API-Key: $ELNORA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ ... }'

Parameters

NameInTypeRequired
idpathuuidyes

Request body

FieldTypeRequired
titlestringno
statusstringno

Responses: 200

DELETE /tasks/{id}

Archive a task.

curl -X DELETE https://platform.elnora.ai/api/v1/tasks/{id} \
  -H "X-API-Key: $ELNORA_API_KEY"

Parameters

NameInTypeRequired
idpathuuidyes

Responses: 204

GET /tasks/{id}/messages

Get messages for a task with cursor pagination.

curl https://platform.elnora.ai/api/v1/tasks/{id}/messages \
  -H "X-API-Key: $ELNORA_API_KEY"

Parameters

NameInTypeRequired
idpathuuidyes
Cursorquerystringno
Limitqueryint32no

Responses: 200

POST /tasks/{id}/messages

Send a message in a task.

curl -X POST https://platform.elnora.ai/api/v1/tasks/{id}/messages \
  -H "X-API-Key: $ELNORA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "content": "..." }'

Parameters

NameInTypeRequired
idpathuuidyes

Request body

FieldTypeRequired
contentstringyes
attachmentIdsuuid[]no
contextFileIdsuuid[]no
referencedFileIdsuuid[]no
openFileReferenceOpenFileReferenceno

Responses: 201

POST /tasks/{id}/unarchive

Unarchive a task — flips status back to Active so it reappears in default listings.

curl -X POST https://platform.elnora.ai/api/v1/tasks/{id}/unarchive \
  -H "X-API-Key: $ELNORA_API_KEY" \
  -H "Content-Type: application/json"

Parameters

NameInTypeRequired
idpathuuidyes

Responses: 204

GET /tasks/{taskId}/attachments

List a task's attachments (agent-generated deliverables + chat attachments).

curl https://platform.elnora.ai/api/v1/tasks/{taskId}/attachments \
  -H "X-API-Key: $ELNORA_API_KEY"

Parameters

NameInTypeRequired
taskIdpathuuidyes

Responses: 200

DELETE /tasks/{taskId}/attachments/{attachmentId}

Delete a task attachment (removes the S3 object + DB row).

curl -X DELETE https://platform.elnora.ai/api/v1/tasks/{taskId}/attachments/{attachmentId} \
  -H "X-API-Key: $ELNORA_API_KEY"

Parameters

NameInTypeRequired
taskIdpathuuidyes
attachmentIdpathuuidyes

Responses: 204 · 404

GET /tasks/{taskId}/attachments/{attachmentId}/content

Get a presigned download URL for a task attachment.

curl https://platform.elnora.ai/api/v1/tasks/{taskId}/attachments/{attachmentId}/content \
  -H "X-API-Key: $ELNORA_API_KEY"

Parameters

NameInTypeRequired
taskIdpathuuidyes
attachmentIdpathuuidyes

Responses: 200 · 404

On this page