Skip to main content
POST
/
data-api
/
v1
/
async
/
ai_search_config
curl --request POST \ --url 'https://api-universal.conductor.com/data-api/v1/async/ai_search_config?apiKey=&sig=' \ --header 'Content-Type: application/json' \ --header 'X-API-GATEWAY-KEY: <api-key>' \ --data ' { "config_type": "topics", "account_id": 101, "topic_status": "ACTIVE", "prompt_status": "ACTIVE" } '
{ "results": [ [ "ai seo tools", "ACTIVE", "ChatGPT (Search)", "WEEKLY", "US", "12" ] ], "schema": [ { "name": "topic_name", "type": "string" }, { "name": "topic_status", "type": "string" }, { "name": "search_engine", "type": "string" }, { "name": "tracking_frequency", "type": "string" }, { "name": "locode", "type": "string" }, { "name": "prompt_count", "type": "integer" } ], "executionState": "COMPLETED", "executionId": "enga:abc12345-1111-2222-3333-555555555551", "requestId": "req-201", "totalRowCount": 1 }

Documentation Index

Fetch the complete documentation index at: https://conductor.com/docs/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

apiKey
string
query
required

API Key as a query parameter

sig
string
query
required

Request signature computed using API key and secret. Valid for 5 minutes after creation.

X-API-GATEWAY-KEY
string
header
required

API Key as an HTTP header (must match apiKey query parameter)

Body

application/json

Submit a new AI search config query. Returns an executionId to track the query.

config_type
enum<string>
required

Type of AI search configuration data to return:

  • topics: Tracked topics with status, search engine, frequency, locale, and prompt count.
  • prompts: Individual prompts with type, status, topic, search engine, locale, language, intent, and persona.
  • search_engines: Distinct AI search engines used by tracked topics.
  • locales: Distinct locales used by tracked topics.
  • languages: Distinct languages used by tracked topics.
  • brands: Tracked brands with associated owned and comparison web properties.
  • personas: Personas defined for the account.
  • intents: Distinct intents used by tracked prompts.
  • sentiment_categories: Distinct sentiment categories observed in AI search results.
Available options:
topics,
prompts,
search_engines,
locales,
languages,
brands,
personas,
intents,
sentiment_categories
Example:

"prompts"

account_id
integer
required

Required account ID to filter results.

Required range: x >= 1
Example:

101

topic_status
string
default:ACTIVE

(Optional, topics and prompts only) Comma-separated topic statuses to include. Accepted values: ACTIVE, INACTIVE. An empty string disables the filter. Default is ACTIVE.

Example:

"ACTIVE"

prompt_status
string
default:ACTIVE

(Optional, topics and prompts only) Comma-separated prompt statuses to include. Accepted values: ACTIVE, INACTIVE. An empty string disables the filter. Default is ACTIVE.

Example:

"ACTIVE"

topics
string

(Optional, prompts only) Comma-separated list of topic names to filter prompts by.

Example:

"ai search,seo tools"

limit
integer
default:100

Maximum number of rows to return for the submitted query.

Required range: x >= 1
Example:

100

Response

Query completed successfully (returned when polling with queryExecutionId). The response schema and results tuple structure vary by config_type — see Config Types above. The default schema example below shows the prompts config_type response. Named 200 response examples are also provided for each supported config_type.

results
string[][]

List of query results. Each item is a positional tuple row. Available only when executionState is COMPLETED. Column order depends on config_type — use the schema field to interpret positions.

Positional tuple row. Column order depends on config_type:

topics (6 columns): topic_name, topic_status, search_engine, tracking_frequency, locode, prompt_count

prompts (11 columns): prompt, prompt_type, prompt_status, tracking_start_date, tracking_frequency, topic_name, search_engine, locode, language, intent, persona

search_engines (1 column): name

locales (1 column): locode

languages (1 column): name

brands (4 columns): brand_name, web_property_id, web_property_name, is_owned (true for owned, false for comparison)

personas (2 columns): name, description

intents (1 column): name

sentiment_categories (1 column): sentiment_category

Use the schema field in the response to interpret column positions.

executionState
enum<string>

Current execution state of the query:

  • IN_PROGRESS: The query is still running. Poll again later.
  • COMPLETED: The query finished successfully. Results are available.
  • FAILED: The query failed. Check the error message if available.
Available options:
IN_PROGRESS,
COMPLETED,
FAILED
executionId
string

Unique identifier for the query execution. Valid for 7 days. Use this for polling and pagination.

requestId
string

Unique identifier for the HTTP request, useful for support and debugging.

nextPageId
string

Token for retrieving the next page of results. Available as long as the executionId is valid (7 days). If null, there are no more pages available.

totalRowCount
integer<int64>

Total number of rows across all pages (if available).

schema
object[]

Column metadata providing the name and type for each position in the results tuple.