### Search topics response example Source: https://docs.leadpipe.com/orbit-api/find-topics Example JSON response for a topic search. ```json { "data": [ { "topicId": 117890, "topicName": "Account-Based Marketing", "type": "b2b", "industry": "Marketing", "category": "Service" } ] } ``` -------------------------------- ### Browse topics response example Source: https://docs.leadpipe.com/orbit-api/find-topics Example JSON response structure for a topic inventory query. ```json { "data": [ { "topicId": 117805, "topicName": "Marketing ROI", "type": "b2b", "industry": "Marketing", "category": "Service" } ], "meta": { "total": 20768, "page": 1, "pageSize": 50, "hasMore": true } } ``` -------------------------------- ### Facet values response example Source: https://docs.leadpipe.com/orbit-api/find-topics Example JSON response for facet values. ```json { "data": { "types": [ { "value": "b2b", "count": 8766 }, { "value": "b2c", "count": 6447 }, { "value": "both", "count": 5555 } ], "industries": [ { "value": "Marketing", "count": 829 }, { "value": "Technology", "count": 1644 } ], "categories": [ { "value": "Service", "count": 7234 }, { "value": "Product", "count": 4521 } ], "total": 20768 } } ``` -------------------------------- ### GET /v1/intent/topics Source: https://docs.leadpipe.com/orbit-api/introduction Browse all available intent topics. ```APIDOC ## GET /v1/intent/topics ### Description Browse all topics. ### Method GET ### Endpoint /v1/intent/topics ``` -------------------------------- ### Create audience request body Source: https://docs.leadpipe.com/orbit-api/find-topics Example JSON payload for audience instantiation. ```json { "name": "CRM Decision Makers", "status": "draft", "minScore": 70, "maxScore": 99, "minTopicOverlap": 1, "filters": { "contact.hasBusinessEmail": true } } ``` -------------------------------- ### Fetch the filter catalog Source: https://docs.leadpipe.com/orbit-api/icp-filters Retrieve the complete catalog of available filter definitions using the GET endpoint. ```bash GET /v1/intent/audiences/filters x-api-key: YOUR_API_KEY ``` -------------------------------- ### Pending response structure Source: https://docs.leadpipe.com/orbit-api/get-people Example JSON response when the audience run is still in a running state. ```json { "data": { "run": { "id": "ad53af16-efbc-4fe1-a764-ded7181653a1", "status": "running", "runType": "manual", "candidateCount": 0, "resultCount": 0 }, "state": "running", "results": [], "total": 0, "limit": 50, "offset": 0 } } ``` -------------------------------- ### GET /v1/intent/audiences/filters Source: https://docs.leadpipe.com/orbit-api/introduction Get ICP filter catalog. ```APIDOC ## GET /v1/intent/audiences/filters ### Description Get ICP filter catalog. ### Method GET ### Endpoint /v1/intent/audiences/filters ``` -------------------------------- ### Queue a manual audience run Source: https://docs.leadpipe.com/orbit-api/daily-runs Initiate a manual run for a specific audience. Include an Idempotency-Key header for safe retries. ```bash POST /v1/intent/audiences/{id}/runs x-api-key: YOUR_API_KEY Idempotency-Key: unique-client-retry-key Content-Type: application/json ``` ```json { "runType": "manual" } ``` -------------------------------- ### Create an audience from a topic list Source: https://docs.leadpipe.com/orbit-api/find-topics Instantiate an audience based on a saved topic list. ```bash POST /v1/intent/topics/lists/{id}/instantiate x-api-key: YOUR_API_KEY Content-Type: application/json ``` -------------------------------- ### GET /v1/intent/audiences/{id}/runs/{runId}/results Source: https://docs.leadpipe.com/orbit-api/introduction Get paginated hydrated results. ```APIDOC ## GET /v1/intent/audiences/{id}/runs/{runId}/results ### Description Get paginated hydrated results. ### Method GET ### Endpoint /v1/intent/audiences/{id}/runs/{runId}/results ### Parameters #### Path Parameters - **id** (string) - Required - The ID of the audience. - **runId** (string) - Required - The ID of the run. ``` -------------------------------- ### POST /v1/intent/topics/lists/{id}/instantiate Source: https://docs.leadpipe.com/api-reference/audience-builder/create-an-audience-from-a-saved-topic-list Creates a new audience resource using the configuration and topics defined in a saved topic list. ```APIDOC ## POST /v1/intent/topics/lists/{id}/instantiate ### Description Creates an audience from a saved topic list. This operation requires authentication via Bearer JWT or X-API-Key. ### Method POST ### Endpoint https://api.aws53.cloud/v1/intent/topics/lists/{id}/instantiate ### Parameters #### Path Parameters - **id** (string, uuid) - Required - The unique identifier of the saved topic list. #### Request Body - **name** (string) - Optional - Name of the audience (1-160 characters). - **status** (string) - Optional - Status of the audience (draft or active). Defaults to draft. - **filters** (object) - Optional - Additional filtering criteria. - **minScore** (integer) - Optional - Minimum score threshold (0-99). - **maxScore** (integer) - Optional - Maximum score threshold (50-99). - **minTopicOverlap** (integer) - Optional - Minimum topic overlap requirement (1-250). ### Response #### Success Response (201) - **data** (object) - The created IntentAudience object. - **meta** (object) - API metadata. ``` -------------------------------- ### Save a topic list Source: https://docs.leadpipe.com/orbit-api/find-topics Create a new topic list for reuse or audience creation. ```bash POST /v1/intent/topics/lists x-api-key: YOUR_API_KEY Content-Type: application/json ``` -------------------------------- ### GET /v1/data Source: https://docs.leadpipe.com/api-reference/visitors/query-visitor-data-via-api-key Read-only access to resolved visitor data. Pass `email` to get a single visitor journey with sessions. Authenticated via `X-API-Key` header. ```APIDOC ## GET /v1/data ### Description Read-only access to resolved visitor data. Pass `email` to get a single visitor journey with sessions. Authenticated via `X-API-Key` header. ### Method GET ### Endpoint https://api.aws53.cloud/v1/data ### Parameters #### Query Parameters - **email** (string) - Optional - Filter by exact email to get visitor journey - **page** (integer) - Optional - Page number (50 results per page) - **timeframe** (string) - Optional - Time window filter (24h, 7d, 14d, 30d, 90d, all) - **domain** (string) - Optional - Filter by website domain ### Response #### Success Response (200) - **Visitor data** (object) - Visitor data #### Error Responses - **401** - Missing or invalid API key - **403** - API key revoked or organization inactive - **503** - Service unavailable ``` -------------------------------- ### POST /v1/intent/audiences/{id}/runs Source: https://docs.leadpipe.com/orbit-api/introduction Queue a manual run for an audience. ```APIDOC ## POST /v1/intent/audiences/{id}/runs ### Description Queue a manual run. ### Method POST ### Endpoint /v1/intent/audiences/{id}/runs ### Parameters #### Path Parameters - **id** (string) - Required - The ID of the audience. ``` -------------------------------- ### GET /v1/intent/topics/search Source: https://docs.leadpipe.com/orbit-api/find-topics Perform autocomplete-style topic lookup. ```APIDOC ## GET /v1/intent/topics/search ### Description Use search for autocomplete-style topic lookup. ### Method GET ### Endpoint /v1/intent/topics/search ### Parameters #### Query Parameters - **q** (string) - Optional - Search query - **type** (string) - Optional - Filter by type - **limit** (integer) - Optional - Result limit ``` -------------------------------- ### Queue and read an audience run Source: https://docs.leadpipe.com/orbit-api/get-people Demonstrates initiating a manual run and subsequently polling for results using the returned run ID. ```bash RUN_ID=$(curl -s -X POST "$BASE/v1/intent/audiences/$AUDIENCE_ID/runs" \ -H "x-api-key: $API_KEY" \ -H "Idempotency-Key: audience-run-001" \ -H "Content-Type: application/json" \ -d '{"runType":"manual"}' | jq -r '.data.id') curl "$BASE/v1/intent/audiences/$AUDIENCE_ID/runs/$RUN_ID/results?limit=50&offset=0" \ -H "x-api-key: $API_KEY" ``` -------------------------------- ### Get facet values Source: https://docs.leadpipe.com/orbit-api/find-topics Retrieve available filter values and their associated counts. ```bash GET /v1/intent/topics/facets ``` -------------------------------- ### Create Stored Export Source: https://docs.leadpipe.com/orbit-api/examples Generates a reusable signed download URL for audience run results. ```bash EXPORT_ID=$(curl -s -X POST "$BASE/v1/intent/audiences/$AUDIENCE_ID/runs/$RUN_ID/exports" \ -H "x-api-key: $API_KEY" | jq -r '.data.export.id') curl "$BASE/v1/intent/audiences/$AUDIENCE_ID/runs/$RUN_ID/exports/$EXPORT_ID" \ -H "x-api-key: $API_KEY" ``` -------------------------------- ### Browse topics via API Source: https://docs.leadpipe.com/orbit-api/find-topics Use these GET requests to retrieve the full topic library with optional filtering by type, industry, or search query. ```bash GET /v1/intent/topics GET /v1/intent/topics?type=b2b GET /v1/intent/topics?type=b2b&industry=Marketing GET /v1/intent/topics?q=CRM ``` -------------------------------- ### GET /v1/intent/audiences/{id}/runs/{runId}/results Source: https://docs.leadpipe.com/orbit-api/introduction Polls the results of a materialization run. ```APIDOC ## GET /v1/intent/audiences/{id}/runs/{runId}/results ### Description Retrieves the results of a materialization run. Returns 202 if the run is still in progress, and 200 when results are ready. ### Method GET ### Endpoint /v1/intent/audiences/{id}/runs/{runId}/results ### Parameters #### Path Parameters - **id** (string) - Required - The ID of the audience. - **runId** (string) - Required - The ID of the run. #### Query Parameters - **limit** (integer) - Optional - Number of results to return. - **offset** (integer) - Optional - Pagination offset. ``` -------------------------------- ### Preview response structure Source: https://docs.leadpipe.com/orbit-api/preview-audience Example of the JSON response returned by the preview endpoint, containing metadata, breakdowns, and sample records. ```json { "data": { "configHash": "e37de01af6cc6fec...", "dataDate": "2026-05-04", "strategy": "serving_table_in", "totalCount": 1480, "breakdowns": { "industries": [ { "value": "software development", "label": "Software Development", "count": 415 } ], "seniorities": [ { "value": "director", "label": "Director", "count": 540 } ] }, "sample": [ { "hashedEmail": "50c41e8bb3919b48...", "firstName": "christine", "lastName": "chen", "jobTitle": "senior director product marketing", "seniority": "director", "company": { "name": "salesforce", "domain": "salesforce.com", "industry": "software development" }, "intent": { "score": 87, "topicOverlap": 2, "matchedTopics": [ { "topicId": 117805, "topicName": "Marketing ROI", "type": "b2b", "industry": "Marketing", "category": "Service" } ] } } ], "appliedFilters": ["company.industries", "role.seniority", "contact.hasBusinessEmail"], "normalizedConfig": { "topicIds": [117805, 117890], "minScore": 70, "maxScore": 99, "minTopicOverlap": 1 } } } ``` -------------------------------- ### GET /v1/intent/topics Source: https://docs.leadpipe.com/api-reference/topic-discovery/browse-all-available-intent-topics Returns the full topic catalog. Results are cached for 24 hours. ```APIDOC ## GET /v1/intent/topics ### Description Returns the full topic catalog (20K+ topics). Filter by type, industry, category, or text search. Cached 24h. ### Method GET ### Endpoint https://api.aws53.cloud/v1/intent/topics ### Parameters #### Query Parameters - **type** (string) - Optional - Filter by topic type (b2b, b2c, or both) - **industry** (string) - Optional - Filter by industry (max length 100) - **category** (string) - Optional - Filter by category (max length 100) - **q** (string) - Optional - Text search query (max length 100) ### Response #### Success Response (200) - **data** (array) - List of topics - **meta** (object) - Pagination metadata (total, page, pageSize, hasMore) ``` -------------------------------- ### Execute Full Orbit API Workflow Source: https://docs.leadpipe.com/orbit-api/examples A complete sequence covering topic search, audience validation, previewing, saving, manual run execution, polling for completion, and CSV export. ```bash API_KEY="sk_your_key_here" BASE="https://api.aws53.cloud" # Step 1: Find topics about CRM curl "$BASE/v1/intent/topics/search?q=CRM&type=b2b&limit=10" # Step 2: Validate the config before previewing or saving curl -X POST "$BASE/v1/intent/audiences/validate" \ -H "x-api-key: $API_KEY" \ -H "Content-Type: application/json" \ -d '{ "topicIds": [117801, 102391], "minScore": 70, "maxScore": 99, "filters": { "role.seniority": { "values": ["director", "vp", "c_suite"] }, "company.revenueRanges": { "values": ["10 million to 25 million", "25 million to 50 million"] }, "contact.hasBusinessEmail": true } }' # Step 3: Preview audience size and sample rows curl -X POST "$BASE/v1/intent/audiences/preview" \ -H "x-api-key: $API_KEY" \ -H "Content-Type: application/json" \ -d '{ "topicIds": [117801, 102391], "minScore": 70, "maxScore": 99, "filters": { "role.seniority": { "values": ["director", "vp", "c_suite"] }, "company.revenueRanges": { "values": ["10 million to 25 million", "25 million to 50 million"] }, "contact.hasBusinessEmail": true } }' # Step 4: Save the audience AUDIENCE_ID=$(curl -s -X POST "$BASE/v1/intent/audiences" \ -H "x-api-key: $API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "CRM Decision Makers", "status": "active", "config": { "topicIds": [117801, 102391], "minScore": 70, "maxScore": 99, "filters": { "role.seniority": { "values": ["director", "vp", "c_suite"] }, "company.revenueRanges": { "values": ["10 million to 25 million", "25 million to 50 million"] }, "contact.hasBusinessEmail": true } } }' | jq -r '.data.id') # Step 5: Queue a manual run RUN_ID=$(curl -s -X POST "$BASE/v1/intent/audiences/$AUDIENCE_ID/runs" \ -H "x-api-key: $API_KEY" \ -H "Idempotency-Key: crm-run-001" \ -H "Content-Type: application/json" \ -d '{"runType":"manual"}' | jq -r '.data.id') # Step 6: Poll until results are ready while true; do HTTP_STATUS=$(curl -s -o /tmp/orbit-results.json -w "%{http_code}" \ "$BASE/v1/intent/audiences/$AUDIENCE_ID/runs/$RUN_ID/results?limit=100&offset=0" \ -H "x-api-key: $API_KEY") if [ "$HTTP_STATUS" = "200" ]; then break fi echo "Run is not complete yet. Waiting 5s." sleep 5 done jq '.data.results[:3]' /tmp/orbit-results.json # Step 7: Export CSV directly curl -L "$BASE/v1/intent/audiences/$AUDIENCE_ID/runs/$RUN_ID/export.csv" \ -H "x-api-key: $API_KEY" \ -o crm_decision_makers.csv ``` -------------------------------- ### POST /v1/intent/audiences/preview Source: https://docs.leadpipe.com/orbit-api/preview-audience Returns the total count and sample rows for an audience configuration before saving or running. ```APIDOC ## POST /v1/intent/audiences/preview ### Description Preview returns the total count and sample rows before you save or run an audience. ### Method POST ### Endpoint /v1/intent/audiences/preview ### Request Body - **topicIds** (array) - Required - List of topic IDs (1 to 250 topics). - **minScore** (integer) - Optional - Minimum score (0 to 99). - **maxScore** (integer) - Optional - Maximum score (50 to 99). - **minTopicOverlap** (integer) - Optional - Minimum topic overlap (must be at least 1). - **filters** (object) - Optional - Filter criteria for the audience. ### Request Example { "topicIds": [117805, 117890], "minScore": 70, "maxScore": 99, "minTopicOverlap": 1, "filters": { "company.industries": { "values": ["software development"] }, "role.seniority": { "values": ["director", "vp", "c_suite"] }, "contact.hasBusinessEmail": true } } ### Response #### Success Response (200) - **data** (object) - Contains configHash, dataDate, strategy, totalCount, breakdowns, sample, appliedFilters, and normalizedConfig. #### Response Example { "data": { "configHash": "e37de01af6cc6fec...", "dataDate": "2026-05-04", "strategy": "serving_table_in", "totalCount": 1480, "breakdowns": { "industries": [ { "value": "software development", "label": "Software Development", "count": 415 } ], "seniorities": [ { "value": "director", "label": "Director", "count": 540 } ] }, "sample": [ { "hashedEmail": "50c41e8bb3919b48...", "firstName": "christine", "lastName": "chen", "jobTitle": "senior director product marketing", "seniority": "director", "company": { "name": "salesforce", "domain": "salesforce.com", "industry": "software development" }, "intent": { "score": 87, "topicOverlap": 2, "matchedTopics": [ { "topicId": 117805, "topicName": "Marketing ROI", "type": "b2b", "industry": "Marketing", "category": "Service" } ] } } ], "appliedFilters": ["company.industries", "role.seniority", "contact.hasBusinessEmail"], "normalizedConfig": { "topicIds": [117805, 117890], "minScore": 70, "maxScore": 99, "minTopicOverlap": 1 } } } ``` -------------------------------- ### GET /v1/data/suppression-rules Source: https://docs.leadpipe.com/api-reference/visitor-suppression Retrieves a paginated list of existing suppression rules, ordered from newest to oldest. ```APIDOC ## GET /v1/data/suppression-rules ### Description Retrieves a paginated list of existing suppression rules, ordered from newest to oldest. ### Method GET ### Endpoint /v1/data/suppression-rules ### Parameters #### Query Parameters - **limit** (integer) - Optional - Number of rules to return (default 500, max 5000). ### Response #### Success Response (200) - **rules** (array) - List of rule objects. - **counts** (object) - Summary counts by rule type. - **total** (integer) - Total number of rules. - **filteredTotal** (integer) - Total number of rules after filtering. - **limit** (integer) - The limit applied to the request. - **offset** (integer) - The current offset. - **hasMore** (boolean) - Indicates if more pages are available. #### Response Example { "data": { "rules": [ { "id": "db7bac6c-...", "type": "industry", "value": "higher education", "createdAt": "2026-07-24T21:29:08.089Z" }, { "id": "6d691a6b-...", "type": "domain", "value": "acme-partners.example", "createdAt": "2026-07-24T21:29:08.089Z" }, { "id": "5a09ef03-...", "type": "company_domain", "value": "acme-partners.example", "createdAt": "2026-07-24T21:29:08.089Z" } ], "counts": { "email": 1, "domain": 1, "company_domain": 1, "industry": 1 }, "total": 4, "filteredTotal": 4, "limit": 3, "offset": 0, "hasMore": true } } ``` -------------------------------- ### GET /v1/site-topics/recent Source: https://docs.leadpipe.com/api-reference/site-topics/recent-site-topic-searches-for-the-organization Returns the last 20 site topic searches made by any member of the organization. ```APIDOC ## GET /v1/site-topics/recent ### Description Returns the last 20 site topic searches made by any member of the organization. ### Method GET ### Endpoint /v1/site-topics/recent ### Response #### Success Response (200) - **data** (array) - A list of recent search objects. - **id** (string, uuid) - Unique identifier for the search. - **url** (string) - The URL analyzed. - **company** (string|null) - The company associated with the URL. - **summary** (string|null) - A summary of the analysis. - **topicCount** (number) - The number of topics found. - **keywords** (array|null) - List of keywords identified. - **topTopics** (array|null) - List of top topics found. - **topicId** (number) - ID of the topic. - **topicName** (string) - Name of the topic. - **type** (string) - Type of the topic. - **industry** (string) - Industry classification. - **similarity** (number) - Similarity score. - **createdAt** (string) - Timestamp of the search. ``` -------------------------------- ### GET /v1/data/pixels Source: https://docs.leadpipe.com/api-reference/pixels/list-all-pixels-for-the-organization Retrieves a list of all pixels for the organization. Requires authentication via the X-API-Key header. ```APIDOC ## GET /v1/data/pixels ### Description List all pixels for the organization. ### Method GET ### Endpoint https://api.aws53.cloud/v1/data/pixels ### Response #### Success Response (200) - **data** (array) - List of pixels - **id** (string, uuid) - Pixel ID - **domain** (string) - Associated domain - **name** (string) - Pixel name - **status** (string) - Current status - **pausedReason** (string|null) - Reason for pause if applicable - **excludedPaths** (array|null) - List of excluded paths - **includedPaths** (array|null) - List of included paths - **createdAt** (string) - Creation timestamp ``` -------------------------------- ### Retrieve audience run results via GET Source: https://docs.leadpipe.com/orbit-api/get-people Use this endpoint to fetch paginated results for a specific audience run. Requires an API key in the header. ```bash GET /v1/intent/audiences/{id}/runs/{runId}/results?limit=100&offset=0 x-api-key: YOUR_API_KEY ``` -------------------------------- ### OpenAPI Specification for Audience Filters Source: https://docs.leadpipe.com/api-reference/audience-builder/get-available-audience-filter-definitions Defines the GET /v1/intent/audiences/filters endpoint and the associated AudienceFilterCatalogResponse schema. ```yaml openapi: 3.1.0 info: title: Orbit API version: 1.0.0 description: >- Orbit Audience Intent API: topic discovery, site analysis, curated ICP filters, saved audiences, materialization runs, stats, and CSV export. Discovery endpoints are public; audience management accepts either Bearer JWT or X-API-Key auth. servers: - url: https://api.aws53.cloud description: Production security: [] tags: - name: Topic Discovery description: Browse, search, and analyze available intent topics - name: Site Analysis description: Analyze a website URL to find matching intent topics - name: Site Topics description: Recent organization site-topic analyses - name: Audience Builder description: >- Curated filters, preview, saved audiences, runs, stats, CSV export, and saved topic lists paths: /v1/intent/audiences/filters: get: tags: - Audience Builder summary: Get available audience filter definitions description: >- Returns the curated Orbit audience filter catalog. Values and counts are read from the cached ClickHouse catalog when available; otherwise static filter definitions are returned. responses: '200': description: Audience filter catalog content: application/json: schema: $ref: '#/components/schemas/AudienceFilterCatalogResponse' components: schemas: AudienceFilterCatalogResponse: type: object properties: data: type: object properties: version: type: object properties: status: type: string enum: - catalog - static_fallback sourceTable: type: string catalogTable: type: string catalogVersion: type: - string - 'null' buildId: type: - string - 'null' buildDate: type: - string - 'null' generatedAt: type: - string - 'null' required: - status - sourceTable - catalogTable - catalogVersion - buildId - buildDate - generatedAt summary: type: object properties: groupCount: type: number filterCount: type: number valueCount: type: number recommendedFilterCount: type: number standardFilterCount: type: number advancedFilterCount: type: number supportsAdvancedLogic: type: boolean defaultFieldLogic: type: string enum: - and required: - groupCount - filterCount - valueCount - recommendedFilterCount - standardFilterCount - advancedFilterCount - supportsAdvancedLogic - defaultFieldLogic logic: type: object properties: summary: type: string uiHints: type: object properties: useFields: type: array items: type: string technicalFields: type: array items: type: string valueHint: type: string required: - useFields - technicalFields - valueHint simpleFilters: type: object properties: shape: type: string topLevelLogic: type: string multiSelectValueLogic: ``` -------------------------------- ### Authenticate API Requests Source: https://docs.leadpipe.com/api-reference/introduction Include the X-API-Key header in your requests to authenticate with the API. ```bash curl https://api.aws53.cloud/v1/data \ -H "X-API-Key: sk_..." ``` -------------------------------- ### GET /v1/intent/topics/lists Source: https://docs.leadpipe.com/api-reference/audience-builder/list-saved-intent-topic-lists Retrieves a collection of saved intent topic lists associated with the authenticated account. ```APIDOC ## GET /v1/intent/topics/lists ### Description Retrieves a list of saved intent topic lists. This endpoint requires authentication. ### Method GET ### Endpoint /v1/intent/topics/lists ### Parameters #### Query Parameters - **limit** (integer) - Optional - The number of items to return (1-100, default: 50). ### Response #### Success Response (200) - **data** (array) - A list of SavedIntentTopicList objects. - **meta** (object) - Metadata including timestamp and request_id. ``` -------------------------------- ### Download run CSV directly Source: https://docs.leadpipe.com/orbit-api/stats-and-export Streams a completed run as a CSV file immediately. ```bash GET /v1/intent/audiences/{id}/runs/{runId}/export.csv x-api-key: YOUR_API_KEY ``` ```bash curl -L "$BASE/v1/intent/audiences/$AUDIENCE_ID/runs/$RUN_ID/export.csv" \ -H "x-api-key: $API_KEY" \ -o audience.csv ``` -------------------------------- ### Save a topic list request body Source: https://docs.leadpipe.com/orbit-api/find-topics Example JSON payload for saving a topic list. ```json { "name": "CRM Topics", "topicIds": [117801, 102391], "source": "search", "keywords": ["crm", "customer data"] } ``` -------------------------------- ### POST /v1/intent/audiences/preview Source: https://docs.leadpipe.com/api-reference/audience-builder/preview-an-intent-audience Counts and samples an intent-led audience using latest dt, cityHash64(hem), and hem_hash IN query strategy. Preview rows are masked. ```APIDOC ## POST /v1/intent/audiences/preview ### Description Counts and samples an intent-led audience using latest dt, cityHash64(hem), and hem_hash IN query strategy. Preview rows are masked. ### Method POST ### Endpoint /v1/intent/audiences/preview ### Request Body - **topicIds** (array of integers) - Required - List of topic IDs (1-250 items). - **minScore** (integer/null) - Optional - perc_score minimum (0-99). - **maxScore** (integer) - Optional - Maximum score (50-99). - **minTopicOverlap** (integer) - Optional - Minimum topic overlap (1-250). - **filters** (object) - Optional - Additional audience filters. - **sourceUrl** (string) - Optional - Source URL. ### Request Example { "topicIds": [502909, 502955], "minScore": 50, "maxScore": 99, "minTopicOverlap": 1, "filters": { "role": { "isDecisionMaker": true }, "contact": { "hasBusinessEmail": true }, "jobTitle": { "include": ["chief financial officer", "cfo"], "includeMode": "any" } }, "sourceUrl": "https://example.com" } ### Response #### Success Response (200) - **data** (object) - Audience preview data including configHash, dataDate, strategy, totalCount, breakdowns, sample, appliedFilters, and normalizedConfig. - **meta** (object) - API metadata including timestamp and request_id. #### Response Example { "data": { "configHash": "string", "dataDate": "2023-01-01", "strategy": "serving_table_in", "totalCount": 100, "breakdowns": {}, "sample": [], "appliedFilters": [], "normalizedConfig": {} }, "meta": { "timestamp": "2023-01-01T00:00:00Z", "request_id": "abc-123" } } ``` -------------------------------- ### GET /v1/intent/audiences/{id}/runs/{runId}/export.csv Source: https://docs.leadpipe.com/orbit-api/introduction Downloads the results of a completed run as a CSV file. ```APIDOC ## GET /v1/intent/audiences/{id}/runs/{runId}/export.csv ### Description Downloads the results of a completed materialization run in CSV format. ### Method GET ### Endpoint /v1/intent/audiences/{id}/runs/{runId}/export.csv ### Parameters #### Path Parameters - **id** (string) - Required - The ID of the audience. - **runId** (string) - Required - The ID of the run. ``` -------------------------------- ### Validate audience configuration Source: https://docs.leadpipe.com/orbit-api/preview-audience Use this endpoint to check a configuration and retrieve its normalized version without executing a preview query. ```bash POST /v1/intent/audiences/validate x-api-key: YOUR_API_KEY Content-Type: application/json ``` ```json { "topicIds": [117805, 117890], "minScore": 70, "maxScore": 99, "minTopicOverlap": 1, "filters": { "role.seniority": { "values": ["director", "vp", "c_suite"] }, "contact.hasBusinessEmail": true } } ```