---
title: EmailMailboxRelations
description: "Read-only: list and get EmailMailboxRelations."
canonical: https://developers.coevera.com/reference/rest/email-mailbox-relations/
section: rest
verification: schema
generatedFrom: spec 5e43371 (2026-10-16)
publisher: Coevera
---

# EmailMailboxRelations

Read-only: list and get EmailMailboxRelations.

Family: Activities and communication. GraphQL: [emailMailboxRelation](https://developers.coevera.com/reference/graphql/email-mailbox-relation.md). Base URL: `https://{region}.api.coevera.com/api/v100/rest/spaces/{space_id}`.

| Method | Path | Operation |
| --- | --- | --- |
| GET | `/entities/EmailMailboxRelations` | List EmailMailboxRelations |
| GET | `/entities/EmailMailboxRelations/{id}` | Get EmailMailboxRelation |

## List EmailMailboxRelations

`GET /entities/EmailMailboxRelations`

Returns the EmailMailboxRelations the API application can read, one page at a time. In the list envelope, `total` counts every match and `page_info` pages through them.

| Parameter | In | Type | Description |
| --- | --- | --- | --- |
| `include-deleted` | query | boolean | Include soft-deleted records. Lists only; get-by-id refuses it. |
| `first` | query | integer | Page size. Default 30, maximum 100; a larger value is refused with HTTP 400, code 117. (default 30, 1 to 100) |
| `last` | query | integer | Return the last N records of the result; together with `first`, the last N of the first M. Maximum 100. (1 to 100) |
| `before` | query | string | Cursor from `page_info.start_cursor`, to page backwards. URL-encode it. |
| `after` | query | string | Cursor from `page_info.end_cursor` of the previous page. URL-encode it: cursors are base64, and a raw + becomes a space. |
| `expand` | query | string | Related records to return inline instead of their URIs, comma-separated; dots reach nested relations, as in `account_relations.account`. |
| `order-by` | query | string | Fields to sort by, comma-separated. A leading - sorts descending, as in `-modified`; dotted paths sort by related fields. |
| `filter` | query | object | `filter[field]=value`. Separate several values with a raw comma (OR), as in `filter[name]=north,south`. Encode a comma that belongs to a value as %2C. URLSearchParams and Python requests encode every comma, so build the filter part of the query string yourself. Dotted paths filter on related records, as in `filter[owner.email]`. Encode a + in a value as %2B: query values are form-decoded, so a raw + becomes a space. |
| `filter-op` | query | object | `filter-op[field]=operator`, one per field: eq (the default), ieq, not-eq, not-ieq, contains, icontains, starts, istarts, ends, iends, gt, gte, lt, lte, between, null, not-null, empty and not-empty. null, not-null, empty and not-empty take no filter value; gt, gte, lt and lte take exactly one. |
| `load-only` | query | string | Fields to return, comma-separated (raw or encoded commas both work here); dots select nested fields, as in `owner.id`. All fields are returned without it. Lists only: get-by-id refuses it with HTTP 400, code 118. |

Responses: 200 (Page of EmailMailboxRelation records.: `success`, `total`, `page_info`, `data`), 400, 401, 429, 500.

```bash
curl 'https://{region}.api.coevera.com/api/v100/rest/spaces/{space_id}/entities/EmailMailboxRelations?first=10' \
  --user "$COEVERA_API_KEY:$COEVERA_API_SECRET"
```

## Get EmailMailboxRelation

`GET /entities/EmailMailboxRelations/{id}`

Returns one record by id. `expand` returns related records inline instead of their URIs.

| Parameter | In | Type | Description |
| --- | --- | --- | --- |
| `id` | path | string (uuid) | Required. Id of the EmailMailboxRelation record to retrieve. |
| `expand` | query | string | Related records to return inline instead of their URIs, comma-separated; dots reach nested relations. The only parameter this call accepts. |

Responses: 200 (The EmailMailboxRelation record.: `success`, `data`), 400, 401, 404, 429, 500.

```bash
curl 'https://{region}.api.coevera.com/api/v100/rest/spaces/{space_id}/entities/EmailMailboxRelations/ba000000-0000-4000-a000-000000000001' \
  --user "$COEVERA_API_KEY:$COEVERA_API_SECRET"
```

## EmailMailboxRelation fields

| Field | Type | Notes |
| --- | --- | --- |
| `id` | uuid | Read-only. Unique identifier of entity. |
| `is_delete_protected` | boolean | Read-only. True when the record is protected against deletion because it must always exist in the space. |
| `is_deleted` | boolean | Read-only. Specifies if the entity is considered deleted. |
| `modified` | date-time | Read-only. Last modification time. |
| `created` | date-time | Read-only. Creation time. |
| `email` | uri → Emails | Read-only. Email that belongs to the mailbox. |
| `direction` | integer | Read-only. Direction of the email relative to this mailbox: outgoing for the mailbox that sent it, incoming for a mailbox that received it. Values: 1 OutgoingEmail, 2 IncomingEmail. |
| `email_created` | date-time | Read-only. Creation time. |
| `email_id` | uuid → Emails | Read-only. Id of the email that belongs to the mailbox. |
| `email_is_deleted` | boolean | Read-only. True when the related email has been deleted from this mailbox; such links are hidden from the inbox view. |
| `error_code` | integer | Read-only. Error code for the email in this mailbox; 0 means the email was processed without error. |
| `event_types` | string | Read-only. Tracking events recorded so far for the related email (opens, clicks, replies, bounces, unsubscribes); several can be combined. Values: 2, 4, 8, 16, 32, 64. |
| `is_draft` | boolean | Read-only. Copy of the related email's draft flag; true when the email is an unsent draft, which shows it in the mailbox Drafts. |
| `is_scheduled` | boolean | Read-only. Whether the email is scheduled to be sent at a future time and has not been sent yet. |
| `label_ids` | object | Read-only. Ids of the labels applied to this conversation in this mailbox. |
| `mailbox_id` | uuid | Read-only. Id of the mailbox (connected email account) the email belongs to. |
| `sent_or_scheduled_at` | date-time | Read-only. Time when the email was sent, or its scheduled send time if it has not been sent yet. |
| `thread_or_id` | uuid | Read-only. Id of the email thread, or the id of the email itself when it does not belong to a thread. |
| `type` | integer | Read-only. Copy of the related email's type: an individual email or part of a mass email. Values: 1 Standard, 2 Mass. |

Custom fields appear in your space's live spec: `GET /api/v100/rest/spaces/{space_id}/openapi.json` with your credentials.

## Errors

Every error body has `success: false`, `http_status`, `code`, `name` and `message`. Branch on `code`: the status alone does not tell a missing permission from a bad parameter.

| HTTP | When |
| --- | --- |
| 400 | Bad request: a bad or unknown parameter (codes 117, 118), a missing permission (code 50), conflicting data (code 2002) or any other API error. The REST API answers 400 where others answer 403 or 409; check `code`. |
| 401 | Not authenticated: missing or wrong credentials, a credential of another space, or an expired token (code 401, ERROR_UNAUTHORIZED). |
| 404 | No such record or entity (code 143 ERROR_NO_ENTITY, or 2006 ERROR_UNKNOWN_TYPE). |
| 429 | Too many requests (code 182). Wait for the seconds in Retry-After, then retry. |
| 500 | Unexpected server error (code 1000, ERROR_UNKNOWN). |

All error codes: https://developers.coevera.com/reference/errors.md; how to handle them: https://developers.coevera.com/concepts/errors.md
