{
"opencollection": "1.0.0",
"info": {
"name": "API Reference subpackage_advertisement_opportunities subpackage_segments API",
"version": "1.0.0"
},
"items": [
{
"info": {
"name": "subpackage_segments",
"type": "folder"
},
"items": [
{
"info": {
"name": "List segments OAuth Scope: segments:read",
"type": "http"
},
"http": {
"method": "GET",
"url": "https://api.beehiiv.com/v2/publications/:publicationId/segments",
"headers": [
{
"name": "Authorization",
"value": ""
}
],
"params": [
{
"name": "publicationId",
"value": "",
"type": "path",
"description": "The prefixed ID of the publication object"
},
{
"name": "type",
"value": "",
"type": "query",
"description": "Optionally filter the results by the segment's type."
},
{
"name": "status",
"value": "",
"type": "query",
"description": "Optionally filter the results by the segment's status."
},
{
"name": "limit",
"value": "",
"type": "query",
"description": "A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10."
},
{
"name": "page",
"value": "",
"type": "query",
"description": "Pagination returns the results in pages. Each page contains the number of results specified by the `limit` (default: 10).
If not specified, results 1-10 from page 1 will be returned."
},
{
"name": "order_by",
"value": "",
"type": "query",
"description": "The field that the results are sorted by. Defaults to created
`created` - The time in which the segment was first created.
`last_calculated` - The time that the segment last completed calculation. Measured in seconds since the Unix epoch."
},
{
"name": "direction",
"value": "",
"type": "query",
"description": "The direction that the results are sorted in. Defaults to asc
`asc` - Ascending, sorts from smallest to largest.
`desc` - Descending, sorts from largest to smallest."
},
{
"name": "expand[]",
"value": "",
"type": "query",
"description": "Optionally expand the response to include additional data.
`stats` - Requests the most recently calculated statistics for a segment.
Segment stats are recalculated once daily around 7 a.m. UTC for dynamic segments, but can be manually recalculated at any time in the dashboard. Manual and static segments only calculate once upon upload or creation."
}
]
},
"docs": "Retrieve information about all segments belonging to a specific publication"
},
{
"info": {
"name": "Create segment",
"type": "http"
},
"http": {
"method": "POST",
"url": "https://api.beehiiv.com/v2/publications/:publicationId/segments",
"headers": [
{
"name": "Authorization",
"value": ""
}
],
"params": [
{
"name": "publicationId",
"value": "",
"type": "path",
"description": "The prefixed ID of the publication object"
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Create a new segment.
**Manual segments** — Use `subscriptions` or `emails` input to create a segment from an explicit list of subscription IDs or email addresses. The segment is processed synchronously and returns with `status: completed`. Net new email addresses will be ignored; create subscriptions using the `Create Subscription` endpoint.
**Dynamic segments** — Use `custom_fields` input to create a segment that filters subscribers by custom field values. The segment is proces"
},
{
"info": {
"name": "Get segment OAuth Scope: segments:read",
"type": "http"
},
"http": {
"method": "GET",
"url": "https://api.beehiiv.com/v2/publications/:publicationId/segments/:segmentId",
"headers": [
{
"name": "Authorization",
"value": ""
}
],
"params": [
{
"name": "publicationId",
"value": "",
"type": "path",
"description": "The prefixed ID of the publication object"
},
{
"name": "segmentId",
"value": "",
"type": "path",
"description": "The prefixed ID of the segment object"
},
{
"name": "expand[]",
"value": "",
"type": "query",
"description": "Optionally expand the response to include additional data.
`stats` - Requests the most recently calculated statistics for a segment.
Segment stats are recalculated once daily around 7 a.m. UTC for dynamic segments, but can be manually recalculated at any time in the dashboard. Manual and static segments only calculate once upon upload or creation."
}
]
},
"docs": "Retrieve information about a specific segment belonging to a publication"
},
{
"info": {
"name": "Delete segment OAuth Scope: segments:write",
"type": "http"
},
"http": {
"method": "DELETE",
"url": "https://api.beehiiv.com/v2/publications/:publicationId/segments/:segmentId",
"headers": [
{
"name": "Authorization",
"value": ""
}
],
"params": [
{
"name": "publicationId",
"value": "",
"type": "path",
"description": "The prefixed ID of the publication object"
},
{
"name": "segmentId",
"value": "",
"type": "path",
"description": "The prefixed ID of the segment object"
}
]
},
"docs": "Delete a segment. Deleting the segment does not effect the subscriptions in the segment."
},
{
"info": {
"name": "Recalculate segment OAuth Scope: segments:write",
"type": "http"
},
"http": {
"method": "PUT",
"url": "https://api.beehiiv.com/v2/publications/:publicationId/segments/:segmentId/recalculate",
"headers": [
{
"name": "Authorization",
"value": ""
}
],
"params": [
{
"name": "publicationId",
"value": "",
"type": "path",
"description": "The prefixed ID of the publication object"
},
{
"name": "segmentId",
"value": "",
"type": "path",
"description": "The prefixed ID of the segment object"
}
]
},
"docs": "Recalculates a specific segment belonging to a publication"
},
{
"info": {
"name": "List segment subscribers OAuth Scope: segments:read",
"type": "http"
},
"http": {
"method": "GET",
"url": "https://api.beehiiv.com/v2/publications/:publicationId/segments/:segmentId/members",
"headers": [
{
"name": "Authorization",
"value": ""
}
],
"params": [
{
"name": "publicationId",
"value": "",
"type": "path",
"description": "The prefixed ID of the publication object"
},
{
"name": "segmentId",
"value": "",
"type": "path",
"description": "The prefixed ID of the segment object"
},
{
"name": "limit",
"value": "",
"type": "query",
"description": "A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10."
},
{
"name": "page",
"value": "",
"type": "query",
"description": "Pagination returns the results in pages. Each page contains the number of results specified by the `limit` (default: 10).
If not specified, results 1-10 from page 1 will be returned."
},
{
"name": "expand[]",
"value": "",
"type": "query",
"description": "Optionally expand the response to include additional data.
`stats` - Returns statistics about the subscription(s).
`custom_fields` - Returns custom field values set on the subscription.
`referrals` - Returns referrals made by the subscription.
`tags` - Returns tags associated with the subscription.
`subscription_premium_tiers` - Returns premium tier(s) the subscription is subscribed to."
}
]
},
"docs": "List all members in a segment with full subscription data. Each member is returned as a subscription object containing complete subscriber information and their subscription details. Supports optional expansions for stats, custom fields, tags, referrals, and premium tiers.\n**Use this endpoint when you need detailed subscriber information.** If you only need subscriber IDs, use `/segments/{segmentId}/results` for a lighter-weight response."
},
{
"info": {
"name": "List segment subscriber IDs OAuth Scope: segments:read",
"type": "http"
},
"http": {
"method": "GET",
"url": "https://api.beehiiv.com/v2/publications/:publicationId/segments/:segmentId/results",
"headers": [
{
"name": "Authorization",
"value": ""
}
],
"params": [
{
"name": "publicationId",
"value": "",
"type": "path",
"description": "The prefixed ID of the publication object"
},
{
"name": "segmentId",
"value": "",
"type": "path",
"description": "The prefixed ID of the segment object"
},
{
"name": "limit",
"value": "",
"type": "query",
"description": "A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10."
},
{
"name": "page",
"value": "",
"type": "query",
"description": "Pagination returns the results in pages. Each page contains the number of results specified by the `limit` (default: 10).
If not specified, results 1-10 from page 1 will be returned."
}
]
},
"docs": "List subscriber IDs for a segment. Returns a lightweight array of subscription IDs only, without additional subscriber details.\n**Use this endpoint when you only need subscriber IDs** (e.g., for counting, ID-based lookups, or integrations with external systems). If you need full subscriber details (email, status, custom fields, etc.), use `/segments/{segmentId}/members` instead."
}
]
}
],
"bundled": true
}