Projects
A project is the top-level container for AI Visibility monitoring. Each project has a primary brand, a set of AI providers, and a schedule that controls automatic prompt execution.
List projects
Retrieve all AI Visibility projects for an account. Results include metadata like topic and prompt counts, configured AI providers, and the primary brand domain.
query GetAiVisibilityProjects($accountId: ObjectID!) {
getAiVisibilityProjects(
accountId: $accountId
first: 10
) {
nodes {
id
rawId
name
totalTopics
totalPrompts
aiProviderTypes
primaryBrandDomain
primaryBrandRawId
scheduleCadence
nextScheduleRunAt
autoCrawlEnabled
freshnessThresholdDays
createdAt
updatedAt
}
pageInfo {
hasNextPage
endCursor
}
totalCount
}
}
You can search projects by name using the search parameter:
query SearchAiVisibilityProjects($accountId: ObjectID!, $search: String!) {
getAiVisibilityProjects(
accountId: $accountId
first: 10
search: $search
) {
nodes {
id
name
primaryBrandDomain
}
totalCount
}
}
Sorting
Projects can be sorted by: name, primaryBrandDomain, totalTopics, totalPrompts.
Get a single project
Fetch a specific project by its ID:
query GetAiVisibilityProject(
$accountId: ObjectID!
$aiVisibilityProjectId: ObjectID!
) {
getAiVisibilityProject(
accountId: $accountId
aiVisibilityProjectId: $aiVisibilityProjectId
) {
id
rawId
name
scheduleCadence
nextScheduleRunAt
autoCrawlEnabled
freshnessThresholdDays
primaryBrand {
id
rawId
name
}
aiProviders {
id
name
type
}
createdAt
updatedAt
}
}
Create a project
Creating a project requires a name, brand name, and brand domain. The primary brand is automatically created as an own type brand.
mutation CreateAiVisibilityProject(
$accountId: ObjectID!
$name: String!
$brandName: String!
$brandDomain: String!
$scheduleCadence: AiVisibilityScheduleCadence
) {
createAiVisibilityProject(
input: {
accountId: $accountId
name: $name
brandName: $brandName
brandDomain: $brandDomain
scheduleCadence: $scheduleCadence
}
) {
aiVisibilityProject {
id
rawId
name
scheduleCadence
nextScheduleRunAt
createdAt
}
}
}
Schedule cadence
The scheduleCadence field controls how often prompts are automatically sent to AI providers:
| Value | Description |
|---|---|
daily | Every day (default) |
weekly | Once per week |
every_two_weeks | Every two weeks |
monthly | Once per month |
The schedule cadence also affects the maximum number of prompts allowed in a project. More frequent cadences allow fewer prompts per project.
AI providers
By default, all AI providers included in your subscription are linked to the project. You can optionally specify aiVisibilityAiProviderIds to select a subset of providers.
Update a project
Update a project's name, schedule cadence, or content evaluation settings:
mutation UpdateAiVisibilityProject(
$accountId: ObjectID!
$aiVisibilityProjectId: ObjectID!
$name: String
$scheduleCadence: AiVisibilityScheduleCadence
$autoCrawlEnabled: Boolean
$freshnessThresholdDays: Int
) {
updateAiVisibilityProject(
input: {
accountId: $accountId
aiVisibilityProjectId: $aiVisibilityProjectId
name: $name
scheduleCadence: $scheduleCadence
autoCrawlEnabled: $autoCrawlEnabled
freshnessThresholdDays: $freshnessThresholdDays
}
) {
aiVisibilityProject {
id
name
scheduleCadence
autoCrawlEnabled
freshnessThresholdDays
}
}
}
Content evaluation settings
autoCrawlEnabled-- Whentrue, cited pages from your brand's domains are automatically crawled and evaluated after each prompt runfreshnessThresholdDays-- Number of days (1-90, default 7) before a previously crawled URL is considered stale and re-crawled
Changing scheduleCadence may reduce the allowed prompt count. If the current prompt count exceeds the new limit, the update will fail with AI_VISIBILITY_PROMPTS_LIMIT_REACHED.
Delete a project
Soft-deletes a project. This is a destructive operation.
mutation DeleteAiVisibilityProject(
$accountId: ObjectID!
$aiVisibilityProjectId: ObjectID!
) {
deleteAiVisibilityProject(
input: {
accountId: $accountId
aiVisibilityProjectId: $aiVisibilityProjectId
}
) {
aiVisibilityProject {
id
}
}
}
Schema reference
AiVisibilityProject-- Project typeCreateAiVisibilityProjectInput-- Creation inputUpdateAiVisibilityProjectInput-- Update inputAiVisibilityScheduleCadence-- Schedule options