Skip to main content

Message API

Send and receive email messages via your epilot organization

Quick Startโ€‹

# List available operations
epilot message

# Call an operation
epilot message sendMessage

Common Flagsโ€‹

FlagDescription
-p key=valueSet a named parameter
-d '{...}'Request body JSON
-H 'Key: Value'Custom header
-t, --token <token>Bearer token for authentication
--profile <name>Use a named profile
-s, --server <url>Override server base URL
-i, --includeInclude response headers in output
--jsonOutput raw JSON (no formatting)
-v, --verboseVerbose output (show request details)
--jsonata <expr>JSONata expression to transform response
--definition <file>Override OpenAPI spec file/URL
--guidedPrompt for all parameters interactively
--no-interactiveDisable interactive prompts

Operationsโ€‹

Messages

Threads

Drafts

sendMessageโ€‹

Send an email message

POST /v1/message/messages

Parameters

NameInTypeRequiredDescription
do_not_create_entitiesquerybooleanNoWhen true, this flag lets the caller to send only the message and by-pass creating the thread & message entities.

Request Body

Sample Call

epilot message sendMessage \
-d '{}'

Using stdin pipe:

cat body.json | epilot message sendMessage

With JSONata filter:

epilot message sendMessage --jsonata 'complete_thread'
Sample Response
{}

updateMessageโ€‹

Update message metadata

PUT /v1/message/messages

Sample Call

epilot message updateMessage

With JSONata filter:

epilot message updateMessage --jsonata '$'
Sample Response
{
"_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"_title": "string",
"_org": "206801",
"_schema": "message",
"_tags": ["pricing", "INBOX"],
"_created_at": "2021-02-09T12:41:43.662Z",
"_updated_at": "2021-02-10T09:14:31.990Z",
"message_id": "<0102017b97a502f8-a67f01c2-68cc-4928-b91b-45853f34e259-000000@eu-west-1.amazonses.com>",
"sender": "206801",
"subject": "Request for solar panel price",
"html": "<div>We at ABC GmbH would like to request a price quote for the solar panel.</div>",
"text": "We at ABC GmbH would like to request a price quote for the solar panel.",
"from": {
"name": "epilot",
"address": "messaging@epilot.cloud",
"email_type": "INTERNAL",
"send_status": "SEND",
"send_error": {}
},
"reply_to": {
"name": "epilot",
"address": "messaging@epilot.cloud",
"email_type": "INTERNAL",
"send_status": "SEND",
"send_error": {}
},
"to": [
{
"name": "epilot",
"address": "messaging@epilot.cloud",
"email_type": "INTERNAL",
"send_status": "SEND",
"send_error": {}
}
],
"cc": [
{
"name": "epilot",
"address": "messaging@epilot.cloud",
"email_type": "INTERNAL",
"send_status": "SEND",
"send_error": {}
}
],
"bcc": [
{
"name": "epilot",
"address": "messaging@epilot.cloud",
"email_type": "INTERNAL",
"send_status": "SEND",
"send_error": {}
}
],
"file": {
"$relation": [
{
"entity_id": "f820ce3b-07b0-45ae-bcc6-babb2f53f79f",
"filename": "Produktinformationen_epilot360_Double_Opt_in.pdf",
"is_message_attachment": true,
"may_be_signature_attachment": true,
"cid": "fb222496-a1a5-4639-94f2-07b5e35e4068",
"inline": false,
"send_as_link": false
}
]
},
"references": "<0102017b97a502f8-a67f01c2-68cc-4928-b91b-45853f34e259-000000@eu-west-1.amazonses.com> <CALHgQpziyxW9NaFUs+nRMykzr6Ljq6vjq4WO9SaihAuMasuDyg@mail.gmail.com>",
"in_reply_to": "<CALHgQpziyxW9NaFUs+nRMykzr6Ljq6vjq4WO9SaihAuMasuDyg@mail.gmail.com>",
"user_read_message": ["206801", "200109"],
"org_read_message": ["789372", "210291"],
"send_status": ["SEND"],
"type": "SENT",
"template_id": "3f34ce73-089c-4d45-a5ee-c161234e41c3"
}

getMessageโ€‹

Get an email message by id

GET /v1/message/messages/{id}

Parameters

NameInTypeRequiredDescription
idpathstringYesMessage ID

Sample Call

epilot message getMessage \
-p id=4d74976d-fb64-47fd-85e2-65eea140f5eb

Using positional args for path parameters:

epilot message getMessage 4d74976d-fb64-47fd-85e2-65eea140f5eb

With JSONata filter:

epilot message getMessage -p id=4d74976d-fb64-47fd-85e2-65eea140f5eb --jsonata '$'
Sample Response
{
"_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"_title": "string",
"_org": "206801",
"_schema": "message",
"_tags": ["pricing", "INBOX"],
"_created_at": "2021-02-09T12:41:43.662Z",
"_updated_at": "2021-02-10T09:14:31.990Z",
"message_id": "<0102017b97a502f8-a67f01c2-68cc-4928-b91b-45853f34e259-000000@eu-west-1.amazonses.com>",
"sender": "206801",
"subject": "Request for solar panel price",
"html": "<div>We at ABC GmbH would like to request a price quote for the solar panel.</div>",
"text": "We at ABC GmbH would like to request a price quote for the solar panel.",
"from": {
"name": "epilot",
"address": "messaging@epilot.cloud",
"email_type": "INTERNAL",
"send_status": "SEND",
"send_error": {}
},
"reply_to": {
"name": "epilot",
"address": "messaging@epilot.cloud",
"email_type": "INTERNAL",
"send_status": "SEND",
"send_error": {}
},
"to": [
{
"name": "epilot",
"address": "messaging@epilot.cloud",
"email_type": "INTERNAL",
"send_status": "SEND",
"send_error": {}
}
],
"cc": [
{
"name": "epilot",
"address": "messaging@epilot.cloud",
"email_type": "INTERNAL",
"send_status": "SEND",
"send_error": {}
}
],
"bcc": [
{
"name": "epilot",
"address": "messaging@epilot.cloud",
"email_type": "INTERNAL",
"send_status": "SEND",
"send_error": {}
}
],
"file": {
"$relation": [
{
"entity_id": "f820ce3b-07b0-45ae-bcc6-babb2f53f79f",
"filename": "Produktinformationen_epilot360_Double_Opt_in.pdf",
"is_message_attachment": true,
"may_be_signature_attachment": true,
"cid": "fb222496-a1a5-4639-94f2-07b5e35e4068",
"inline": false,
"send_as_link": false
}
]
},
"references": "<0102017b97a502f8-a67f01c2-68cc-4928-b91b-45853f34e259-000000@eu-west-1.amazonses.com> <CALHgQpziyxW9NaFUs+nRMykzr6Ljq6vjq4WO9SaihAuMasuDyg@mail.gmail.com>",
"in_reply_to": "<CALHgQpziyxW9NaFUs+nRMykzr6Ljq6vjq4WO9SaihAuMasuDyg@mail.gmail.com>",
"user_read_message": ["206801", "200109"],
"org_read_message": ["789372", "210291"],
"send_status": ["SEND"],
"type": "SENT",
"template_id": "3f34ce73-089c-4d45-a5ee-c161234e41c3"
}

deleteMessageโ€‹

Immediately and permanently delete a message. This operation cannot be undone.

DELETE /v1/message/messages/{id}

Parameters

NameInTypeRequiredDescription
idpathstringYesMessage ID

Sample Call

epilot message deleteMessage \
-p id=123e4567-e89b-12d3-a456-426614174000

Using positional args for path parameters:

epilot message deleteMessage 123e4567-e89b-12d3-a456-426614174000

With JSONata filter:

epilot message deleteMessage -p id=123e4567-e89b-12d3-a456-426614174000 --jsonata '$'

getMessageEmlโ€‹

Download a message as an EML file.

GET /v1/message/messages/{id}/eml

Parameters

NameInTypeRequiredDescription
idpathstringYesMessage entity ID

Sample Call

epilot message getMessageEml \
-p id=4d74976d-fb64-47fd-85e2-65eea140f5eb

Using positional args for path parameters:

epilot message getMessageEml 4d74976d-fb64-47fd-85e2-65eea140f5eb

With JSONata filter:

epilot message getMessageEml -p id=4d74976d-fb64-47fd-85e2-65eea140f5eb --jsonata '$'

searchMessagesโ€‹

Search Messages

POST /v1/message/messages:search

Request Body

Sample Call

epilot message searchMessages

With request body:

epilot message searchMessages \
-d '{
"inbox_id": "3f34ce73-089c-4d45-a5ee-c161234e41c3",
"q": "subject:\"Request for solar panel price\" AND _tags:INBOX",
"fields": ["_id", "_title", "first_name", "account", "!account.*._files", "**._product"],
"from": 0,
"size": 10,
"hydrate": false,
"include_scores": false,
"sort": "string",
"highlight": {}
}'

Using stdin pipe:

cat body.json | epilot message searchMessages

With JSONata filter:

epilot message searchMessages --jsonata 'results[0]'
Sample Response
{
"hits": 14,
"results": [
{
"_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"_title": "string",
"_org": "206801",
"_schema": "message",
"_tags": ["pricing", "INBOX"],
"_created_at": "2021-02-09T12:41:43.662Z",
"_updated_at": "2021-02-10T09:14:31.990Z",
"message_id": "<0102017b97a502f8-a67f01c2-68cc-4928-b91b-45853f34e259-000000@eu-west-1.amazonses.com>",
"sender": "206801",
"subject": "Request for solar panel price",
"html": "<div>We at ABC GmbH would like to request a price quote for the solar panel.</div>",
"text": "We at ABC GmbH would like to request a price quote for the solar panel.",
"from": {
"name": "epilot",
"address": "messaging@epilot.cloud",
"email_type": "INTERNAL",
"send_status": "SEND",
"send_error": {}
},
"reply_to": {
"name": "epilot",
"address": "messaging@epilot.cloud",
"email_type": "INTERNAL",
"send_status": "SEND",
"send_error": {}
},
"to": [
{
"name": "epilot",
"address": "messaging@epilot.cloud",
"email_type": "INTERNAL",
"send_status": "SEND",
"send_error": {}
}
],
"cc": [
{
"name": "epilot",
"address": "messaging@epilot.cloud",
"email_type": "INTERNAL",
"send_status": "SEND",
"send_error": {}
}
],
"bcc": [
{
"name": "epilot",
"address": "messaging@epilot.cloud",
"email_type": "INTERNAL",
"send_status": "SEND",
"send_error": {}
}
],
"file": {
"$relation": [
{
"entity_id": "f820ce3b-07b0-45ae-bcc6-babb2f53f79f",
"filename": "Produktinformationen_epilot360_Double_Opt_in.pdf",
"is_message_attachment": true,
"may_be_signature_attachment": true,
"cid": "fb222496-a1a5-4639-94f2-07b5e35e4068",
"inline": false,
"send_as_link": false
}
]
},
"references": "<0102017b97a502f8-a67f01c2-68cc-4928-b91b-45853f34e259-000000@eu-west-1.amazonses.com> <CALHgQpziyxW9NaFUs+nRMykzr6Ljq6vjq4WO9SaihAuMasuDyg@mail.gmail.com>",
"in_reply_to": "<CALHgQpziyxW9NaFUs+nRMykzr6Ljq6vjq4WO9SaihAuMasuDyg@mail.gmail.com>",
"user_read_message": ["206801", "200109"],
"org_read_message": ["789372", "210291"],
"send_status": ["SEND"],
"type": "SENT",
"template_id": "3f34ce73-089c-4d45-a5ee-c161234e41c3"
}
]
}

trashMessageโ€‹

Move a message to the trash

POST /v1/message/messages/{id}/trash

Parameters

NameInTypeRequiredDescription
idpathstringYesMessage ID

Sample Call

epilot message trashMessage \
-p id=123e4567-e89b-12d3-a456-426614174000

Using positional args for path parameters:

epilot message trashMessage 123e4567-e89b-12d3-a456-426614174000

With JSONata filter:

epilot message trashMessage -p id=123e4567-e89b-12d3-a456-426614174000 --jsonata '$'

untrashMessageโ€‹

Restore a trashed message

POST /v1/message/messages/{id}/untrash

Parameters

NameInTypeRequiredDescription
idpathstringYesMessage ID

Sample Call

epilot message untrashMessage \
-p id=123e4567-e89b-12d3-a456-426614174000

Using positional args for path parameters:

epilot message untrashMessage 123e4567-e89b-12d3-a456-426614174000

With JSONata filter:

epilot message untrashMessage -p id=123e4567-e89b-12d3-a456-426614174000 --jsonata '$'

markReadMessageโ€‹

Mark message as read

POST /v1/message/messages/{id}/read

Parameters

NameInTypeRequiredDescription
idpathstringYesMessage ID

Sample Call

epilot message markReadMessage \
-p id=123e4567-e89b-12d3-a456-426614174000

Using positional args for path parameters:

epilot message markReadMessage 123e4567-e89b-12d3-a456-426614174000

With JSONata filter:

epilot message markReadMessage -p id=123e4567-e89b-12d3-a456-426614174000 --jsonata '$'

markReadMessageV2โ€‹

Mark message as read within a scope

POST /v2/message/messages/{id}/read

Parameters

NameInTypeRequiredDescription
idpathstringYesMessage ID

Request Body (required)

Sample Call

epilot message markReadMessageV2 \
-p id=123e4567-e89b-12d3-a456-426614174000 \
-d '{"scopes":["organization","user"]}'

Using positional args for path parameters:

epilot message markReadMessageV2 123e4567-e89b-12d3-a456-426614174000

Using stdin pipe:

cat body.json | epilot message markReadMessageV2 -p id=123e4567-e89b-12d3-a456-426614174000

With JSONata filter:

epilot message markReadMessageV2 -p id=123e4567-e89b-12d3-a456-426614174000 --jsonata '$'

markUnreadMessageโ€‹

Mark message as unread

POST /v1/message/messages/{id}/unread

Parameters

NameInTypeRequiredDescription
idpathstringYesMessage ID

Sample Call

epilot message markUnreadMessage \
-p id=123e4567-e89b-12d3-a456-426614174000

Using positional args for path parameters:

epilot message markUnreadMessage 123e4567-e89b-12d3-a456-426614174000

With JSONata filter:

epilot message markUnreadMessage -p id=123e4567-e89b-12d3-a456-426614174000 --jsonata '$'

getUnreadโ€‹

Get all unread messages by actor

GET /v1/message/messages/unread/{actor}

Parameters

NameInTypeRequiredDescription
actorpath"organization" | "user"YesActor performing call, can be user or organization
email_filterquerystring[] | stringNoemails to filter by

Sample Call

epilot message getUnread \
-p actor=example

Using positional args for path parameters:

epilot message getUnread example

With JSONata filter:

epilot message getUnread -p actor=example --jsonata 'count'
Sample Response
{
"count": 14,
"unread": 0,
"drafts": 12,
"unassigned": 1
}

markUnreadMessageV2โ€‹

Mark message as unread within a scope

POST /v2/message/messages/{id}/unread

Parameters

NameInTypeRequiredDescription
idpathstringYesMessage ID

Request Body (required)

Sample Call

epilot message markUnreadMessageV2 \
-p id=123e4567-e89b-12d3-a456-426614174000 \
-d '{"scopes":["organization","user"]}'

Using positional args for path parameters:

epilot message markUnreadMessageV2 123e4567-e89b-12d3-a456-426614174000

Using stdin pipe:

cat body.json | epilot message markUnreadMessageV2 -p id=123e4567-e89b-12d3-a456-426614174000

With JSONata filter:

epilot message markUnreadMessageV2 -p id=123e4567-e89b-12d3-a456-426614174000 --jsonata '$'

searchThreadsโ€‹

Search for threads of email messages.

POST /v1/message/threads:search

Request Body

Sample Call

epilot message searchThreads \
-d '{"q":"subject:\"Request for solar panel price\" AND _tags:INBOX","from":0,"size":10,"hydrate":false}'

Using stdin pipe:

cat body.json | epilot message searchThreads

With JSONata filter:

epilot message searchThreads --jsonata 'results[0]'
Sample Response
{
"hits": 14,
"results": [
{
"_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"_title": "string",
"_org": "206801",
"_schema": "message",
"_tags": ["pricing", "INBOX"],
"_created_at": "2021-02-09T12:41:43.662Z",
"_updated_at": "2021-02-10T09:14:31.990Z",
"topic": "CUSTOMER_MESSAGE",
"assigned_to": ["206801", "200109"],
"org_read_message": ["789372", "210291"],
"done": false,
"latest_message": {},
"latest_trash_message": {},
"latest_message_at": "2024-02-10T09:14:31.990Z"
}
]
}

searchThreadsV2โ€‹

Search for threads of email messages.

POST /v2/message/threads:search

Request Body

Sample Call

epilot message searchThreadsV2

With request body:

epilot message searchThreadsV2 \
-d '{
"inbox_id": "3f34ce73-089c-4d45-a5ee-c161234e41c3",
"q": "subject:\"Request for solar panel price\" AND _tags:INBOX",
"fields": ["_id", "_title", "first_name", "account", "!account.*._files", "**._product"],
"from": 0,
"size": 10,
"hydrate": false,
"include_scores": false,
"sort": "string",
"highlight": {}
}'

Using stdin pipe:

cat body.json | epilot message searchThreadsV2

With JSONata filter:

epilot message searchThreadsV2 --jsonata 'results[0]'
Sample Response
{
"hits": 14,
"results": [
{
"_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"_title": "string",
"_org": "206801",
"_schema": "message",
"_tags": ["pricing", "INBOX"],
"_created_at": "2021-02-09T12:41:43.662Z",
"_updated_at": "2021-02-10T09:14:31.990Z",
"topic": "CUSTOMER_MESSAGE",
"assigned_to": ["206801", "200109"],
"org_read_message": ["789372", "210291"],
"done": false,
"latest_message": {},
"latest_trash_message": {},
"latest_message_at": "2024-02-10T09:14:31.990Z"
}
]
}

searchIdsโ€‹

Return all thread id's that match a criteria

POST /v1/message/threads:searchIds

Request Body

Sample Call

epilot message searchIds \
-d '{"q":"subject:\"Request for solar panel price\" AND _tags:INBOX"}'

Using stdin pipe:

cat body.json | epilot message searchIds

With JSONata filter:

epilot message searchIds --jsonata 'results[0]'
Sample Response
{
"hits": 14,
"results": ["string"]
}

updateThreadโ€‹

Modify thread metadata

PUT /v1/message/threads

Sample Call

epilot message updateThread

With JSONata filter:

epilot message updateThread --jsonata '$'
Sample Response
{
"_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"_title": "string",
"_org": "206801",
"_schema": "message",
"_tags": ["pricing", "INBOX"],
"_created_at": "2021-02-09T12:41:43.662Z",
"_updated_at": "2021-02-10T09:14:31.990Z",
"topic": "CUSTOMER_MESSAGE",
"assigned_to": ["206801", "200109"],
"org_read_message": ["789372", "210291"],
"done": false,
"latest_message": {
"message_id": "<0102017b97a502f8-a67f01c2-68cc-4928-b91b-45853f34e259-000000@eu-west-1.amazonses.com>",
"sender": "206801",
"subject": "Request for solar panel price",
"html": "<div>We at ABC GmbH would like to request a price quote for the solar panel.</div>",
"text": "We at ABC GmbH would like to request a price quote for the solar panel.",
"from": {
"name": "epilot",
"address": "messaging@epilot.cloud",
"email_type": "INTERNAL",
"send_status": "SEND",
"send_error": {}
},
"reply_to": {
"name": "epilot",
"address": "messaging@epilot.cloud",
"email_type": "INTERNAL",
"send_status": "SEND",
"send_error": {}
},
"to": [
{}
],
"cc": [
{}
],
"bcc": [
{}
],
"file": {
"$relation": []
},
"references": "<0102017b97a502f8-a67f01c2-68cc-4928-b91b-45853f34e259-000000@eu-west-1.amazonses.com> <CALHgQpziyxW9NaFUs+nRMykzr6Ljq6vjq4WO9SaihAuMasuDyg@mail.gmail.com>",
"in_reply_to": "<CALHgQpziyxW9NaFUs+nRMykzr6Ljq6vjq4WO9SaihAuMasuDyg@mail.gmail.com>",
"user_read_message": ["206801", "200109"],
"org_read_message": ["789372", "210291"],
"send_status": ["SEND"],
"type": "SENT",
"template_id": "3f34ce73-089c-4d45-a5ee-c161234e41c3"
},
"latest_trash_message": {
"message_id": "<0102017b97a502f8-a67f01c2-68cc-4928-b91b-45853f34e259-000000@eu-west-1.amazonses.com>",
"sender": "206801",
"subject": "Request for solar panel price",
"html": "<div>We at ABC GmbH would like to request a price quote for the solar panel.</div>",
"text": "We at ABC GmbH would like to request a price quote for the solar panel.",
"from": {
"name": "epilot",
"address": "messaging@epilot.cloud",
"email_type": "INTERNAL",
"send_status": "SEND",
"send_error": {}
},
"reply_to": {
"name": "epilot",
"address": "messaging@epilot.cloud",
"email_type": "INTERNAL",
"send_status": "SEND",
"send_error": {}
},
"to": [
{}
],
"cc": [
{}
],
"bcc": [
{}
],
"file": {
"$relation": []
},
"references": "<0102017b97a502f8-a67f01c2-68cc-4928-b91b-45853f34e259-000000@eu-west-1.amazonses.com> <CALHgQpziyxW9NaFUs+nRMykzr6Ljq6vjq4WO9SaihAuMasuDyg@mail.gmail.com>",
"in_reply_to": "<CALHgQpziyxW9NaFUs+nRMykzr6Ljq6vjq4WO9SaihAuMasuDyg@mail.gmail.com>",
"user_read_message": ["206801", "200109"],
"org_read_message": ["789372", "210291"],
"send_status": ["SEND"],
"type": "SENT",
"template_id": "3f34ce73-089c-4d45-a5ee-c161234e41c3"
},
"latest_message_at": "2024-02-10T09:14:31.990Z"
}

deleteThreadโ€‹

Immediately and permanently delete a thread. This operation cannot be undone.

DELETE /v1/message/threads/{id}

Parameters

NameInTypeRequiredDescription
idpathstringYesThread ID

Sample Call

epilot message deleteThread \
-p id=123e4567-e89b-12d3-a456-426614174000

Using positional args for path parameters:

epilot message deleteThread 123e4567-e89b-12d3-a456-426614174000

With JSONata filter:

epilot message deleteThread -p id=123e4567-e89b-12d3-a456-426614174000 --jsonata '$'

moveThreadโ€‹

Move thread to a different Inbox

POST /v1/message/threads/{id}:move

Parameters

NameInTypeRequiredDescription
idpathstringYesThread ID

Request Body (required)

Sample Call

epilot message moveThread \
-p id=123e4567-e89b-12d3-a456-426614174000 \
-d '{"inbox_id":"3f34ce73-089c-4d45-a5ee-c161234e41c3"}'

Using positional args for path parameters:

epilot message moveThread 123e4567-e89b-12d3-a456-426614174000

Using stdin pipe:

cat body.json | epilot message moveThread -p id=123e4567-e89b-12d3-a456-426614174000

With JSONata filter:

epilot message moveThread -p id=123e4567-e89b-12d3-a456-426614174000 --jsonata '$'

markThreadAsDoneโ€‹

Mark thread as done

POST /v1/message/threads/{id}:markAsDone

Parameters

NameInTypeRequiredDescription
idpathstringYesThread ID

Sample Call

epilot message markThreadAsDone \
-p id=123e4567-e89b-12d3-a456-426614174000

Using positional args for path parameters:

epilot message markThreadAsDone 123e4567-e89b-12d3-a456-426614174000

With JSONata filter:

epilot message markThreadAsDone -p id=123e4567-e89b-12d3-a456-426614174000 --jsonata '$'

markThreadAsOpenโ€‹

Mark thread as open

POST /v1/message/threads/{id}:markAsOpen

Parameters

NameInTypeRequiredDescription
idpathstringYesThread ID

Sample Call

epilot message markThreadAsOpen \
-p id=123e4567-e89b-12d3-a456-426614174000

Using positional args for path parameters:

epilot message markThreadAsOpen 123e4567-e89b-12d3-a456-426614174000

With JSONata filter:

epilot message markThreadAsOpen -p id=123e4567-e89b-12d3-a456-426614174000 --jsonata '$'

getThreadTimelineโ€‹

Get thread timeline

GET /v1/message/threads/{id}/timeline

Parameters

NameInTypeRequiredDescription
idpathstringYesThread ID

Sample Call

epilot message getThreadTimeline \
-p id=123e4567-e89b-12d3-a456-426614174000

Using positional args for path parameters:

epilot message getThreadTimeline 123e4567-e89b-12d3-a456-426614174000

With JSONata filter:

epilot message getThreadTimeline -p id=123e4567-e89b-12d3-a456-426614174000 --jsonata 'events'
Sample Response
{
"events": [
{
"data": {
"type": "THREAD_DONE",
"user_id": "123",
"organization_id": "456"
},
"timestamp": "2024-01-01T00:00:00.000Z"
}
]
}

trashThreadโ€‹

Move a thread to trash

POST /v1/message/threads/{id}/trash

Parameters

NameInTypeRequiredDescription
idpathstringYesThread ID

Sample Call

epilot message trashThread \
-p id=123e4567-e89b-12d3-a456-426614174000

Using positional args for path parameters:

epilot message trashThread 123e4567-e89b-12d3-a456-426614174000

With JSONata filter:

epilot message trashThread -p id=123e4567-e89b-12d3-a456-426614174000 --jsonata '$'

untrashThreadโ€‹

Restore a trashed thread

POST /v1/message/threads/{id}/untrash

Parameters

NameInTypeRequiredDescription
idpathstringYesThread ID

Sample Call

epilot message untrashThread \
-p id=123e4567-e89b-12d3-a456-426614174000

Using positional args for path parameters:

epilot message untrashThread 123e4567-e89b-12d3-a456-426614174000

With JSONata filter:

epilot message untrashThread -p id=123e4567-e89b-12d3-a456-426614174000 --jsonata '$'

threadBulkActionsReadโ€‹

Perform a bulk action of marking an array of thread ids as read

POST /v1/message/threads/bulk:read

Request Body (required)

Sample Call

epilot message threadBulkActionsRead \
-d '{"ids":["6b299eda-4018-4554-8965-c4b5598e6531"],"scopes":["organization","user"]}'

Using stdin pipe:

cat body.json | epilot message threadBulkActionsRead

With JSONata filter:

epilot message threadBulkActionsRead --jsonata '$'

threadBulkActionsUnreadโ€‹

Perform a bulk action of marking an array of thread ids as unread

POST /v1/message/threads/bulk:unread

Request Body (required)

Sample Call

epilot message threadBulkActionsUnread \
-d '{"ids":["6b299eda-4018-4554-8965-c4b5598e6531"],"scopes":["organization","user"]}'

Using stdin pipe:

cat body.json | epilot message threadBulkActionsUnread

With JSONata filter:

epilot message threadBulkActionsUnread --jsonata '$'

threadBulkActionsFavoriteโ€‹

Perform a bulk action of marking an array of thread ids favorite

POST /v1/message/threads/bulk:favorite

Request Body (required)

Sample Call

epilot message threadBulkActionsFavorite \
-d '{"ids":["6b299eda-4018-4554-8965-c4b5598e6531"]}'

Using stdin pipe:

cat body.json | epilot message threadBulkActionsFavorite

With JSONata filter:

epilot message threadBulkActionsFavorite --jsonata '$'

threadBulkActionsUnfavoriteโ€‹

Perform a bulk action of marking an array of thread ids unfavorited

POST /v1/message/threads/bulk:unfavorite

Request Body (required)

Sample Call

epilot message threadBulkActionsUnfavorite \
-d '{"ids":["6b299eda-4018-4554-8965-c4b5598e6531"]}'

Using stdin pipe:

cat body.json | epilot message threadBulkActionsUnfavorite

With JSONata filter:

epilot message threadBulkActionsUnfavorite --jsonata '$'

threadBulkActionsTrashโ€‹

Perform a bulk action of trashing an array of threads

POST /v1/message/threads/bulk:trash

Request Body (required)

Sample Call

epilot message threadBulkActionsTrash \
-d '{"ids":["6b299eda-4018-4554-8965-c4b5598e6531"]}'

Using stdin pipe:

cat body.json | epilot message threadBulkActionsTrash

With JSONata filter:

epilot message threadBulkActionsTrash --jsonata '$'

threadBulkActionsUntrashโ€‹

Perform a bulk action of untrashing an array of threads

POST /v1/message/threads/bulk:untrash

Request Body (required)

Sample Call

epilot message threadBulkActionsUntrash \
-d '{"ids":["6b299eda-4018-4554-8965-c4b5598e6531"]}'

Using stdin pipe:

cat body.json | epilot message threadBulkActionsUntrash

With JSONata filter:

epilot message threadBulkActionsUntrash --jsonata '$'

threadBulkActionsDeleteโ€‹

Performs a bulk permanent delete for all threads

POST /v1/message/threads/bulk:delete

Request Body (required)

Sample Call

epilot message threadBulkActionsDelete \
-d '{"ids":["6b299eda-4018-4554-8965-c4b5598e6531"]}'

Using stdin pipe:

cat body.json | epilot message threadBulkActionsDelete

With JSONata filter:

epilot message threadBulkActionsDelete --jsonata '$'

threadBulkActionsDoneโ€‹

Perform a bulk action of marking an array of threads as done

POST /v1/message/threads/bulk:done

Request Body (required)

Sample Call

epilot message threadBulkActionsDone \
-d '{"ids":["6b299eda-4018-4554-8965-c4b5598e6531"]}'

Using stdin pipe:

cat body.json | epilot message threadBulkActionsDone

With JSONata filter:

epilot message threadBulkActionsDone --jsonata '$'

threadBulkActionsOpenโ€‹

Perform a bulk action of marking an array of threads as open

POST /v1/message/threads/bulk:open

Request Body (required)

Sample Call

epilot message threadBulkActionsOpen \
-d '{"ids":["6b299eda-4018-4554-8965-c4b5598e6531"]}'

Using stdin pipe:

cat body.json | epilot message threadBulkActionsOpen

With JSONata filter:

epilot message threadBulkActionsOpen --jsonata '$'

markReadThreadโ€‹

Mark thread as read

POST /v1/message/threads/{id}/read

Parameters

NameInTypeRequiredDescription
idpathstringYesThread ID

Sample Call

epilot message markReadThread \
-p id=123e4567-e89b-12d3-a456-426614174000

Using positional args for path parameters:

epilot message markReadThread 123e4567-e89b-12d3-a456-426614174000

With JSONata filter:

epilot message markReadThread -p id=123e4567-e89b-12d3-a456-426614174000 --jsonata '$'

markReadThreadV2โ€‹

Mark thread as read within a scope

POST /v2/message/threads/{id}/read

Parameters

NameInTypeRequiredDescription
idpathstringYesThread ID

Request Body (required)

Sample Call

epilot message markReadThreadV2 \
-p id=123e4567-e89b-12d3-a456-426614174000 \
-d '{"scopes":["organization","user"]}'

Using positional args for path parameters:

epilot message markReadThreadV2 123e4567-e89b-12d3-a456-426614174000

Using stdin pipe:

cat body.json | epilot message markReadThreadV2 -p id=123e4567-e89b-12d3-a456-426614174000

With JSONata filter:

epilot message markReadThreadV2 -p id=123e4567-e89b-12d3-a456-426614174000 --jsonata '$'

markUnreadThreadโ€‹

Mark thread as unread

POST /v1/message/threads/{id}/unread

Parameters

NameInTypeRequiredDescription
idpathstringYesThread ID

Sample Call

epilot message markUnreadThread \
-p id=123e4567-e89b-12d3-a456-426614174000

Using positional args for path parameters:

epilot message markUnreadThread 123e4567-e89b-12d3-a456-426614174000

With JSONata filter:

epilot message markUnreadThread -p id=123e4567-e89b-12d3-a456-426614174000 --jsonata '$'

markUnreadThreadV2โ€‹

Mark thread as unread within a scope

POST /v2/message/threads/{id}/unread

Parameters

NameInTypeRequiredDescription
idpathstringYesThread ID

Request Body (required)

Sample Call

epilot message markUnreadThreadV2 \
-p id=123e4567-e89b-12d3-a456-426614174000 \
-d '{"scopes":["organization","user"]}'

Using positional args for path parameters:

epilot message markUnreadThreadV2 123e4567-e89b-12d3-a456-426614174000

Using stdin pipe:

cat body.json | epilot message markUnreadThreadV2 -p id=123e4567-e89b-12d3-a456-426614174000

With JSONata filter:

epilot message markUnreadThreadV2 -p id=123e4567-e89b-12d3-a456-426614174000 --jsonata '$'

assignThreadโ€‹

Assign thread to entities

POST /v1/message/threads/{id}/assign

Parameters

NameInTypeRequiredDescription
idpathstringYesThread ID

Request Body (required)

Sample Call

epilot message assignThread \
-p id=123e4567-e89b-12d3-a456-426614174000 \
-d '[{"slug":"contact","entity_id":"3f34ce73-089c-4d45-a5ee-c161234e41c3","org_id":"206801","is_main_entity":true}]'

Using positional args for path parameters:

epilot message assignThread 123e4567-e89b-12d3-a456-426614174000

Using stdin pipe:

cat body.json | epilot message assignThread -p id=123e4567-e89b-12d3-a456-426614174000

With JSONata filter:

epilot message assignThread -p id=123e4567-e89b-12d3-a456-426614174000 --jsonata '$'

unassignThreadโ€‹

Unassign thread from entities

POST /v1/message/threads/{id}/unassign

Parameters

NameInTypeRequiredDescription
idpathstringYesThread ID

Request Body (required)

Sample Call

epilot message unassignThread \
-p id=123e4567-e89b-12d3-a456-426614174000 \
-d '[{"slug":"contact","entity_id":"3f34ce73-089c-4d45-a5ee-c161234e41c3"}]'

Using positional args for path parameters:

epilot message unassignThread 123e4567-e89b-12d3-a456-426614174000

Using stdin pipe:

cat body.json | epilot message unassignThread -p id=123e4567-e89b-12d3-a456-426614174000

With JSONata filter:

epilot message unassignThread -p id=123e4567-e89b-12d3-a456-426614174000 --jsonata '$'

assignUsersโ€‹

Assign users to thread for receiving notifications.

POST /v1/message/threads/{id}/assign:users

Parameters

NameInTypeRequiredDescription
idpathstringYesThread ID

Request Body (required)

Sample Call

epilot message assignUsers \
-p id=123e4567-e89b-12d3-a456-426614174000 \
-d '{"assigned_to":["206801"]}'

Using positional args for path parameters:

epilot message assignUsers 123e4567-e89b-12d3-a456-426614174000

Using stdin pipe:

cat body.json | epilot message assignUsers -p id=123e4567-e89b-12d3-a456-426614174000

With JSONata filter:

epilot message assignUsers -p id=123e4567-e89b-12d3-a456-426614174000 --jsonata '$'

assignUsersV2โ€‹

Assign users to thread.

POST /v2/message/threads/{id}/assign:users

Parameters

NameInTypeRequiredDescription
idpathstringYesThread ID

Request Body (required)

Sample Call

epilot message assignUsersV2 \
-p id=123e4567-e89b-12d3-a456-426614174000 \
-d '{"add":["206801"],"remove":["206801"]}'

Using positional args for path parameters:

epilot message assignUsersV2 123e4567-e89b-12d3-a456-426614174000

Using stdin pipe:

cat body.json | epilot message assignUsersV2 -p id=123e4567-e89b-12d3-a456-426614174000

With JSONata filter:

epilot message assignUsersV2 -p id=123e4567-e89b-12d3-a456-426614174000 --jsonata '$'

pinThreadโ€‹

Pin a single thread

POST /v1/message/threads/{id}:pin

Parameters

NameInTypeRequiredDescription
idpathstringYesThread ID

Sample Call

epilot message pinThread \
-p id=123e4567-e89b-12d3-a456-426614174000

Using positional args for path parameters:

epilot message pinThread 123e4567-e89b-12d3-a456-426614174000

With JSONata filter:

epilot message pinThread -p id=123e4567-e89b-12d3-a456-426614174000 --jsonata '$'

unpinThreadโ€‹

Unpin a single thread

DELETE /v1/message/threads/{id}:pin

Parameters

NameInTypeRequiredDescription
idpathstringYesThread ID

Sample Call

epilot message unpinThread \
-p id=123e4567-e89b-12d3-a456-426614174000

Using positional args for path parameters:

epilot message unpinThread 123e4567-e89b-12d3-a456-426614174000

With JSONata filter:

epilot message unpinThread -p id=123e4567-e89b-12d3-a456-426614174000 --jsonata '$'

createDraftโ€‹

Create a new draft

POST /v1/message/drafts

Request Body

Sample Call

epilot message createDraft \
-d '{}'

Using stdin pipe:

cat body.json | epilot message createDraft

With JSONata filter:

epilot message createDraft --jsonata '$'
Sample Response
{
"_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"_title": "string",
"_org": "206801",
"_schema": "message",
"_tags": ["pricing", "INBOX"],
"_created_at": "2021-02-09T12:41:43.662Z",
"_updated_at": "2021-02-10T09:14:31.990Z",
"message_id": "<0102017b97a502f8-a67f01c2-68cc-4928-b91b-45853f34e259-000000@eu-west-1.amazonses.com>",
"sender": "206801",
"subject": "Request for solar panel price",
"html": "<div>We at ABC GmbH would like to request a price quote for the solar panel.</div>",
"text": "We at ABC GmbH would like to request a price quote for the solar panel.",
"from": {
"name": "epilot",
"address": "messaging@epilot.cloud",
"email_type": "INTERNAL",
"send_status": "SEND",
"send_error": {}
},
"reply_to": {
"name": "epilot",
"address": "messaging@epilot.cloud",
"email_type": "INTERNAL",
"send_status": "SEND",
"send_error": {}
},
"to": [
{
"name": "epilot",
"address": "messaging@epilot.cloud",
"email_type": "INTERNAL",
"send_status": "SEND",
"send_error": {}
}
],
"cc": [
{
"name": "epilot",
"address": "messaging@epilot.cloud",
"email_type": "INTERNAL",
"send_status": "SEND",
"send_error": {}
}
],
"bcc": [
{
"name": "epilot",
"address": "messaging@epilot.cloud",
"email_type": "INTERNAL",
"send_status": "SEND",
"send_error": {}
}
],
"file": {
"$relation": [
{
"entity_id": "f820ce3b-07b0-45ae-bcc6-babb2f53f79f",
"filename": "Produktinformationen_epilot360_Double_Opt_in.pdf",
"is_message_attachment": true,
"may_be_signature_attachment": true,
"cid": "fb222496-a1a5-4639-94f2-07b5e35e4068",
"inline": false,
"send_as_link": false
}
]
},
"references": "<0102017b97a502f8-a67f01c2-68cc-4928-b91b-45853f34e259-000000@eu-west-1.amazonses.com> <CALHgQpziyxW9NaFUs+nRMykzr6Ljq6vjq4WO9SaihAuMasuDyg@mail.gmail.com>",
"in_reply_to": "<CALHgQpziyxW9NaFUs+nRMykzr6Ljq6vjq4WO9SaihAuMasuDyg@mail.gmail.com>",
"user_read_message": ["206801", "200109"],
"org_read_message": ["789372", "210291"],
"send_status": ["SEND"],
"type": "SENT",
"template_id": "3f34ce73-089c-4d45-a5ee-c161234e41c3"
}

sendDraftโ€‹

Send the existing draft to the recipients

POST /v1/message/drafts:send

Sample Call

epilot message sendDraft

With JSONata filter:

epilot message sendDraft --jsonata '$'
Sample Response
{
"_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"_title": "string",
"_org": "206801",
"_schema": "message",
"_tags": ["pricing", "INBOX"],
"_created_at": "2021-02-09T12:41:43.662Z",
"_updated_at": "2021-02-10T09:14:31.990Z",
"message_id": "<0102017b97a502f8-a67f01c2-68cc-4928-b91b-45853f34e259-000000@eu-west-1.amazonses.com>",
"sender": "206801",
"subject": "Request for solar panel price",
"html": "<div>We at ABC GmbH would like to request a price quote for the solar panel.</div>",
"text": "We at ABC GmbH would like to request a price quote for the solar panel.",
"from": {
"name": "epilot",
"address": "messaging@epilot.cloud",
"email_type": "INTERNAL",
"send_status": "SEND",
"send_error": {}
},
"reply_to": {
"name": "epilot",
"address": "messaging@epilot.cloud",
"email_type": "INTERNAL",
"send_status": "SEND",
"send_error": {}
},
"to": [
{
"name": "epilot",
"address": "messaging@epilot.cloud",
"email_type": "INTERNAL",
"send_status": "SEND",
"send_error": {}
}
],
"cc": [
{
"name": "epilot",
"address": "messaging@epilot.cloud",
"email_type": "INTERNAL",
"send_status": "SEND",
"send_error": {}
}
],
"bcc": [
{
"name": "epilot",
"address": "messaging@epilot.cloud",
"email_type": "INTERNAL",
"send_status": "SEND",
"send_error": {}
}
],
"file": {
"$relation": [
{
"entity_id": "f820ce3b-07b0-45ae-bcc6-babb2f53f79f",
"filename": "Produktinformationen_epilot360_Double_Opt_in.pdf",
"is_message_attachment": true,
"may_be_signature_attachment": true,
"cid": "fb222496-a1a5-4639-94f2-07b5e35e4068",
"inline": false,
"send_as_link": false
}
]
},
"references": "<0102017b97a502f8-a67f01c2-68cc-4928-b91b-45853f34e259-000000@eu-west-1.amazonses.com> <CALHgQpziyxW9NaFUs+nRMykzr6Ljq6vjq4WO9SaihAuMasuDyg@mail.gmail.com>",
"in_reply_to": "<CALHgQpziyxW9NaFUs+nRMykzr6Ljq6vjq4WO9SaihAuMasuDyg@mail.gmail.com>",
"user_read_message": ["206801", "200109"],
"org_read_message": ["789372", "210291"],
"send_status": ["SEND"],
"type": "SENT",
"template_id": "3f34ce73-089c-4d45-a5ee-c161234e41c3"
}

getMessageV2โ€‹

  • Fetches message by ID

GET /v2/message/messages/{id}

Parameters

NameInTypeRequiredDescription
idpathstringYesMessage ID

Sample Call

epilot message getMessageV2 \
-p id=4d74976d-fb64-47fd-85e2-65eea140f5eb

Using positional args for path parameters:

epilot message getMessageV2 4d74976d-fb64-47fd-85e2-65eea140f5eb

With JSONata filter:

epilot message getMessageV2 -p id=4d74976d-fb64-47fd-85e2-65eea140f5eb --jsonata '$'
Sample Response
{
"html_omitted": false,
"html_download_url": "https://s3.eu-central-1.amazonaws.com/epilot-attachments/3f34ce73-089c-4d45-a5ee-c161234e41c3/3f34ce73-089c-4d45-a5ee-c161234e41c3.html",
"_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"_title": "string",
"_org": "206801",
"_schema": "message",
"_tags": ["pricing", "INBOX"],
"_created_at": "2021-02-09T12:41:43.662Z",
"_updated_at": "2021-02-10T09:14:31.990Z",
"message_id": "<0102017b97a502f8-a67f01c2-68cc-4928-b91b-45853f34e259-000000@eu-west-1.amazonses.com>",
"sender": "206801",
"subject": "Request for solar panel price",
"html": "<div>We at ABC GmbH would like to request a price quote for the solar panel.</div>",
"text": "We at ABC GmbH would like to request a price quote for the solar panel.",
"from": {
"name": "epilot",
"address": "messaging@epilot.cloud",
"email_type": "INTERNAL",
"send_status": "SEND",
"send_error": {}
},
"reply_to": {
"name": "epilot",
"address": "messaging@epilot.cloud",
"email_type": "INTERNAL",
"send_status": "SEND",
"send_error": {}
},
"to": [
{
"name": "epilot",
"address": "messaging@epilot.cloud",
"email_type": "INTERNAL",
"send_status": "SEND",
"send_error": {}
}
],
"cc": [
{
"name": "epilot",
"address": "messaging@epilot.cloud",
"email_type": "INTERNAL",
"send_status": "SEND",
"send_error": {}
}
],
"bcc": [
{
"name": "epilot",
"address": "messaging@epilot.cloud",
"email_type": "INTERNAL",
"send_status": "SEND",
"send_error": {}
}
],
"file": {
"$relation": [
{
"entity_id": "f820ce3b-07b0-45ae-bcc6-babb2f53f79f",
"filename": "Produktinformationen_epilot360_Double_Opt_in.pdf",
"is_message_attachment": true,
"may_be_signature_attachment": true,
"cid": "fb222496-a1a5-4639-94f2-07b5e35e4068",
"inline": false,
"send_as_link": false
}
]
},
"references": "<0102017b97a502f8-a67f01c2-68cc-4928-b91b-45853f34e259-000000@eu-west-1.amazonses.com> <CALHgQpziyxW9NaFUs+nRMykzr6Ljq6vjq4WO9SaihAuMasuDyg@mail.gmail.com>",
"in_reply_to": "<CALHgQpziyxW9NaFUs+nRMykzr6Ljq6vjq4WO9SaihAuMasuDyg@mail.gmail.com>",
"user_read_message": ["206801", "200109"],
"org_read_message": ["789372", "210291"],
"send_status": ["SEND"],
"type": "SENT",
"template_id": "3f34ce73-089c-4d45-a5ee-c161234e41c3"
}