List the workspace's messages, newest first by default.
/v1/messagesAuthorizationBearer token · headerrequiredAn API key (nb_live_…, nb_test_…), a workspace token (nbs_…) or a CLI token (nbc_…).
limitinteger<int64>Messages per page, 1 to 100 (default 20).
cursorstringThe next_cursor of the previous page.
orderListOrderdesc (default) or asc.
descascincludeListIncludetotal_count adds an exact count up to 10,000.
total_countcampaign_idId_CampaignMessages of this campaign.
enrollment_idId_EnrollmentMessages of this enrollment.
person_idId_PersonMessages to this person.
connection_idId_ConnectionMessages sent through this connection.
thread_idId_ThreadMessages of this thread.
stateMessageStateMessages in this state.
queuedclaimedin_flightsentfailedcancelleduncertainsuppressedcreated_at[gte]stringCreated at or after this instant (RFC 3339).
created_at[gt]stringCreated after this instant.
created_at[lte]stringCreated at or before this instant.
created_at[lt]stringCreated before this instant.
A page of messages.
dataobject[]requiredAt most limit rows, 100 at most.
Show propertiesHide properties
objectattemptsMessageAttemptsrequiredA message's latest attempts.
Show propertiesHide properties
dataAttemptObject[]requiredAt most 20, newest first.
Show propertiesHide properties
AttemptObjectcategoryEvidenceCategory | nullShow propertiesHide properties
stringnullclaimed_atTimestamprequiredconnection_idId_Connectionrequireddiagnosticstring | nullThe provider's words, bounded and redacted.
enhanced_statusstring | nullfinished_atTimestamp | nullShow propertiesHide properties
TimestampnullidId_Attemptrequirednumberinteger<int32>required1 for the message's first attempt.
outcomeAttemptOutcome | nullShow propertiesHide properties
stringnullphaseSubmissionPhase | nullShow propertiesHide properties
stringnullprovider_message_idstring | nullThe provider's id of the accepted message, when it returns one.
recipient_countinteger<int32>requiredsmtp_codeinteger<int32> | nullstarted_atTimestamp | nullShow propertiesHide properties
Timestampnullhas_morebooleanrequiredMore attempts exist than data shows; read them through an export.
attempts_countinteger<int64>requiredEvery attempt it had.
bccstring[]requiredcampaign_idId_Campaign | nullShow propertiesHide properties
stringnullccstring[]requiredconnection_idId_Connectionrequiredcreated_atTimestamprequiredenrollment_idId_Enrollment | nullShow propertiesHide properties
stringnulleventsMessageEventsrequiredA message's first delivery events.
Show propertiesHide properties
dataDeliveryEventObject[]requiredAt most 20, in the order they were observed.
Show propertiesHide properties
DeliveryEventObjectactionDsnAction | nullShow propertiesHide properties
stringnullattempt_numberinteger<int32> | nullThe attempt it comes from, when its source is an attempt.
categoryEvidenceCategoryrequiredWhy an outcome happened, in a closed vocabulary (attempts.category,
delivery_events.category).
acceptedinvalid_recipientmailbox_fullno_routeinvalid_addresscontent_rejectedpolicythrottledunauthorizedforbiddenconnection_faileddeadlineunsupportedtransientrejecteduncertaindeliveredcomplaintunsubscribedaddress_changedexpiredsuppressedsender_archivedrender_failedworkspace_deletedconfidenceEvidenceConfidencerequiredHow much a delivery event can be trusted (delivery_events.confidence).
authenticatedcorroboratedinferredhuman_textdiagnosticstring | nullenhanced_statusstring | nullidId_DeliveryEventrequiredkindDeliveryEventKindrequiredWhat kind of observation a delivery event is (delivery_events.kind).
accepteddeferreddeliveredbouncedrejectedcomplaintunsubscribedaddress_changedreportedmessage_idId_Message | nullShow propertiesHide properties
stringnullobserved_atTimestamprequiredWhen the source observed it.
phaseSubmissionPhase | nullShow propertiesHide properties
SubmissionPhasenullprocessed_atTimestamprequiredWhen Norbelys recorded it.
provider_codestring | nullAn exact provider-specific rejection code found in diagnostic, when any; it does not
change the event's kind, recipient effect, or retry decision.
received_atTimestamprequiredWhen Norbelys received it.
recipientstring | nullThe recipient it concerns; null when the evidence names none.
recipient_refRecipientRefrequiredWhy an event's recipient is known (delivery_events.recipient_ref).
namedsingle_envelopeunknownsourceEvidenceSourcerequiredWhere a delivery event came from (delivery_events.source).
smtpprovider_apiprovider_webhookdsnarfinbound_noticepreflightunsubscribemanualsent_folderthread_idId_Thread | nullShow propertiesHide properties
Id_Threadnullhas_morebooleanrequiredMore events exist; url lists them all.
urlstringrequiredThe delivery event list of this message.
expires_atTimestamp | nullShow propertiesHide properties
string<date-time>nullfromAddressrequiredAn address and its display name.
Show propertiesHide properties
emailstringrequirednamestring | nullholdsHoldObject[]requiredOne per held recipient: at most the 150 addresses of the envelope.
Show propertiesHide properties
HoldObjectemailstringrequiredobserved_atTimestamprequiredreasonHoldReasonrequiredWhy an address is held (recipient_holds.reason).
mailbox_fullgreylistedno_routeinvalid_recipientresolutionHoldResolution | nullShow propertiesHide properties
stringnullresolved_atTimestamp | nullShow propertiesHide properties
string<date-time>nullreview_afterTimestamprequiredWhen the hold is checked again.
idId_Messagerequiredin_reply_tostring | nullThe Message-ID it answers.
internet_message_idstringrequiredThe Message-ID header.
kindMessageKindrequiredWhat a message is, as messages.kind stores it.
campaigndirectreplytransactionalperson_idId_Person | nullShow propertiesHide properties
stringnullreply_tostring | nullsend_atTimestamprequiredWhen it is due.
sender_identity_idId_SenderIdentityrequiredsent_atTimestamp | nullShow propertiesHide properties
string<date-time>nullsnippets_fallbackSnippetsFallback | nullShow propertiesHide properties
stringnullstateMessageStaterequiredWhere a message is in its life, as messages.state stores it. queued, claimed and
in_flight are live (the message has a row in the delivery queue); the others are final.
queuedclaimedin_flightsentfailedcancelleduncertainsuppressedstatus_detailstring | nullWhy it is in its state, when that needs words.
step_idId_Step | nullShow propertiesHide properties
stringnullsubjectstringrequiredThe subject as sent.
thread_idId_Thread | nullShow propertiesHide properties
stringnulltostring[]requiredtrackingTrackingrequiredWhat a message tracks, frozen when it was created.
Show propertiesHide properties
clicksbooleanrequiredIts links lead through click links.
hostnamestring | nullThe campaign's own tracking host, when it has one; the platform's otherwise.
opensbooleanrequiredAn open pixel is added to its HTML.
updated_atTimestamprequiredvariant_idId_Variant | nullShow propertiesHide properties
stringnullmetaMetarequiredThe page metadata.
Show propertiesHide properties
has_morebooleanrequirednext_cursorstring | nulltotal_countinteger<int64> | nullWith ?include=total_count: exact up to 10,000.
total_count_cappedboolean | nullWith ?include=total_count: true when the count stopped at 10,000.
The cursor is not valid for this request.
codeProblemCoderequiredThe closed registry of problem codes: programs branch on a problem's code, never on its
text. A code may be added, never repurposed.
invalid_requestunauthorizedforbiddensession_requirednot_foundarchivedmethod_not_allowedconflictinvalid_stateidempotency_in_progressprecondition_failedpayload_too_largeunsupported_media_typevalidation_failedidempotency_mismatchsuppressedcaptcha_failedinsufficient_scoperate_limitedquota_exceededinternal_errorservice_unavailabletimeoutdetailstringrequiredWhat went wrong, for a person; never an internal cause.
errorsFieldError[]With validation_failed only: every invalid field.
Show propertiesHide properties
FieldErrorcodestringrequiredWhat is wrong (required, range, length, format, invalid, …).
detailstringrequiredA safe, human-readable explanation.
pointerstringrequiredRFC 6901 pointer into the body, or ?name for a query parameter.
instancestringrequiredThe request's path.
request_idstringrequiredThe request's id, also in X-Request-Id: what support needs to find the request.
retry_afterinteger<int64> | nullWith 429 and 503: the seconds to wait, as in Retry-After.
statusinteger<int32>requiredThe HTTP status.
titlestringrequiredFixed per code.
typestringrequiredhttps://docs.norbelys.com/errors/<code>, a page that explains the code.
No valid credential.
codeProblemCoderequiredThe closed registry of problem codes: programs branch on a problem's code, never on its
text. A code may be added, never repurposed.
invalid_requestunauthorizedforbiddensession_requirednot_foundarchivedmethod_not_allowedconflictinvalid_stateidempotency_in_progressprecondition_failedpayload_too_largeunsupported_media_typevalidation_failedidempotency_mismatchsuppressedcaptcha_failedinsufficient_scoperate_limitedquota_exceededinternal_errorservice_unavailabletimeoutdetailstringrequiredWhat went wrong, for a person; never an internal cause.
errorsFieldError[]With validation_failed only: every invalid field.
Show propertiesHide properties
FieldErrorcodestringrequiredWhat is wrong (required, range, length, format, invalid, …).
detailstringrequiredA safe, human-readable explanation.
pointerstringrequiredRFC 6901 pointer into the body, or ?name for a query parameter.
instancestringrequiredThe request's path.
request_idstringrequiredThe request's id, also in X-Request-Id: what support needs to find the request.
retry_afterinteger<int64> | nullWith 429 and 503: the seconds to wait, as in Retry-After.
statusinteger<int32>requiredThe HTTP status.
titlestringrequiredFixed per code.
typestringrequiredhttps://docs.norbelys.com/errors/<code>, a page that explains the code.
The credential lacks messages:read.
codeProblemCoderequiredThe closed registry of problem codes: programs branch on a problem's code, never on its
text. A code may be added, never repurposed.
invalid_requestunauthorizedforbiddensession_requirednot_foundarchivedmethod_not_allowedconflictinvalid_stateidempotency_in_progressprecondition_failedpayload_too_largeunsupported_media_typevalidation_failedidempotency_mismatchsuppressedcaptcha_failedinsufficient_scoperate_limitedquota_exceededinternal_errorservice_unavailabletimeoutdetailstringrequiredWhat went wrong, for a person; never an internal cause.
errorsFieldError[]With validation_failed only: every invalid field.
Show propertiesHide properties
FieldErrorcodestringrequiredWhat is wrong (required, range, length, format, invalid, …).
detailstringrequiredA safe, human-readable explanation.
pointerstringrequiredRFC 6901 pointer into the body, or ?name for a query parameter.
instancestringrequiredThe request's path.
request_idstringrequiredThe request's id, also in X-Request-Id: what support needs to find the request.
retry_afterinteger<int64> | nullWith 429 and 503: the seconds to wait, as in Retry-After.
statusinteger<int32>requiredThe HTTP status.
titlestringrequiredFixed per code.
typestringrequiredhttps://docs.norbelys.com/errors/<code>, a page that explains the code.
A parameter is invalid.
codeProblemCoderequiredThe closed registry of problem codes: programs branch on a problem's code, never on its
text. A code may be added, never repurposed.
invalid_requestunauthorizedforbiddensession_requirednot_foundarchivedmethod_not_allowedconflictinvalid_stateidempotency_in_progressprecondition_failedpayload_too_largeunsupported_media_typevalidation_failedidempotency_mismatchsuppressedcaptcha_failedinsufficient_scoperate_limitedquota_exceededinternal_errorservice_unavailabletimeoutdetailstringrequiredWhat went wrong, for a person; never an internal cause.
errorsFieldError[]With validation_failed only: every invalid field.
Show propertiesHide properties
FieldErrorcodestringrequiredWhat is wrong (required, range, length, format, invalid, …).
detailstringrequiredA safe, human-readable explanation.
pointerstringrequiredRFC 6901 pointer into the body, or ?name for a query parameter.
instancestringrequiredThe request's path.
request_idstringrequiredThe request's id, also in X-Request-Id: what support needs to find the request.
retry_afterinteger<int64> | nullWith 429 and 503: the seconds to wait, as in Retry-After.
statusinteger<int32>requiredThe HTTP status.
titlestringrequiredFixed per code.
typestringrequiredhttps://docs.norbelys.com/errors/<code>, a page that explains the code.