OpenAPI-style API reference
This browser gives you one place to scan Bento endpoints, request fields, response fields, and the matching hand-written docs. It is generated from a docs-owned OpenAPI-style snapshot that follows the current MDX reference pages.
bentonow/api repository may be stale. This page intentionally mirrors the current docs instead of pulling that repo at build time.Reference browser
https://app.bentonow.com/api/v1docs-snapshot-2026-07-08This snapshot is maintained from the current Bento docs pages. The public bentonow/api repository may lag behind this reference.
Core writes
Create or update Bento data from your app.
POST/batch/eventsCreate events
Track user activity, update profile fields, and trigger workflows.
Endpoint docs
/batch/eventsCreate events
Track user activity, update profile fields, and trigger workflows.
Request
eventsOne to 1000 event objects.
events[].typeEvent name.
events[].emailSubscriber email address.
events[].fieldsFlat profile fields to update.
events[].detailsNested event-specific context.
events[].dateOptional ISO 8601 timestamp for when the event happened.
Response
resultsNumber of events accepted.
failedNumber of events rejected.
POST/batch/subscribersImport subscribers
Bulk create or update subscribers without triggering automations.
Endpoint docs
/batch/subscribersImport subscribers
Bulk create or update subscribers without triggering automations.
Request
subscribersOne to 1000 subscriber objects.
subscribers[].emailSubscriber email address.
subscribers[].first_nameSubscriber first name.
subscribers[].last_nameSubscriber last name.
subscribers[].tagsComma-separated tags to add.
subscribers[].remove_tagsComma-separated tags to remove.
subscribers[].utm_sourceAttribution source for imported subscribers.
subscribers[].utm_mediumAttribution medium for imported subscribers.
subscribers[].utm_campaignAttribution campaign for imported subscribers.
subscribers[].utm_contentOptional attribution content value.
subscribers[].utm_termOptional attribution term value.
subscribers[].created_atISO 8601 timestamp to backfill the subscriber creation date.
Response
resultsNumber of subscriber records queued for import.
failedNumber of subscriber records rejected from the request.
POST/batch/emailsCreate emails
Queue transactional or one-off emails for delivery.
Endpoint docs
/batch/emailsCreate emails
Queue transactional or one-off emails for delivery.
Request
emailsOne to 60 email objects.
emails[].toRecipient email address.
emails[].fromSender email address. Must be an author.
emails[].subjectEmail subject.
emails[].html_bodyHTML email body.
emails[].transactionalSend even if the user is unsubscribed.
emails[].personalizationsLiquid values for the email body.
Response
resultsNumber of emails accepted.
POST/data_deletion_requestsCreate data deletion request
Queue visitor anonymization by email for one site.
Endpoint docs
/data_deletion_requestsCreate data deletion request
Queue visitor anonymization by email for one site.
Request
site_uuidSite identifier.
data_deletion_request[email]Visitor email to anonymize.
Response
statusReturns queued_for_anonymization on success.
Subscribers
Look up and modify people in Bento.
GET/fetch/searchEnterpriseSearch subscribers
Search subscribers by page and filters.
Endpoint docs
/fetch/searchEnterpriseSearch subscribers
Search subscribers by page and filters.
Request
pageResult page.
tagsPreferred tag-name filter.
created_atDate filter with `gt` or `lt`.
updated_atDate filter with `gt` or `lt`.
Response
dataMatching subscriber records.
meta.pageCurrent result page.
meta.queryFilters Bento applied.
GET/fetch/subscribersFind subscriber
Fetch a subscriber by email or UUID.
Endpoint docs
/fetch/subscribersFind subscriber
Fetch a subscriber by email or UUID.
Request
emailSubscriber email address.
uuidSubscriber UUID. Can be used instead of email.
Response
data.idInternal record id.
data.attributes.uuidBento subscriber UUID.
data.attributes.emailSubscriber email address.
data.attributes.fieldsCustom subscriber fields.
data.attributes.cached_tag_idsInternal tag ids attached to the subscriber.
data.attributes.tagsHuman-readable tag names attached to the subscriber.
data.attributes.unsubscribed_atSubscriber unsubscribe timestamp, or null when subscribed.
data.attributes.unsubscribed_reasonRecorded unsubscribe reason, when available.
data.attributes.attribution.first_referralFirst referral source, or an empty string when unavailable.
data.attributes.attribution.first_pageFirst page captured for the subscriber, or an empty string when unavailable.
data.attributes.attribution.campaign_dataFirst-touch campaign data. Returns {} when unset.
POST/fetch/commandsRun subscriber command
Apply targeted tag, field, subscription, or email-change commands.
Endpoint docs
/fetch/commandsRun subscriber command
Apply targeted tag, field, subscription, or email-change commands.
Request
commandCommand objects to run.
command[].command`add_tag`, `remove_tag`, `add_field`, `remove_field`, `subscribe`, `unsubscribe`, or `change_email`.
command[].emailSubscriber email address.
command[].queryCommand-specific value.
Response
resultsNumber of commands queued for async processing. Commands run in the background; this is not a synchronous subscriber update.
Segments
Read saved audience segments and check segment membership.
GET/fetch/segmentsGet segments
List saved audience segments.
Endpoint docs
/fetch/segmentsGet segments
List saved audience segments.
Response
dataSaved segment records.
data[].attributes.nameSegment name.
data[].attributes.visitor_event_querySaved query definition.
GET/fetch/segments/:idGet segment
Fetch one saved segment and its query definition.
Endpoint docs
/fetch/segments/:idGet segment
Fetch one saved segment and its query definition.
Request
idSegment id.
Response
data.idSegment identifier.
data.attributes.nameSegment name.
data.attributes.visitor_event_querySaved query definition.
POST/fetch/segments/:id/matchMatch segment
Check whether an email address matches a saved segment.
Endpoint docs
/fetch/segments/:id/matchMatch segment
Check whether an email address matches a saved segment.
Request
idSegment id.
emailSubscriber email address.
Response
data.segment_idSegment identifier.
data.emailNormalized email address Bento checked.
data.matchWhether the subscriber matches the segment.
Definitions
Manage tag and field definitions.
GET/fetch/tagsGet tags
List tag definitions in your account.
Endpoint docs
/fetch/tagsGet tags
List tag definitions in your account.
Response
dataTag records.
POST/fetch/tagsCreate tag
Create one custom tag definition.
Endpoint docs
/fetch/tagsCreate tag
Create one custom tag definition.
Request
nameTag name.
Response
data.nameCreated tag name.
DELETE/fetch/tags/:idDelete tag
Discard one tag definition by name.
Endpoint docs
/fetch/tags/:idDelete tag
Discard one tag definition by name.
Request
idTag id from the list tags response.
tag.nameTag name to discard or restore.
Response
messageDeletion or restoration status message.
GET/fetch/fieldsGet fields
List custom field definitions.
Endpoint docs
/fetch/fieldsGet fields
List custom field definitions.
Response
dataField records.
POST/fetch/fieldsCreate field
Create one custom profile field.
Endpoint docs
/fetch/fieldsCreate field
Create one custom profile field.
Request
keyField key.
Response
data.nameCreated field key.
Marketing content
Read and modify campaign, sequence, workflow, and template records.
GET/fetch/broadcastsGet broadcasts
List broadcast history and draft or scheduled broadcast metadata.
Endpoint docs
/fetch/broadcastsGet broadcasts
List broadcast history and draft or scheduled broadcast metadata.
Request
pageResult page.
status`sent`, `draft`, `sending`, `scheduled`, `paused`, or `canceled`.
Response
dataBroadcast records.
POST/batch/broadcastsCreate broadcasts
Create broadcast campaigns for a segment or tag audience.
Endpoint docs
/batch/broadcastsCreate broadcasts
Create broadcast campaigns for a segment or tag audience.
Request
broadcastsBroadcast objects to create.
broadcasts[].nameCampaign name.
broadcasts[].subjectSubject line.
broadcasts[].contentEmail body.
Response
resultsBroadcasts accepted for processing.
GET/fetch/sequencesGet sequences
List sequences and attached email templates.
Endpoint docs
/fetch/sequencesGet sequences
List sequences and attached email templates.
Response
dataSequence records.
data[].idSequence ID to use in create URLs.
data[].attributes.email_templatesEmbedded email templates with id, subject, and stats.
POST/fetch/sequences/:id/emails/templatesCreate sequence email
Add a new email template to a sequence. Use the id returned by Get sequences in :id.
Endpoint docs
/fetch/sequences/:id/emails/templatesCreate sequence email
Add a new email template to a sequence. Use the id returned by Get sequences in :id.
Request
idSequence id returned by Get sequences.
site_uuidSite identifier.
email_template.subjectSubject line for the new sequence email.
email_template.htmlHTML body for the email.
email_template.delay_intervalDelay unit: minutes, hours, days, or months.
email_template.delay_interval_countDelay amount paired with delay_interval.
email_template.inbox_snippetOptional preview text snippet.
Response
data.idCreated email template ID.
data.attributes.subjectCreated subject line.
data.attributes.htmlCreated HTML content.
GET/fetch/workflowsGet workflows
List workflows and attached email templates. Read-only.
Endpoint docs
/fetch/workflowsGet workflows
List workflows and attached email templates. Read-only.
Response
dataWorkflow records.
GET/fetch/emails/templates/:idGet email template
Fetch one email template with HTML and stats.
Endpoint docs
/fetch/emails/templates/:idGet email template
Fetch one email template with HTML and stats.
Request
idTemplate id.
Response
data.attributesTemplate content and stats.
PATCH/fetch/emails/templates/:idUpdate email template
Update the subject or HTML for one template.
Endpoint docs
/fetch/emails/templates/:idUpdate email template
Update the subject or HTML for one template.
Request
idTemplate id.
email_template.subjectUpdated subject.
email_template.htmlUpdated HTML.
Response
data.attributesUpdated template content.
Stats and validation
Read reporting data and validate risky inputs.
GET/stats/siteGet site stats
Fetch top-level site subscriber statistics.
Endpoint docs
/stats/siteGet site stats
Fetch top-level site subscriber statistics.
Response
user_countTotal users.
subscriber_countActive subscribers.
unsubscriber_countUnsubscribed users.
GET/stats/segmentGet segment stats
Fetch subscriber statistics for one saved segment.
Endpoint docs
/stats/segmentGet segment stats
Fetch subscriber statistics for one saved segment.
Request
site_uuidSite identifier.
segment_idSegment identifier.
Response
user_countTotal users in the segment.
subscriber_countActive subscribers in the segment.
unsubscriber_countUnsubscribed users in the segment.
GET/stats/reportGet report stats
Fetch data for one saved report.
Endpoint docs
/stats/reportGet report stats
Fetch data for one saved report.
Request
site_uuidSite identifier.
report_idReport identifier.
Response
dataReport statistics payload.
GET/stats/adsGet ads stats
Fetch signup, customer, and revenue attribution by UTM or ad dimension.
Endpoint docs
/stats/adsGet ads stats
Fetch signup, customer, and revenue attribution by UTM or ad dimension.
Request
site_uuidSite identifier.
dimensionsource, campaign, medium, content, or ad. Defaults to source.
valueExact dimension value to filter to.
start_dateReporting window start. Natural language accepted.
end_dateReporting window end. Defaults to now.
revenue_modeall_revenue, first_revenue, or subscriptions. Defaults to all_revenue.
Response
dimensionAttribution dimension used for grouping.
totalsSignup, customer, and revenue totals.
breakdownRanked attribution rows. Money values are in cents.
GET/experimental/blacklistSearch blacklists
Check a domain or IPv4 address against email reputation blacklists.
Endpoint docs
/experimental/blacklistSearch blacklists
Check a domain or IPv4 address against email reputation blacklists.
Request
domainDomain to check, such as example.com.
ipIPv4 address to check.
Response
resultsBoolean flags per reputation service, or null when all checks pass.
POST/experimental/validationValidate email
Return a conservative valid or invalid result for signup forms.
Endpoint docs
/experimental/validationValidate email
Return a conservative valid or invalid result for signup forms.
Request
emailEmail address to validate.
nameOptional contact name to screen.
Response
validWhether Bento considers the signup valid.
POST/experimental/jesses_rulesetValidate email strict
Run Bento stricter internal validation ruleset for signup review flows.
Endpoint docs
/experimental/jesses_rulesetValidate email strict
Run Bento stricter internal validation ruleset for signup review flows.
Request
emailEmail address to validate.
block_free_providersReject free email providers when true.
wiggleroomRelax some opinionated checks when true.
Response
validPass or fail result.
reasonsHuman-readable rejection reasons.
POST/experimental/content_moderationModerate content
Check small text payloads for risky content.
Endpoint docs
/experimental/content_moderationModerate content
Check small text payloads for risky content.
Request
contentText to moderate.
Response
validWhether the content is safe.
reasonsDetected issues.
POST/experimental/genderGuess gender
Guess likely gender from a first name. Best-effort helper only.
Endpoint docs
/experimental/genderGuess gender
Guess likely gender from a first name. Best-effort helper only.
Request
nameFirst name to evaluate.
Response
genderLikely gender label returned by the model.
GET/experimental/geolocationGeolocate IP address
Legacy geolocation endpoint. GeoIP lookup is disabled and returns an empty object.
Endpoint docs
/experimental/geolocationGeolocate IP address
Legacy geolocation endpoint. GeoIP lookup is disabled and returns an empty object.
Request
ipIPv4 address. Accepted for compatibility.
Response
(empty object)Returns `{}`. Do not rely on this endpoint for location data.
How this snapshot works
The snapshot lives in site/data/docs/openapi-reference.js. Hand-written endpoint pages remain the source for deeper examples, caveats, and operational notes. Use this browser for quick schema lookup, then open the endpoint docs for implementation details.
