Skip to content

List emails

client.email.list(EmailListParams { limit, offset } query?, RequestOptionsoptions?): EmailListResponse { data, object, totalCount }
GET/v1/emails

Returns a paginated list of emails. Results are sorted by when the record was created in Lightfield (createdAt), newest first. This is not the time the email was sent or received. Use offset and limit to paginate through results. Each email is privacy-filtered per caller, includes a read-only accessLevel, and may redact the subject at metadata-only access. fields.$body is not included on list items; use GET /v1/emails/{id} for message body HTML. As in the Lightfield app, an email is listed only when it is linked to an account that is not trashed; this applies to every caller, including admins and workspace API keys. See List endpoints for more information about pagination.

Required scope: emails:read

Rate limit category: Search

ParametersExpand Collapse
query: EmailListParams { limit, offset }
limit?: number

Maximum number of records to return. Defaults to 25, maximum 25.

minimum1
maximum9007199254740991
offset?: number

Number of records to skip for pagination. Defaults to 0.

minimum0
maximum9007199254740991
ReturnsExpand Collapse
EmailListResponse { data, object, totalCount }
data: Array<Data>

Array of email objects for the current page.

id: string

Unique identifier for the entity.

accessLevel: "FULL" | "METADATA"

The caller’s resolved access level for this email.

One of the following:
"FULL"
"METADATA"
createdAt: string

ISO 8601 timestamp of when the entity was created.

fields: Record<string, Fields>

Field map for this email. Does not include $body; retrieve the email by ID for message HTML.

value: string | number | boolean | 3 more | null

The field value, or null if unset.

One of the following:
string
number
boolean
Array<string>
Address { city, country, latitude, 5 more }
city?: string | null

City name.

country?: string | null

2-letter ISO 3166-1 alpha-2 country code.

latitude?: number | null

Latitude coordinate.

longitude?: number | null

Longitude coordinate.

postalCode?: string | null

Postal or ZIP code.

state?: string | null

State or province.

street?: string | null

Street address line 1.

street2?: string | null

Street address line 2.

FullName { firstName, lastName }
firstName?: string | null

The contact’s first name.

lastName?: string | null

The contact’s last name.

valueType: "ADDRESS" | "CHECKBOX" | "CURRENCY" | 12 more

The data type of the field.

One of the following:
"ADDRESS"
"CHECKBOX"
"CURRENCY"
"DATETIME"
"EMAIL"
"FULL_NAME"
"MARKDOWN"
"MULTI_SELECT"
"NUMBER"
"SINGLE_SELECT"
"SOCIAL_HANDLE"
"TELEPHONE"
"TEXT"
"URL"
"HTML"
objectType: "email"

Always email.

relationships: Record<string, Relationships>

Map of relationship names to their associated entities. System relationships are prefixed with $ (e.g. $owner, $contact). A self-referential relationship keeps its merged values and includes optional directional values. List filters select the current record’s role with :asSource or :asDestination, for example ?parent:asSource[contains]=account_id.

cardinality: string

Whether the relationship is has_one or has_many.

objectType: string

The type of the related object (e.g. account, contact).

values: Array<string>

IDs of the related entities.

directions?: Directions { asDestination, asSource }

Directional values for a self-referential relationship. List filters use the relationship key with :asSource or :asDestination; writes continue to use the bare key.

asDestination: AsDestination { cardinality, values }

The current record is the destination (incoming) endpoint.

cardinality: "HAS_ONE" | "HAS_MANY"

Whether this endpoint direction is HAS_ONE or HAS_MANY.

One of the following:
"HAS_ONE"
"HAS_MANY"
values: Array<string>

IDs of the related entities in this direction.

asSource: AsSource { cardinality, values }

The current record is the source (outgoing) endpoint.

cardinality: "HAS_ONE" | "HAS_MANY"

Whether this endpoint direction is HAS_ONE or HAS_MANY.

One of the following:
"HAS_ONE"
"HAS_MANY"
values: Array<string>

IDs of the related entities in this direction.

updatedAt: string | null

ISO 8601 timestamp of when the entity was last updated, or null.

externalId?: string | null

External identifier for the entity, or null if unset.

object: string

The object type, always "list".

totalCount: number

Total number of entities matching the query.

minimum0
maximum9007199254740991

List emails

import Lightfield from 'lightfield';

const client = new Lightfield({
  apiKey: 'My API Key',
});

const emailListResponse = await client.email.list();

console.log(emailListResponse.data);
{
  "data": [
    {
      "id": "eml_cm0abc456def789",
      "accessLevel": "FULL",
      "createdAt": "2026-05-01T09:00:00.000Z",
      "fields": {
        "$subject": {
          "value": "Following up on our chat",
          "valueType": "TEXT"
        },
        "$sentAt": {
          "value": "2026-05-01T08:30:00.000Z",
          "valueType": "DATETIME"
        },
        "$from": {
          "value": [
            "sales@acme.com"
          ],
          "valueType": "EMAIL"
        },
        "$to": {
          "value": [
            "lead@example.com"
          ],
          "valueType": "EMAIL"
        },
        "$cc": {
          "value": [
            "string"
          ],
          "valueType": "EMAIL"
        },
        "$bcc": {
          "value": [
            "string"
          ],
          "valueType": "EMAIL"
        },
        "$privacySetting": {
          "value": "string",
          "valueType": "TEXT"
        }
      },
      "httpLink": null,
      "objectType": "email",
      "relationships": {
        "$account": {
          "cardinality": "has_many",
          "objectType": "account",
          "values": [
            "acc_cm4stu901uvw234"
          ],
          "directions": {
            "asDestination": {
              "cardinality": "HAS_ONE",
              "values": [
                "string"
              ]
            },
            "asSource": {
              "cardinality": "HAS_ONE",
              "values": [
                "string"
              ]
            }
          }
        },
        "$contact": {
          "cardinality": "has_many",
          "objectType": "contact",
          "values": [
            "con_cm2ghi789jkl012"
          ],
          "directions": {
            "asDestination": {
              "cardinality": "HAS_ONE",
              "values": [
                "string"
              ]
            },
            "asSource": {
              "cardinality": "HAS_ONE",
              "values": [
                "string"
              ]
            }
          }
        }
      },
      "updatedAt": "2026-05-01T10:00:00.000Z",
      "externalId": "externalId"
    },
    {
      "id": "eml_cm1xyz123uvw456",
      "accessLevel": "METADATA",
      "createdAt": "2026-04-29T15:12:00.000Z",
      "fields": {
        "$subject": {
          "value": "string",
          "valueType": "TEXT"
        },
        "$sentAt": {
          "value": "2026-04-29T15:11:30.000Z",
          "valueType": "DATETIME"
        },
        "$from": {
          "value": [
            "ceo@acme.com"
          ],
          "valueType": "EMAIL"
        },
        "$to": {
          "value": [
            "member@lightfield.com"
          ],
          "valueType": "EMAIL"
        },
        "$cc": {
          "value": [
            "string"
          ],
          "valueType": "EMAIL"
        },
        "$bcc": {
          "value": [
            "string"
          ],
          "valueType": "EMAIL"
        },
        "$privacySetting": {
          "value": "string",
          "valueType": "TEXT"
        }
      },
      "httpLink": null,
      "objectType": "email",
      "relationships": {
        "$account": {
          "cardinality": "has_many",
          "objectType": "account",
          "values": [
            "acc_cm4stu901uvw234"
          ],
          "directions": {
            "asDestination": {
              "cardinality": "HAS_ONE",
              "values": [
                "string"
              ]
            },
            "asSource": {
              "cardinality": "HAS_ONE",
              "values": [
                "string"
              ]
            }
          }
        }
      },
      "updatedAt": "2026-04-29T15:12:00.000Z",
      "externalId": "externalId"
    }
  ],
  "object": "list",
  "totalCount": 2
}
Returns Examples
{
  "data": [
    {
      "id": "eml_cm0abc456def789",
      "accessLevel": "FULL",
      "createdAt": "2026-05-01T09:00:00.000Z",
      "fields": {
        "$subject": {
          "value": "Following up on our chat",
          "valueType": "TEXT"
        },
        "$sentAt": {
          "value": "2026-05-01T08:30:00.000Z",
          "valueType": "DATETIME"
        },
        "$from": {
          "value": [
            "sales@acme.com"
          ],
          "valueType": "EMAIL"
        },
        "$to": {
          "value": [
            "lead@example.com"
          ],
          "valueType": "EMAIL"
        },
        "$cc": {
          "value": [
            "string"
          ],
          "valueType": "EMAIL"
        },
        "$bcc": {
          "value": [
            "string"
          ],
          "valueType": "EMAIL"
        },
        "$privacySetting": {
          "value": "string",
          "valueType": "TEXT"
        }
      },
      "httpLink": null,
      "objectType": "email",
      "relationships": {
        "$account": {
          "cardinality": "has_many",
          "objectType": "account",
          "values": [
            "acc_cm4stu901uvw234"
          ],
          "directions": {
            "asDestination": {
              "cardinality": "HAS_ONE",
              "values": [
                "string"
              ]
            },
            "asSource": {
              "cardinality": "HAS_ONE",
              "values": [
                "string"
              ]
            }
          }
        },
        "$contact": {
          "cardinality": "has_many",
          "objectType": "contact",
          "values": [
            "con_cm2ghi789jkl012"
          ],
          "directions": {
            "asDestination": {
              "cardinality": "HAS_ONE",
              "values": [
                "string"
              ]
            },
            "asSource": {
              "cardinality": "HAS_ONE",
              "values": [
                "string"
              ]
            }
          }
        }
      },
      "updatedAt": "2026-05-01T10:00:00.000Z",
      "externalId": "externalId"
    },
    {
      "id": "eml_cm1xyz123uvw456",
      "accessLevel": "METADATA",
      "createdAt": "2026-04-29T15:12:00.000Z",
      "fields": {
        "$subject": {
          "value": "string",
          "valueType": "TEXT"
        },
        "$sentAt": {
          "value": "2026-04-29T15:11:30.000Z",
          "valueType": "DATETIME"
        },
        "$from": {
          "value": [
            "ceo@acme.com"
          ],
          "valueType": "EMAIL"
        },
        "$to": {
          "value": [
            "member@lightfield.com"
          ],
          "valueType": "EMAIL"
        },
        "$cc": {
          "value": [
            "string"
          ],
          "valueType": "EMAIL"
        },
        "$bcc": {
          "value": [
            "string"
          ],
          "valueType": "EMAIL"
        },
        "$privacySetting": {
          "value": "string",
          "valueType": "TEXT"
        }
      },
      "httpLink": null,
      "objectType": "email",
      "relationships": {
        "$account": {
          "cardinality": "has_many",
          "objectType": "account",
          "values": [
            "acc_cm4stu901uvw234"
          ],
          "directions": {
            "asDestination": {
              "cardinality": "HAS_ONE",
              "values": [
                "string"
              ]
            },
            "asSource": {
              "cardinality": "HAS_ONE",
              "values": [
                "string"
              ]
            }
          }
        }
      },
      "updatedAt": "2026-04-29T15:12:00.000Z",
      "externalId": "externalId"
    }
  ],
  "object": "list",
  "totalCount": 2
}