Get the email indicators of several entities
Scopeemails:readReturns, for each related entity id given, how many emails the history holds for it, the status of the most recent one and when it was sent. Lets you show the state of an entity's email without loading its full history.
last_status: carries whatever the latest attempt ended in,REJECTEDandQUEUEDincluded, so acountabove zero does not mean an email reached anyone.- Ids with no associated emails: omitted from the response rather than returned with
count0. - Deprecated: use
GET /v1/accounts/{account_id}/email-indicators, which behaves identically. The successor is a sibling of the email collection, not…/emails/indicators:indicatorsused to sit where an email id goes.
Keys are prefixed beel_sk_, and each one carries the scopes it was created with: a key
short of the scope an operation needs is answered 403. The scope an operation requires
is shown next to its title, and the full catalogue lives in the Scopes reference.
Keys are created from the BeeL dashboard. They are secret credentials: do not share them or commit them to source control.
In: header
Query Parameters
Comma-separated list of related entity ids (e.g. invoice ids)
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://app.beel.es/api/v1/emails/indicators?related_entity_ids=497f6eca-6276-4993-bfeb-53cbbbba6f08"{
"success": true,
"data": {
"indicators": [
{
"related_entity_id": "e94907ff-519b-4a75-b3bc-05aaf47d6339",
"count": 2,
"last_status": "QUEUED",
"last_sent_at": "2019-08-24T14:15:22Z"
}
]
},
"meta": {
"timestamp": "2025-01-15T10:30:00Z",
"request_id": "4bf92f3577b34da6a3ce929d0e0e4736"
}
}{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "The parameter 'invoice_id' has an invalid type. Expected: UUID.",
"details": {
"field": "invoice_id",
"invalid_value": "deliveries",
"expected_format": "UUID"
}
},
"meta": {
"timestamp": "2025-01-15T10:30:00Z",
"request_id": "4bf92f3577b34da6a3ce929d0e0e4736"
}
}{
"success": false,
"error": {
"code": "UNAUTHORIZED",
"message": "Authentication is required to access this resource"
},
"meta": {
"timestamp": "2025-01-15T10:30:00Z",
"request_id": "4bf92f3577b34da6a3ce929d0e0e4736"
}
}{
"success": false,
"error": {
"code": "FORBIDDEN",
"message": "You do not have permission to access this resource"
},
"meta": {
"timestamp": "2025-01-15T10:30:00Z",
"request_id": "4bf92f3577b34da6a3ce929d0e0e4736"
}
}{
"success": false,
"error": {
"code": "INTERNAL_ERROR",
"message": "Internal server error"
},
"meta": {
"timestamp": "2025-01-15T10:30:00Z",
"request_id": "4bf92f3577b34da6a3ce929d0e0e4736"
}
}{
"success": false,
"error": {
"code": "UNSUPPORTED_MEDIA_TYPE",
"message": "Unsupported media type: text/plain. Supported: application/json"
},
"meta": {
"timestamp": "2025-01-15T10:30:00Z",
"request_id": "4bf92f3577b34da6a3ce929d0e0e4736"
}
}Get an email of the history GET
Returns one recorded email with its message body (HTML and plain text), its attachments and, for batch emails, the invoices it carried. - **`body_available`:** the body is fetched live and is only available while the message has a provider message id and the provider still retains it; otherwise it is `false` and `html_body` / `text_body` are `null`. - **An email that never left:** `QUEUED` or `REJECTED`, it has no body for that reason. - **Deprecated:** use `GET /v1/accounts/{account_id}/emails/{email_id}`, which behaves identically.
Overview
Browse every error code the BeeL. API can return, organised by domain. Every error response includes a stable type URI pointing to its page here.