List threads
Lists conversations, most recently active first. Every word of query must appear in the subject, the mailbox or a participant’s address, literally and in any order; mailbox narrows to one address.
/threadsAuthorizationBearer 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.
querystringWords to find in the subject, mailbox or participants. Every word must match.
mailboxstring<email>Filter by mailbox address.
AIInbx-WorkspacestringWorkspace id from GET /workspaces, for an OAuth token that reaches several.
Success.
dataobject[]requiredShow propertiesHide properties
objectidstringrequiredspace_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
stringnullsubjectstringrequiredmailboxstring<email>requiredparticipantsstring<email>[]requiredmessage_countintegerrequiredlast_message_atstring<date-time>requiredforward_ofstring | nullrequiredThe thread this one was forwarded from, when a forward opened it.
Show propertiesHide properties
stringnullmessagesobject[]Show 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>[]requiredbccstring<email>[]requiredreply_tostring<email>[]requiredsubjectstringrequiredsnippetstringrequiredhtmlstring | nullrequiredShow propertiesHide properties
stringnulltextstring | nullrequiredShow 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[]requiredShow 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
stringnullnullstripped_textstring | nullrequiredWhat this message says: typed text only, quoted conversation and signature removed. A signature the thread has not seen from this sender stays — it is where the name and role are.
Show propertiesHide properties
stringnullstripped_htmlstring | nullrequiredThe HTML part with the same cut as stripped_text: quoted conversation and repeated signature removed, an answer typed into the quote kept under the line it answers. Null when the message has no HTML part or its markup could not be matched to the cut.
Show propertiesHide properties
stringnullsegmentsobject[]requiredShow propertiesHide properties
objectkindstringrequiredwrittenquotedsignaturetextstringrequiredreferencesstring[]requiredThe Message-IDs of the conversation so far, oldest first, without angle brackets.
headersobject[]requiredShow propertiesHide properties
objectnamestringrequiredvaluestringrequiredeventsobject[]requiredShow propertiesHide properties
objectidstringrequiredtypestringrequireddraftededitedscheduledcanceleddiscardedqueuedreplayedsentdelivereddeferredbouncedcomplainedfailedatstring<date-time>requiredrecipientstring<email> | nullrequiredShow propertiesHide properties
string<email>nulldetailstring | nullrequiredShow propertiesHide properties
stringnullengagementsobject[]requiredShow propertiesHide properties
objectkindstringrequiredopenclickatstring<date-time>requiredurlstring<uri> | nullrequiredShow propertiesHide properties
string<uri>nulluser_agentstring | nullrequiredShow propertiesHide properties
stringnullbotbooleanrequiredTrue when a proxy, security scanner or script made the hit rather than the recipient.
bot_reasonstring | nullrequiredWhy: privacy_proxy is Apple Mail Privacy Protection fetching on arrival, script an HTTP library, known_bot a scanner or link expander that names itself, stale_browser a browser build nobody runs any more, too_fast within seconds of delivery, sooner than a person could act. Null when bot is false. More reasons may be added; treat one you do not know as a bot.
Show propertiesHide properties
stringnullmessages_next_cursorstring | nullShow propertiesHide properties
stringnullnext_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