Download OpenAPI specification:
The MNTN Audience API lets you build and sync the audience segments MNTN targets on Connected TV. Create a segment, add identities to it, and keep that set current.
The Events API accepts server-to-server conversion events under
/v2026/events/conversions.
All endpoints require API key authentication and exchange JSON over HTTPS.
Segment and identity management for the MNTN Audience integration.
All /v2026/audience/* endpoints require API key authentication. The caller
may authenticate via the Authorization header (Basic or Bearer) or the
access_key query parameter. See the audienceApiKey security scheme for
details.
Getting a key: generate an Audience API key from the Integrations page in the MNTN platform when you connect the Audience integration.
Returns a paginated list of audience segments for the authenticated connection.
When the id query parameter is present, the handler retrieves a
single segment by ID (query-only alternate for
GET /v2026/audience/segments/{segment_id}). The response is still a
ListSegmentsResponse with a single-element segments array.
| access_key | string API key for authentication. This is an alternative to the
|
| id | string When provided, retrieve a single segment by ID instead of listing.
This is the query-only alternate for |
| after | string Pagination cursor. After sorting by |
| limit | integer [ 1 .. 500 ] Default: 50 Maximum number of segments to return (page size). |
| order | string Default: "name:asc" Enum: "id:asc" "name:asc" Sort field and direction. |
curl "https://integrations.ex.mountain.com/v2026/audience/segments?limit=50" \ -H "Authorization: Bearer $MNTN_API_KEY"
{- "slice": {
- "after": null,
- "limit": 0,
- "order": "string"
}, - "segments": [
- {
- "id": "my-segment-01",
- "name": "High-Value Customers",
- "time_created": {
- "unix": 1711209600,
- "rfc3339": "2025-03-23T12:00:00Z"
}
}
]
}Creates a new audience segment for the authenticated connection. If
segment.id is provided, the segment is created under that key;
otherwise a new randomly-generated ID is assigned.
| access_key | string API key for authentication. This is an alternative to the
|
required | object |
{- "segment": {
- "name": "High-Value Customers"
}
}{- "segment": {
- "id": "my-segment-01",
- "name": "High-Value Customers",
- "time_created": {
- "unix": 1711209600,
- "rfc3339": "2025-03-23T12:00:00Z"
}
}
}Retrieve the representational state of a single audience segment.
The segment ID may be passed as a path parameter or as the id query
parameter on GET /v2026/audience/segments. When the path parameter
is the literal ., the handler reads id from the query string instead.
| segment_id required | string^(\.|[a-zA-Z0-9][a-zA-Z0-9\-_]+)$ Example: high-value-customers Unique segment identifier. Use the literal |
| access_key | string API key for authentication. This is an alternative to the
|
{- "segment": {
- "id": "my-segment-01",
- "name": "High-Value Customers",
- "time_created": {
- "unix": 1711209600,
- "rfc3339": "2025-03-23T12:00:00Z"
}
}
}Creates or replaces an audience segment by ID.
The segment ID may be passed as a path parameter or as the id query
parameter (e.g. PUT /v2026/audience/segments?id={segment_id}). When
the path parameter is the literal ., the handler reads id from the
query string instead. Path and query must not both be provided.
| segment_id required | string^(\.|[a-zA-Z0-9][a-zA-Z0-9\-_]+)$ Example: high-value-customers Unique segment identifier. Use the literal |
| access_key | string API key for authentication. This is an alternative to the
|
| id | string Segment ID via query parameter (query-only alternate form).
Mutually exclusive with the |
required | object |
{- "segment": {
- "name": "string",
- "source": "string"
}
}{- "segment": {
- "id": "my-segment-01",
- "name": "High-Value Customers",
- "time_created": {
- "unix": 1711209600,
- "rfc3339": "2025-03-23T12:00:00Z"
}
}
}Partially updates an existing audience segment by ID.
The segment ID may be passed as a path parameter or as the id query
parameter (e.g. PATCH /v2026/audience/segments?id={segment_id}). When
the path parameter is the literal ., the handler reads id from the
query string instead. Path and query must not both be provided.
| segment_id required | string^(\.|[a-zA-Z0-9][a-zA-Z0-9\-_]+)$ Example: high-value-customers Unique segment identifier. Use the literal |
| access_key | string API key for authentication. This is an alternative to the
|
| id | string Segment ID via query parameter (query-only alternate form).
Mutually exclusive with the |
required | object |
{- "segment": {
- "name": "string"
}
}{- "segment": {
- "id": "my-segment-01",
- "name": "High-Value Customers",
- "time_created": {
- "unix": 1711209600,
- "rfc3339": "2025-03-23T12:00:00Z"
}
}
}Deletes an audience segment by ID.
The segment ID may be passed as a path parameter or as the id query
parameter (e.g. DELETE /v2026/audience/segments?id={segment_id}). When
the path parameter is the literal ., the handler reads id from the
query string instead. Path and query must not both be provided.
| segment_id required | string^(\.|[a-zA-Z0-9][a-zA-Z0-9\-_]+)$ Example: high-value-customers Unique segment identifier. Use the literal |
| access_key | string API key for authentication. This is an alternative to the
|
| id | string Segment ID via query parameter (query-only alternate form).
Mutually exclusive with the |
{- "segment": null
}Creates or updates one or more identities in the specified audience segment. Identities are processed asynchronously.
Accepts either a single identity object or a batch identities array.
The segment ID may be passed as a path parameter or as the segment_id
query parameter (e.g. POST /v2026/audience/segments/./identities?segment_id={id}).
When the path parameter is the literal ., the handler reads segment_id
from the query string instead. Path and query must not both be provided.
| segment_id required | string^(\.|[a-zA-Z0-9][a-zA-Z0-9\-_]+)$ Example: high-value-customers Unique segment identifier. Use the literal |
| access_key | string API key for authentication. This is an alternative to the
|
| ok | integer Value: 200 When set to |
| segment_id | string Segment ID via query parameter (query-only alternate form).
Mutually exclusive with the |
object (IdentityInput) A single identity to add to an audience segment. Used in both the
single-identity ( | |
Array of objects (IdentityInput) non-empty Batch of identities. No limit on item count; total request body size is limited (2 MiB maximum, 1 MiB recommended). |
{- "identity": {
- "id": "user_123",
- "identifiers": [
- {
- "kind": "email",
- "value": "someone@example.com"
}
]
}
}{ }Creates or replaces a single identity in the specified audience segment. The identity is processed asynchronously.
The segment ID and identity ID may each be passed as path parameters or
as query parameters (e.g.
PUT /v2026/audience/segments/./identities?id={identity_id}&segment_id={segment_id}).
When a path parameter is the literal ., the handler reads the
corresponding query parameter instead. Path and query must not both be
provided for the same parameter.
| segment_id required | string^(\.|[a-zA-Z0-9][a-zA-Z0-9\-_]+)$ Example: high-value-customers Unique segment identifier. Use the literal |
| identity_id required | string Unique identity identifier (single scalar). Use the literal |
| access_key | string API key for authentication. This is an alternative to the
|
| ok | integer Value: 200 When set to |
| segment_id | string Segment ID via query parameter (query-only alternate form).
Mutually exclusive with the |
| id | string Identity ID via query parameter (query-only alternate form).
Mutually exclusive with the |
object |
{- "identity": {
- "identifiers": [
- {
- "kind": "email",
- "value": "someone@example.com"
}, - {
- "kind": "phone",
- "value": "+15555550100"
}
]
}
}{ }Removes one or more identities from the specified audience segment. The operation is asynchronous and always succeeds regardless of whether the identities currently exist.
The identity_id path parameter accepts a single ID or a
comma-separated list of IDs (URL-encode the comma as %2C), e.g.
DELETE /v2026/audience/segments/{segment_id}/identities/user-001%2Cuser-002.
As an alternate form, pass the literal . in the identity_id path
position and provide comma-separated IDs via ?id=a,b,c (e.g.
DELETE /v2026/audience/segments/{segment_id}/identities/.?id=user-001,user-002).
The segment ID may likewise be passed as a query parameter by using
. in the segment_id path position (e.g.
DELETE /v2026/audience/segments/./identities/.?id={ids}&segment_id={segment_id}).
When a path parameter is the literal ., the handler reads the
corresponding query parameter instead. Path and query must not both be
provided for the same parameter.
| segment_id required | string^(\.|[a-zA-Z0-9][a-zA-Z0-9\-_]+)$ Example: high-value-customers Unique segment identifier. Use the literal |
| identity_id required | Array of strings One or more identity IDs. Accepts a single ID or a comma-separated
list (URL-encode the comma as |
| access_key | string API key for authentication. This is an alternative to the
|
| ok | integer Value: 200 When set to |
| segment_id | string Segment ID via query parameter (query-only alternate form).
Mutually exclusive with the |
| id | string Comma-separated identity IDs via query parameter (query-only
alternate form). Mutually exclusive with the |
{ }Server-to-server event ingestion for the MNTN Events API.
All /v2026/events/* endpoints require API key authentication via the
audienceApiKey security scheme (Bearer token or access_key query param).
Accepts conversion / in-app events (e.g. purchases, sign-ups,
installs) server-to-server. Accepts either a single conversion
object or a batch conversions array.
The body is forwarded as-is to Pub/Sub; structural field validation happens downstream.
| access_key | string API key for authentication. This is an alternative to the
|
object (ConversionEvent) A single conversion / in-app event. | |
Array of objects (ConversionEvent) non-empty Batch of conversion events. |
{- "conversion": {
- "event_id": "string",
- "event_kind": "Start Trial",
- "identity": {
- "identifiers": [
- {
- "kind": "email",
- "value": "someone@example.com"
}
]
}, - "order": {
- "order_id": "string",
- "amount": 0.1,
- "currency": "string"
}, - "source_time": {
- "unix": 0.1,
- "rfc3339": "string"
}
}, - "conversions": [
- {
- "event_id": "string",
- "event_kind": "Start Trial",
- "identity": {
- "identifiers": [
- {
- "kind": "email",
- "value": "someone@example.com"
}
]
}, - "order": {
- "order_id": "string",
- "amount": 0.1,
- "currency": "string"
}, - "source_time": {
- "unix": 0.1,
- "rfc3339": "string"
}
}
]
}{- "status": "accepted"
}