List emails
Lists emails in the workspace, newest first. Filter by direction, delivery status, a single thread_id, or a literal query: every word in it must appear in the subject, the sender, a recipient or the Message-ID, in any order and case. The query is a literal filter; the API does not provide semantic email search. To sync, walk forward instead: order=asc with after set to the created_at of the last email you have lists only what is new, oldest first.
/emailsAuthorizationBearer token (API key) · headerrequiredPass an AI Inbx API key as a Bearer token.
limitintegerMaximum number of resources to return.
cursorstringOpaque cursor from the previous page.
spacestringOnly resources in this space. Pass none for resources that belong to the workspace itself (space_id: null), or omit for the workspace and all its spaces.
afterstring<date-time>Only what was created after this instant — created_at later than it, the instant itself left out. ISO 8601 with an offset.
beforestring<date-time>Only what was created before this instant — created_at earlier than it, the instant itself left out. ISO 8601 with an offset.
orderstringWhich way the list is walked by created_at: desc is newest first, asc oldest first — the order a sync reads in. A cursor is a position, not a direction: send the same order with it.
ascdescdirectionstringFilter by message direction.
inboundoutboundstatusstringFilter by delivery status.
draftscheduledcanceleddiscardedqueuedsendingsentdeliveredbouncedcomplainedfailedreceivedthread_idstringFilter to one thread.
querystringWords to find in the subject, sender, recipients or Message-ID. Every word must match.
AIInbx-WorkspacestringWorkspace id from GET /workspaces, for an OAuth token that reaches several.
Success.
dataobject[]requiredShow propertiesHide properties
objectidstringrequiredthread_idstringrequiredspace_idstring | nullrequiredWhich space a resource is in. Null is the workspace itself — what every resource of a workspace that has no spaces says.
Show propertiesHide properties
stringnulldirectionstringrequiredinboundoutboundstatusstringrequireddraftscheduledcanceleddiscardedqueuedsendingsentdeliveredbouncedcomplainedfailedreceivedfromobjectrequiredShow propertiesHide properties
namestring | nullShow propertiesHide properties
stringnulladdressstring<email>requiredtostring<email>[]requiredccstring<email>[]bccstring<email>[]reply_tostring<email>[]subjectstringrequiredsnippetstringrequiredhtmlstring | nullShow propertiesHide properties
stringnulltextstring | nullShow propertiesHide properties
stringnullcategorystring | nullrequiredShow propertiesHide properties
stringnullverdictsobject | nullrequiredShow propertiesHide properties
spamstring | nullrequiredPASS, FAIL, GRAY or PROCESSING_FAILED. Null when this check was not reported.
Show propertiesHide properties
stringnullspfstring | nullrequiredPASS, FAIL, GRAY or PROCESSING_FAILED. Null when this check was not reported.
Show propertiesHide properties
stringnulldkimstring | nullrequiredPASS, FAIL, GRAY or PROCESSING_FAILED. Null when this check was not reported.
Show propertiesHide properties
stringnulldmarcstring | nullrequiredPASS, FAIL, GRAY or PROCESSING_FAILED. Null when this check was not reported.
Show propertiesHide properties
stringnullnullsuppression_keystring | nullrequiredShow propertiesHide properties
stringnullmessage_idstringrequiredThe RFC Message-ID, without angle brackets.
in_reply_tostring | nullrequiredThe Message-ID of the message this one answers, without angle brackets. Null when it answers none.
Show propertiesHide properties
stringnullidempotency_keystring | nullrequiredShow propertiesHide properties
stringnullcreated_atstring<date-time>requiredWhen it took its place in its thread. A draft's moves to when it is sent — draft.drafted_at keeps when it was written.
scheduled_atstring<date-time> | nullrequiredShow propertiesHide properties
string<date-time>nullsent_atstring<date-time> | nullrequiredShow propertiesHide properties
string<date-time>nulldraftobject | nullrequiredShow propertiesHide properties
drafted_atstring<date-time>requirededited_atstring<date-time> | nullrequiredWhen its content last changed before it was sent. Null when it went as written.
Show propertiesHide properties
string<date-time>nullreview_urlstring<uri> | nullrequiredWhere a person reviews, edits and sends it in the console.
Show propertiesHide properties
string<uri>nullnullattachmentsobject[]Show propertiesHide properties
objectidstringrequiredfilenamestringrequiredcontent_typestringrequiredsizeintegerrequiredcidstring | nullrequiredShow propertiesHide properties
stringnulldownload_urlstring<uri> | nullrequiredSigned URL for the original bytes, good until expires_at. Opens without the API key, so treat it as a secret — and do not send the key to it: storage answers a request that carries an Authorization header with 400. To keep a reference, store the attachment id and call GET /attachments/{id}. Null when the bytes are gone.
Show propertiesHide properties
string<uri>nullexpires_atstring<date-time> | nullrequiredWhen download_url and preparation.content_url stop working — an hour after the response. Read the email again, or call the download endpoint with the attachment ID, for fresh ones.
Show propertiesHide properties
string<date-time>nullpreparationobject | nullrequiredShow propertiesHide properties
statusstringrequiredreadypartialunsupportedfailedformatstring | nullrequiredShow propertiesHide properties
stringnullpagesinteger | nullrequiredShow propertiesHide properties
integernullwarningsstring[]requiredcontent_urlstring<uri> | nullrequiredSigned URL for the prepared text, good until the attachment's expires_at. Opens without the API key — and only without it: storage answers a request that carries an Authorization header with 400. Null when there is no prepared text.
Show propertiesHide properties
string<uri>nulltextstring | nullShow propertiesHide properties
stringnullnullnext_cursorstring | nullrequiredShow propertiesHide properties
stringnullThe request is invalid.
typestringrequiredtitlestringrequiredstatusintegerrequireddetailstringrequiredcodestringrequiredrequest_idstringrequiredissuesobject[]Show propertiesHide properties
objectpathstringrequiredmessagestringrequiredThe API key is missing or invalid.
typestringrequiredtitlestringrequiredstatusintegerrequireddetailstringrequiredcodestringrequiredrequest_idstringrequiredissuesobject[]Show propertiesHide properties
objectpathstringrequiredmessagestringrequiredThe workspace has no plan (plan_required), or its plan's allowance is used up (allowance_reached).
typestringrequiredtitlestringrequiredstatusintegerrequireddetailstringrequiredcodestringrequiredrequest_idstringrequiredissuesobject[]Show propertiesHide properties
objectpathstringrequiredmessagestringrequiredThe API key or token does not have the required scope, or the token is connected as an inbox and the operation is not one an inbox may use.
typestringrequiredtitlestringrequiredstatusintegerrequireddetailstringrequiredcodestringrequiredrequest_idstringrequiredissuesobject[]Show propertiesHide properties
objectpathstringrequiredmessagestringrequiredThe requested resource does not exist.
typestringrequiredtitlestringrequiredstatusintegerrequireddetailstringrequiredcodestringrequiredrequest_idstringrequiredissuesobject[]Show propertiesHide properties
objectpathstringrequiredmessagestringrequiredThe request conflicts with the resource's current state.
typestringrequiredtitlestringrequiredstatusintegerrequireddetailstringrequiredcodestringrequiredrequest_idstringrequiredissuesobject[]Show propertiesHide properties
objectpathstringrequiredmessagestringrequiredThe request body or attachments are too large.
typestringrequiredtitlestringrequiredstatusintegerrequireddetailstringrequiredcodestringrequiredrequest_idstringrequiredissuesobject[]Show propertiesHide properties
objectpathstringrequiredmessagestringrequiredThe request body is not JSON.
typestringrequiredtitlestringrequiredstatusintegerrequireddetailstringrequiredcodestringrequiredrequest_idstringrequiredissuesobject[]Show propertiesHide properties
objectpathstringrequiredmessagestringrequiredThe request body failed validation.
typestringrequiredtitlestringrequiredstatusintegerrequireddetailstringrequiredcodestringrequiredrequest_idstringrequiredissuesobject[]Show propertiesHide properties
objectpathstringrequiredmessagestringrequiredThe organisation's request budget is spent (too_many_requests), or an upstream mail provider is throttling (rate_limited).
typestringrequiredtitlestringrequiredstatusintegerrequireddetailstringrequiredcodestringrequiredrequest_idstringrequiredissuesobject[]Show propertiesHide properties
objectpathstringrequiredmessagestringrequiredAn internal error occurred.
typestringrequiredtitlestringrequiredstatusintegerrequireddetailstringrequiredcodestringrequiredrequest_idstringrequiredissuesobject[]Show propertiesHide properties
objectpathstringrequiredmessagestringrequiredAn upstream mail provider failed.
typestringrequiredtitlestringrequiredstatusintegerrequireddetailstringrequiredcodestringrequiredrequest_idstringrequiredissuesobject[]Show propertiesHide properties
objectpathstringrequiredmessagestringrequiredThe service is temporarily unavailable.
typestringrequiredtitlestringrequiredstatusintegerrequireddetailstringrequiredcodestringrequiredrequest_idstringrequiredissuesobject[]Show propertiesHide properties
objectpathstringrequiredmessagestringrequired