Skip to content

List emails

Request

Retrieve emails from your unified inbox. Filter by contact, mailbox, automation (flow_uuid), type (inbox/outbox), status, and date range.

Filters use the filter[...] form (URL-encode the brackets); flat params are ignored. Read total with limit=1 to count without paging.

Reporting on email sent per campaign: unlike LinkedIn messages, emails carry flow_uuid, so email volume can be counted per automation. Note that type=outbox includes emails synced from the mailbox (status=sync) as well as those sent by an automation (status=sent) — filter status=sent (or a non-empty flow_uuid) to count only what Grinfi sent. Date range uses sent_at operators, e.g. filter[sent_at][>=]=2026-07-01.

There is no group-counts endpoint for emails — build breakdowns by issuing one filtered count per slice (by flow_uuid, mailbox_uuid, date, …).

Security
bearerAuth
Query
limitinteger, (int32)

Items per page (default 20).

Default:20
Example:limit=20
offsetinteger, (int32)

Items to skip (default 0).

Default:0
Example:offset=0
order_fieldstring

Sort field (default created_at).

Default:"created_at"
Example:order_field=created_at
order_typestring

Sort direction.

Default:"asc"
Enum:"asc""desc"
Example:order_type=asc
filterobject

Filters, passed as filter[field]=value.

GET
/emails/api/emails
curl -i -X GET \
  'https://leadgen.grinfi.io/emails/api/emails?limit=20&offset=0&order_field=created_at&order_type=asc&filter=%7B%22flow_uuid%22%3A%5B%22string%22%5D%2C%22flow_node_id%22%3A0%2C%22mailbox_uuid%22%3A%5B%22string%22%5D%2C%22lead_uuid%22%3A%5B%22string%22%5D%2C%22type%22%3A%5B%22string%22%5D%2C%22status%22%3A%5B%22string%22%5D%2C%22sent_at%22%3A%5B%22string%22%5D%2C%22from_email%22%3A%5B%22string%22%5D%2C%22to_email%22%3A%5B%22string%22%5D%2C%22thread_uuid%22%3A%5B%22string%22%5D%2C%22template_uuid%22%3A%5B%22string%22%5D%2C%22folder%22%3A%5B%22string%22%5D%7D' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

List of emails.

Bodyapplication/json
dataArray of objects(email)
limitinteger
offsetinteger
totalinteger
Response
{ "data": [ {} ], "limit": 0, "offset": 0, "total": 0 }