Attribute catalog with pricing
const url = 'https://api.infiniteaudience.ai/v1/catalog/fields?compact=false&product_usage=audience&template_id=standard_iag';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://api.infiniteaudience.ai/v1/catalog/fields?compact=false&product_usage=audience&template_id=standard_iag' \ --header 'Authorization: Bearer <token>'Browse output fields, allowed filter operators, coded values and descriptions. product_usage=audience supports audience outputs; filterable and operators determine filtering support. feature_store adds enrichment output fields. compact=true returns bounded pages (20 fields by default), template summaries, and no pricing unless requested. Follow next_cursor; to page enum values pass field_name and values_next_cursor as value_cursor. Coverage is non-null availability, not flag prevalence; array non-empty coverage is unavailable. Requires ‘discovery’ scope.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”Bound response size and use template summaries. MCP and A2A default to this mode.
Filter by registry product usage.
Restrict fields to a delivery template.
Exact field name; required with value_cursor.
Case-insensitive name, label and description search.
Maximum fields per page; compact mode defaults to 20.
Next_cursor from a previous page.
Values_next_cursor from the selected field.
Maximum enum values per field; defaults to 100 for one field or 25 in a compact list.
Defaults to false in compact mode and true otherwise. Set false to discover fields without billing setup.
Responses
Section titled “Responses”Attribute catalog.
object
Available enrichment attributes from the column registry.
object
Accepted input names for this field; saved definitions use field_name.
Whether this field can be used for group_by or a crosstab dimension. Filtering support alone does not imply grouping support.
Non-null availability, not true-flag prevalence. Null when non-empty array coverage is unavailable.
Standard IAG contains audience fields. Standard Enrichment contains audience and feature-store output fields.
object
Field names in full mode.
Number of template fields in compact mode.
Effective per-record pricing for the calling org.
object
Base cost per record (USD).
Cost per resolved record for matched audiences (USD).
Cost per resolved record for synchronous micro-batch matching (USD).
Additional per-record cost for specific attributes (field_name → USD).
object
Per-record surcharge by destination (destination → USD).
object
Contract usage-rate discount in basis points; commitment charges and minimums are unchanged.
Approved Shopify pricing version; null for native contract pricing.
Number of fields matching the filters, before pagination.
Pass as cursor for the next page; null when complete.
object
Example
{ "fields": [ { "text_comparison_modes": [ "exact" ], "default_text_comparison": "exact", "coverage_basis": "non_null" } ], "templates": [ { "template_id": "standard_iag", "label": "Standard IAG", "fields": [ "age", "gender", "estimated_household_income" ] }, { "template_id": "standard_enrichment", "label": "Standard Enrichment", "fields": [ "age", "gender", "estimated_household_income", "acs_median_age" ] } ], "pricing": { "source": "metronome_contract" }}Invalid request — malformed body, missing required attribute, or failed validation. See error and message for details.
object
Stable machine-readable error code (e.g. INVALID_STATUS_TRANSITION, BILLING_INSUFFICIENT_BALANCE). Always present.
Human-readable explanation of the error.
Alternate machine-readable code — present on some endpoints as an alias for error for backward compatibility.
Opaque support/debug identifier when available.
Public action for correcting the request or retrying later.
object
JSON path to the invalid filter field or value.
Examples
{ "error": "Bad Request", "code": "MISSING_SEGMENTS", "message": "segment_ids is required for filter audiences."}Missing or invalid Bearer token. Obtain one via POST /v1/auth/token. When a token was supplied but rejected, code distinguishes TOKEN_EXPIRED (the token’s lifetime has passed — request a new one via POST /v1/auth/token and retry) from TOKEN_INVALID (malformed or revoked — re-authenticate).
object
Stable machine-readable error code (e.g. INVALID_STATUS_TRANSITION, BILLING_INSUFFICIENT_BALANCE). Always present.
Human-readable explanation of the error.
Alternate machine-readable code — present on some endpoints as an alias for error for backward compatibility.
Opaque support/debug identifier when available.
Public action for correcting the request or retrying later.
object
JSON path to the invalid filter field or value.
Examples
{ "error": "Unauthorized: Missing or invalid Authorization header"}{ "error": "Unauthorized", "code": "TOKEN_EXPIRED", "message": "Your session has expired. Please sign in again."}Token is valid but lacks the required scope for this endpoint. Check the endpoint description for the required scope (discovery, purchase, or account).
object
Stable machine-readable error code (e.g. INVALID_STATUS_TRANSITION, BILLING_INSUFFICIENT_BALANCE). Always present.
Human-readable explanation of the error.
Alternate machine-readable code — present on some endpoints as an alias for error for backward compatibility.
Opaque support/debug identifier when available.
Public action for correcting the request or retrying later.
object
JSON path to the invalid filter field or value.
Examples
{ "error": "SCOPE_REQUIRED", "message": "This endpoint requires the creator scope."}An upstream billing provider rejected or could not complete the operation.
object
Stable machine-readable error code (e.g. INVALID_STATUS_TRANSITION, BILLING_INSUFFICIENT_BALANCE). Always present.
Human-readable explanation of the error.
Alternate machine-readable code — present on some endpoints as an alias for error for backward compatibility.
Opaque support/debug identifier when available.
Public action for correcting the request or retrying later.
object
JSON path to the invalid filter field or value.
Example
{ "issues": [ { "code": "INVALID_FILTER_SHAPE" } ]}