acceptContentSlot
ChatGPTAccept a REVIEW draft: moves it to SCHEDULED (future publishAt) or publishes now when past due / immediate timing. Requires dashboard setup. Pass pastDueAction when publishAt is already in the past.
activatePrompts
ChatGPTActivate prompts and return { count }. Newly activated prompts consume quota and may queue response work.
addPageTracker
ChatGPTRegisters canonical URLs on the project's page-tracker watchlist so their AI citations are monitored going forward. Only use when the user explicitly asks to track pages. Returns added, skipped, and failed per-URL results; request validation or storage errors can still fail the call.
addShoppingTrackedProducts
ChatGPTTrack one or more products by catalog ID so their AI shopping appearances are matched. Duplicates are counted and skipped, not rejected. Returns {created,reactivated,matched,duplicateInBatch,duplicateExisting,submitted}. Requires the Shopping insights plan feature.
attachTagsToPrompt
ChatGPTAttach tags to one prompt, creating missing tags. Returns the prompt's tag links with nested tag data.
attachTagsToPromptsBulk
ChatGPTAttach tags to prompts, creating missing tags. Returns { success, count }, where count is new links.
attachTopicsToPrompt
ChatGPTAttach topics to one prompt, creating missing topics. Returns { attached }, the number of new links.
attachTopicsToPromptsBulk
ChatGPTAttach topics to prompts, creating missing topics. Returns { attached }, the number of new links.
clearContentPublication
ChatGPTUnlink a document from its published URL. The page tracker and its citation history are kept, so the URL stays tracked; use removePageTracker to stop tracking it.
createActionItem
ChatGPTCreate a GEO board action. Prefer typed actions; CUSTOM only when none fit. Copy every UUID in data verbatim from tool results — never invent IDs or use CUSTOM to skip them. For CUSTOM, include relatedPrompts when prompts apply. Lands in To Do; dedup returns created:false with the existing action.
createBrand
ChatGPTCreate or reuse a brand, link it to the project, and return the project-brand row. Setting relation to SELF demotes the previous SELF brand.
createContent
ChatGPTQueue quota-gated, asynchronous content generation. CREATE makes new content. OPTIMIZE creates a rewritten draft of an existing page from stored crawl content without editing or publishing the live page. Returns { id, status }; poll getContent until COMPLETED, FAILED, or STOPPED.
createDashboard
ChatGPTCreate a custom dashboard from widgets with optional saved filters, or from a template. Personal by default, so only you see it; pass scope TEAM to share it. Returns the dashboard and shows the user a link to it.
createMonitor
ChatGPTCreate an active monitor and return its record with promptCount. Optionally pass initialPrompts and/or generatePrompts (up to 3 batches, 50 total) to create prompts synchronously. Generation uses the project's crawled description, so run it on an enriched project. Persona data is snapshotted.
createPersona
ChatGPTCreate an audience persona and return its row. Use it to shape future monitors; names are unique per project.
createProject
ChatGPTCreate a Promptwatch project and return its record, including id, slug, and isPitchProject. Requires an organization-level writable credential and the matching quota; website enrichment runs asynchronously. Set isPitchProject to use maxPitchProjects instead of maxProjects.
createPrompt
ChatGPTCreate one tracked prompt and return its row. Enforces active-prompt quota and queues response processing asynchronously.
createPromptsBulk
ChatGPTCreate prompts for one monitor. Returns { created, skipped }; skipped entries repeat the submitted text with the id of the live prompt it duplicates, or null when an earlier entry of the same batch matched. Enforces active-prompt quota and queues response processing asynchronously.
createReport
ChatGPTQueue an asynchronous PDF Report of the project's Dashboard, with the same filters as the Reports UI (email is never sent). Returns { reportId, status }; poll getReport until complete for a Download URL.
createTags
ChatGPTCreate missing tags and return matching tag rows. Names are trimmed and deduplicated; this does not attach them.
createTopics
ChatGPTCreate missing topics and return matching rows. Names are trimmed, lowercased, and deduplicated; this does not attach them.
deactivatePrompts
ChatGPTDeactivate prompts and return { count }. Stops future scheduling while retaining response history.
declineContentSlot
ChatGPTDecline a REVIEW, APPROVED, or SCHEDULED piece. Requires dashboard setup. The slot becomes SUPPRESSED and will not be generated or published; this cannot be undone with these tools.
deleteContentSlot
ChatGPTPermanently delete a FAILED or PUBLISH_FAILED piece. Requires dashboard setup. Optionally also deletes the linked draft document. Other statuses are rejected.
deleteMonitor
ChatGPTSoft-delete and deactivate a monitor, returning { success: true }. Stops future scheduling but retains historical data.
deletePersona
ChatGPTDelete a persona and return { success: true }. Fails if the persona has been used on a tracked response. Otherwise monitors using it are detached and stacking is turned off.
deletePrompt
ChatGPTSoft-delete and deactivate a prompt, returning { success: true }. Future runs stop; response history is retained.
deletePromptsBulk
ChatGPTSoft-delete and deactivate prompts, returning { count }. All ids must belong to the project; response history is retained.
deleteShoppingTrackedProduct
ChatGPTStop tracking a product; extracted shopping data is unaffected. An unknown product returns SHOPPING_TRACKED_PRODUCT_NOT_FOUND. Requires the Shopping insights plan feature.
deleteTag
ChatGPTDelete a tag and return { success: true }. Prompt links cascade; other references may block deletion.
deleteTopic
ChatGPTDelete a topic and return { success: true }; its prompt links are removed.
getActionBoardOverview
ChatGPTSummarize the project's action board: counts by status/severity/type, a catalog of every action type with open counts (suggested/todo/in_progress only — done is excluded), recent non-dismissed actions, and stale suggested/todo items. Call this before creating actions to avoid duplicates.
getAdDomainAnalytics
ChatGPTGet the top advertiser domains (or store names for product ads without a known domain) with daily ad counts (defaults to the last 90 days when dates are omitted). Returns {topDomains,daily} for share-of-ads trends. Requires the Ads Radar plan feature.
getBingSearchInsightsPages
ChatGPTBing Webmaster clicks, impressions, and position per site pathname, with previous-period change. Paginated. Bing figures use complete Sat–Fri weeks and may not cover the same calendar days as Google. An unconnected project returns empty rows.
getBingSearchInsightsTrend
ChatGPTDaily Bing Webmaster clicks and impressions for the project website. Dates default to the last 30 days and cannot exceed 92 days. Bing figures use complete Sat–Fri weeks and may not cover the same calendar days as Google. An unconnected project returns zeros.
getBrandVisibilityOverTime
ChatGPTReturn { timeSeries, topBrands } for brand visibility comparisons. Each time-series point includes shareOfVoice (that brand's mentions / all compared-brand mentions that day, 0–100). The SELF brand is always returned, with mentionCount 0 and totalResponses for buckets that have responses, unless excludeSelf is true. Supports model, prompt, monitor, type, relation, and name/domain filters; omitted dates query today only, inclusive UTC.
getCitationDomainsByLlm
ChatGPTReturn each model/provider with domains:[{domainName,count}] citation totals. Use to compare source preferences across AI engines; limit applies per model.
getCitationDomainsOverTime
ChatGPTReturn {dates,series,totalCitations} for citation counts and share by domain over time. Use to compare sources; averageRank is within-answer position where 1 is best.
getCitationLlmSources
ChatGPTReturn {llm,provider,model,totalCitations,uniqueDomains,uniquePrompts} rows. Use to compare citation breadth by AI engine; limit caps model rows.
getCitationRankAnalysis
ChatGPTReturn {timeSeries,overallAverageRank,lastRank} for within-answer positions of self-domain citations. Use to track citation prominence; rank 1 is best, not most-cited-domain rank.
getCitationTopPages
ChatGPTReturn {url,count,averageRank} rows for the most-cited pages. Use to find relied-on sources; averageRank is within-answer position where 1 is best.
getCitations
ChatGPTReturn cited-domain/URL frequencies plus total estimated monthly traffic and average authority/PageRank metrics. Use for a source overview; domains.data is limited, while urls is not.
getCompetitorHeatmap
ChatGPTReturn {brandId,competitor,model,percentage} cells comparing brand visibility by model. Use for cross-model benchmarking; percentage is a 0–100 visibility score, not sentiment.
getContent
ChatGPTGet one generated document or poll a createContent job. Returns status, configuration, prompt, markdown content, title, nullable metaTitle (null means the H1/title is used), featuredImageUrl (separate from the body), failure details, and timestamps; content may be null until completion.
getContentAgentSettings
ChatGPTGet the project's Content Agent configuration (autonomy, publish windows, budget share, CMS). Returns settings: null until setup has been completed once.
getContentGapLatest
ChatGPTGet a prompt's latest stored content-gap analysis. Returns contentCoverageScore, report, sources, sitemap counts, and recommendations; the score is 0-100, while null means no analysis.
getContentGapRecommendations
ChatGPTGet a prompt's latest stored analysis and recommendations for creating content or refreshing existing pages. Returns prompt context, current 0-100 coverage, report/source data, and recommendation IDs/details; null means no analysis.
getContentGapStats
ChatGPTSummarize current content coverage across active prompts. Returns averageCoverageScore, analyzed/unanalyzed totals, distribution, and type/intent breakdowns; scores use each prompt's latest stored 0-100 analysis, and missing analysis is not zero.
getContentPublishStatus
ChatGPTGet a document's CMS publish history, newest first, plus latest as a shortcut to the most recent record. latest is null when the document has never been pushed. Use it to check whether a draft is STAGED before publishing live.
getContentSlot
ChatGPTGet one scheduled Content Agent piece including draft markdown, document configuration, and decline reason when present.
getCrawlerTrend
ChatGPTShows AI crawler requests over time from ingested server/CDN logs. Returns isSuccess, isEmpty, data, and categories; these are machine requests, not visits or citations. When isEmpty is true, no crawler logs have been recorded and data and categories are empty.
getDashboard
ChatGPTGet one custom dashboard with its filters, widgets and current version. Read it before updateDashboard.
getGoogleSearchInsightsPages
ChatGPTGoogle Search Console clicks, impressions, and position per site pathname, with previous-period change. Paginated. An unconnected project returns empty rows.
getGoogleSearchInsightsTrend
ChatGPTDaily Google Search Console clicks and impressions for the project website. Dates default to the last 30 days and cannot exceed 92 days. An unconnected project returns zeros.
getGroupedCitations
ChatGPTReturn paginated {data,total,page,size} rows grouped by cited URL, with counts, citation share (percent of analyzed responses citing the URL), 1-based positions, model coverage, and SEO metrics. Use for citation audits; position 1 is best and SEO ranks are separate metrics.
getMentionsTimeSeries
ChatGPTReturn {date,brandMentions,competitorMentions} buckets for collected responses. Use to compare mention trends; competitorMentions counts occurrences, not unique brands.
getMonitor
ChatGPTGet one monitor with configuration and metrics, including promptCount, responseCount, averageVisibility, and responseCountInRange. Omitted dates query today only, inclusive UTC.
getPageTracker
ChatGPTGets one watchlist entry (a URL the user explicitly registered as a page tracker) with AI-response citation totals for a period. Requires an existing tracker id from listPageTrackers; it cannot look up arbitrary URLs — for citation analysis of any page use getCitations or getCitationTopPages. Dates default to today-only UTC and reject future days, while zero citations in-range can return TRACKED_PAGE_NOT_FOUND.
getPerformanceHeatmap
ChatGPTHeatmap for two axes and one metric: {rowAxis,columnAxis,metric,brand,rows,columns,cells}. Axes: brands, models, topics, countries. Metrics: visibility, sentiment, position, shareOfVoice, winRate. Defaults to brands by models, visibility. Without a brands axis, every cell is the project's own brand, named in brand. A missing cell means no value. visibility, shareOfVoice, and winRate are 0–100. position is an average rank, 1 is best. getCompetitorHeatmap is the brands-by-models list.
getPersona
ChatGPTGet one persona with its audience profile, demographic fields, and stackable prompt.
getPrompt
ChatGPTGet a prompt with its monitor, tags, topics, keywords, response count, and rollup metrics. Use after listPrompts for prompt details.
getReport
ChatGPTGet a Report by id, or poll after createReport. Returns status and timestamps; when status is complete, includes a fresh Download URL for the PDF.
getResponse
ChatGPTFetch one AI response with full text, prompt/model details, brand metrics, and cited sources. Use after listResponses for evidence review; the response must belong to the project.
getResponseSentimentDistribution
ChatGPTReturn {sentiment,count,percentage} rows for categorical response sentiment, with percentage on a 0–100 scale. Use to compare sentiment mix; this is not the numeric score.
getResponseSentimentTimeSeries
ChatGPTReturn daily {date,positive,negative,neutral,unknown} counts for responses mentioning the brand. Use for categorical sentiment trends; only days with data are returned.
getResponsesSummary
ChatGPTReturn {totalResponses,totalBrandMentions} as a compact snapshot. Brand mentions count ORGANIC responses only.
getSelfCitationFrequency
ChatGPTReturn {date,value} UTC buckets counting citations to the project domain and subdomains. Use for self-citation trends; null means no citations.
getSentimentTimeSeries
ChatGPTReturn {date,value} UTC buckets for average brand sentiment in scored AI responses (1–100; higher is more positive). Use for tone trends; sentiment is distinct from visibility.
getShoppingItem
ChatGPTGet one extracted shopping product with appearance stats (appearances, prompts, average position) and its latest appearance. An unknown product returns SHOPPING_ITEM_NOT_FOUND. Requires the Shopping insights plan feature.
getShoppingProductPositionAnalytics
ChatGPTGet the top products by appearances with daily average 1-based positions (defaults to the last 90 days when dates are omitted). Returns {topProducts,timeSeries}. Requires the Shopping insights plan feature.
getShoppingProductsOverTime
ChatGPTGet the daily count of product appearances in AI shopping answers (defaults to the last 90 days when dates are omitted). Returns {series} of {date,products} UTC buckets. Requires the Shopping insights plan feature.
getShoppingTopMerchantDomains
ChatGPTGet merchant domains ordered by product appearances in AI shopping answers. Returns {domains} with {domain,count} entries. Requires the Shopping insights plan feature.
getShoppingTopProducts
ChatGPTGet products ordered by appearances in AI shopping answers. Returns {products} with {id,title,count} entries; use getShoppingItem for details. Requires the Shopping insights plan feature.
getSiteAuditContentInsights
ChatGPTContent findings for a site audit run. kind is thin (under 300 words), duplicates (near-duplicate pages), stale (unchanged; set staleDays, default 90), changed (title, heading, description or body versus the previous run) or duplicateTitles. Omit runId for the newest finished run. Pass the returned runId back with cursor.
getSiteAuditLinkInsights
ChatGPTLink findings for a site audit run. kind is orphans (no inbound links), brokenLinks (edges to a dead page), coverageGaps (linked URLs the run never fetched) or navOnly (linked only from site-wide navigation). truncated means the stored list hit its cap. Omit runId for the newest finished run. Pass the returned runId back with cursor.
getSiteAuditProfile
ChatGPTAggregates for a site audit run: link profile (click depth and links per page), content profile (titles, headings, word count, freshness) and the slowest pages by time to first byte. Omit runId for the newest finished run.
getSiteAuditRun
ChatGPTOne site audit run: health score, coverage, response-time averages, and per-check summaries with affected, new and fixed URL counts. Omit runId for the newest finished run. Fails when that run does not exist. Does not start an audit.
getSiteAuditUrlHistory
ChatGPTCheck history for one URL across site audit runs, newest first: status, timing, issues and redirects. Pass nextCursor as cursor.
getSitemapProgress
ChatGPTGet Promptwatch's stored sitemap crawl progress without starting a crawl. Returns summary, crawlHealthScore, HTTP status breakdown, and attempt stats; excluded assets are omitted and redirects count as success. crawlHealthScore is crawl coverage, not the site audit health score; use getSiteAuditRun for that.
getTopCompetitors
ChatGPTReturn ranked {competitor,count,percentage} rows from DIRECT_COMPETITOR brand mentions. percentage is a rounded 0–100 share of those competitor mentions (not visibility).
getTopCrawlerPages
ChatGPTRanks site paths by AI crawler requests from ingested server/CDN logs. Returns isSuccess, isEmpty, and path/request data; these are machine requests, not visits or citations. When isEmpty is true, no crawler logs have been recorded and data is empty.
getUsage
ChatGPTReturn organization usage and effective limits (plan, custom overrides, and add-ons) plus a per-project breakdown including project caps. Covers active prompts, responses, analytics, crawler logs, content generations, crawled pages, knowledge base items, seats, and projects. Requires an organization-level API key.
getVisibilityTimeSeries
ChatGPTReturn {date,value} UTC buckets for the project's 0–100 visibility across collected AI responses, reflecting brand presence and prominence. Use for trends; visibility is distinct from sentiment.
getVisitorReferrerStats
ChatGPTCompares human visits and hits by referrer with the preceding period. Returns isSuccess, isEmpty, and percentage-change data; provide referrer domains, and do not treat referrals as citations.
getVisitorTopBrowsers
ChatGPTRanks browsers in human visitor analytics by visits and hits. Returns isSuccess, isEmpty, and browser data; this is visitor traffic, not crawler activity or citations.
getVisitorTopDevices
ChatGPTRanks device types in human visitor analytics by visits and hits. Returns isSuccess, isEmpty, and device data; this is visitor traffic, not crawler activity or citations.
getVisitorTopLocations
ChatGPTRanks countries in human visitor analytics by visits and hits. Returns isSuccess, isEmpty, and location data; this is visitor traffic, not crawler activity or citations.
getVisitorTopPages
ChatGPTRanks paths in human visitor analytics by visits and hits. Returns isSuccess, isEmpty, and page data; AI-referrer filtering identifies clicks, not citations.
getVisitorTopSources
ChatGPTRanks referrer domains in human visitor analytics by visits and hits. Returns isSuccess, isEmpty, and source data; direct traffic is excluded and referrals are not citations.
getVisitorTotal
ChatGPTShows human website visits over time from Promptwatch visitor analytics. Returns isSuccess, isEmpty, and total-visit data; this is visitor traffic, not crawler activity or citation evidence.
getVisitorTrend
ChatGPTShows human visits over time by referrer from Promptwatch visitor analytics. Returns isSuccess, isEmpty, and trend data; omitted filters include non-AI sources. When isEmpty is true, no visitor analytics have been recorded and data is empty.
listActionItems
ChatGPTList recommended GEO action items for prioritization. Returns actions with IDs, status, severity, and reasoning plus pagination; newest updates come first, dismissed items are excluded by default, and dismissed-only queries default to a 14-day window.
listAdDomains
ChatGPTList advertiser root domains seen in captured ads (store names for product ads without a known domain), ordered by ad count. Returns {domains} with {domainName,count} entries; use the domains to filter listAds. Requires the Ads Radar plan feature.
listAdPrompts
ChatGPTList prompts whose AI answers contained sponsored ads, with ad counts and the latest capture time per prompt. Returns {prompts,total,page,size,totalPages}. Requires the Ads Radar plan feature.
listAds
ChatGPTList sponsored ads captured in AI answers (Ads Radar) with filters and pagination. Returns {items,total,page,size,totalPages} with ad creative, advertiser, landing page, ad type, price and rating for product ads, and source response. Requires the Ads Radar plan feature.
listBrands
ChatGPTList brands detected in the available 90-day analytics window or linked to the project. Returns { data, total, skip, limit }; use data[].id as brandId.
listCmsConnections
ChatGPTList the project's Webflow and Framer connections and whether each can publish. Use an id here as connectionId for pushContentDraft and publishContentLive. Connections are set up in the dashboard, not through tools.
listContent
ChatGPTList AI-generated content documents and their IDs. Returns summary documents plus pagination; markdown is omitted, so use getContent for the full document or failure details.
listContentGapPrompts
ChatGPTList active prompts to find content gaps. Returns prompts plus pagination, including nullable latest score/date and sitemap/fanout fields; latestContentGapScore is the current stored 0-100 signal, and null means no analysis.
listContentSlots
ChatGPTList scheduled Content Agent pieces (the schedule). Requires Content Agent setup in the dashboard. Use pagination + statuses, or pass fromDate/toDate for a calendar window (max 500). SUPPRESSED slots are never returned; FAILED slots only when requested in statuses. Use getContentSlot for draft body.
listDashboards
ChatGPTList the project's custom dashboards: team dashboards plus your personal ones, with their filters and widgets. The main Dashboard is not listed.
listEvents
ChatGPTReturn project events grouped by UTC day (prompts added/deleted, action items completed). Join on date with getVisibilityTimeSeries or getSentimentTimeSeries to explain movements.
listLinkedInCitations
ChatGPTFind LinkedIn posts and Pulse articles cited by active project LLM responses using stored citation and LinkedIn data. Returns paginated data with citation metrics; dates filter response creation, not publication, and are unbounded when omitted.
listModels
ChatGPTList supported LLM models with ids, names, providers, and deprecation metadata. Use returned id values in model inputs; deprecated models are excluded by default.
listMonitors
ChatGPTList project monitors with configuration, prompt and response counts, and visibility metrics. Use returned ids for monitor inputs; omitted dates query today only, inclusive UTC.
listOffsiteMentionOpportunities
ChatGPTReturn paginated cited pages that mention direct competitors but not the SELF brand, with brand and citation counts. Use for outreach; only analyzed pages qualify.
listPageTrackerPrompts
ChatGPTLists prompts whose AI responses cited one specific URL from the project's page-tracker watchlist. Only useful when the user asks about a page they explicitly track; for the project's prompts use listPrompts and for citation analysis use getCitations instead. Returns paginated prompts; dates filter the citing response, default to today-only UTC, and reject future days.
listPageTrackerResponses
ChatGPTLists analyzed AI responses that cited one specific URL from the project's page-tracker watchlist. Only useful when the user asks about a page they explicitly track; for responses across the whole project use listResponses instead. Returns paginated responses newest first; dates filter response creation, default to today-only UTC, and reject future days.
listPageTrackers
ChatGPTLists the page trackers of this project: a small, user-curated watchlist of specific URLs the user explicitly registered to monitor for AI citations. Most projects track few or no pages, so this is NOT the general citation dataset — for project-wide citation analysis use getCitations, getGroupedCitations, or getCitationTopPages instead. Returns paginated watchlist entries with citation totals; uncited URLs remain with zero counts, and dates default to today-only UTC and reject future days.
listPersonas
ChatGPTList project personas and their audience profile fields. Use returned ids for monitor and persona inputs.
listProjects
ChatGPTList projects accessible to the caller. Returns records including id, name, slug, website, and isPitchProject; use id with project-scoped tools.
listPrompts
ChatGPTList tracked prompts with their tags and topics, with pagination, filters, and sorting. Returns { prompts, total, page, size }; a monitor filter also includes prompts from paused monitors. Keywords are omitted; use getPrompt for one prompt's keywords.
listQueryFanouts
ChatGPTList active prompts with the query fanouts (sub-queries the AI model searched) extracted from their responses. Returns prompts plus pagination; each prompt includes aggregate keyword metrics and a fanouts array with the source response per fanout.
listRedditCitations
ChatGPTFind Reddit posts cited by active project LLM responses using stored citation and Reddit data. Returns paginated data with citation metrics; dates filter response creation, not publication, and are unbounded when omitted.
listReports
ChatGPTList PDF Reports for a project, newest first. Returns summary rows plus pagination; use getReport for a Download URL when a row is complete.
listResponses
ChatGPTList analyzed AI responses with filters and pagination, returning {responses,total,page,size} with text, prompt, model, citations, 0–100 visibility, and 1–100 sentiment. Use for evidence review; project-wide results exclude paused monitors.
listShoppingItems
ChatGPTList product appearances captured in AI shopping answers with filters and pagination. Returns {items,total,page,size,totalPages} with product, price stats, merchant, position, and source response. Requires the Shopping insights plan feature.
listShoppingTrackedProducts
ChatGPTList tracked products (My products) with their matched extracted shopping items, newest first. Returns {products}; unmatched products have shoppingItem: null. Requires the Shopping insights plan feature.
listSiteAuditFailingUrls
ChatGPTURLs a site audit could not fetch (4xx, 5xx or no response), with status, timing and how many consecutive runs each has been failing. Omit runId for the newest finished run. Pass the returned runId back with cursor.
listSiteAuditIssues
ChatGPTURLs a site audit flagged, errors first. Filter with issues (check ids), severity (error, warning, notice) or search (URL substring). counts is affected URLs per check under that search. Omit runId for the newest finished run. Pass the returned runId back with cursor.
listSiteAuditRuns
ChatGPTList site audit runs, newest first. Each run has its health score, coverage counts and issue totals by severity. Pass nextCursor as cursor. Does not start an audit.
listTags
ChatGPTList tags attached to active prompts. Returns tag rows with _count.promptTags; tags without active prompt links are omitted.
listTopics
ChatGPTList project topics with _count.promptTopics for active prompts. Topics with zero links are included.
listYoutubeCitations
ChatGPTFind YouTube videos cited by active project LLM responses using stored citation and video data. Returns paginated data with citation metrics; dates filter response creation, not publication, and are unbounded when omitted.
publishContentLive
ChatGPTPublish a staged CMS draft to the live public site and track its URL. Requires pushContentDraft on the same connection first. This makes content publicly visible and cannot be undone with these tools, so confirm with the user before calling it.
publishContentSlot
ChatGPTManually publish an APPROVED or SCHEDULED piece now (CMS when configured). Requires dashboard setup. Attributes the publish to the calling user when available, otherwise the MCP API key.
pushContentDraft
ChatGPTWrite a document to the connected CMS as an unpublished draft, creating the item or updating an existing one. Nothing becomes publicly visible until publishContentLive. Calls the CMS provider, so it can take several seconds.
removePageTracker
ChatGPTRemoves a URL from the project's page-tracker watchlist and returns deletedCount. Historical responses and citations remain; an unknown tracker returns TRACKED_PAGE_NOT_FOUND.
renameTag
ChatGPTRename a tag and return its row; existing prompt and brand links are preserved.
renameTopic
ChatGPTRename a topic and return its row; prompt links are preserved. Names are normalized to lowercase.
setContentPublication
ChatGPTRecord the live URL of a COMPLETED document and start tracking that URL for AI citations. Use this for pages published outside a connected CMS. Returns the created page tracker plus domainMismatchWarning when the host is not on the project website.
setupProject
ChatGPTCreate a project, enrich it from its website, and create up to 3 monitors with generated prompts (50 total) in one synchronous call (1-2 minutes). Omit monitors for one monitor with 10 mixed prompts. If prompt generation fails, the project is still returned with monitors: [] and a warning; use createMonitor on it instead of calling setupProject again. Set isPitchProject to use maxPitchProjects instead of maxProjects. Use createProject + createMonitor for finer control.
updateActionItemStatus
ChatGPTSet an action item's status and return the updated action. done sets completedAt, dismissed sets dismissedAt, and other statuses clear both.
updateBrand
ChatGPTUpdate a brand's project relation and return the project-brand row. Use listBrands data[].id, not projectBrandId; SELF demotes the prior SELF brand.
updateContentAgentSettings
ChatGPTUpdate the project's Content Agent configuration. Requires the org Content Agent entitlement and that setup was completed in the dashboard.
updateContentSlot
ChatGPTReplace documentConfiguration on a PLANNED slot (persona, type, length, tone, tools, language); the prior configuration is not recoverable. Requires dashboard setup. Rejected once generation has started — rewrite a REVIEW draft instead.
updateDashboard
ChatGPTChange a custom dashboard's widgets, filters, name or icon. widgets and filters each replace the whole saved value, so pass the full list from getDashboard with your changes. Fails with a conflict when expectedVersion is stale.
updateMonitor
ChatGPTUpdate a monitor and return its record. models replaces the full list and the prior models are not recoverable; activating it or replacing models while active may queue response work.
updatePersona
ChatGPTUpdate a persona and return its row. Existing monitors keep their snapshotted persona values.
updateShoppingTrackedProduct
ChatGPTUpdate the name or description of a tracked product; the catalog ID is immutable and the prior name/description is not recoverable. An unknown product returns SHOPPING_TRACKED_PRODUCT_NOT_FOUND. Requires the Shopping insights plan feature.
activate_prompts
Claudeattach_tags_to_prompt
Claudeattach_tags_to_prompts_bulk
Claudecreate_brand
Claudecreate_content
Claudecreate_monitor
Claudecreate_persona
Claudecreate_project
Claudecreate_prompt
Claudecreate_prompts_bulk
Claudecreate_tags
Claudedeactivate_prompts
Claudedelete_monitor
Claudedelete_persona
Claudedelete_prompt
Claudedelete_prompts_bulk
Claudedelete_tag
Claudeget_brand_visibility_over_time
Claudeget_citation_domains_by_llm
Claudeget_citation_domains_over_time
Claudeget_citation_llm_sources
Claudeget_citation_rank_analysis
Claudeget_citation_top_pages
Claudeget_citations
Claudeget_competitor_heatmap
Claudeget_content
Claudeget_content_gap_latest
Claudeget_content_gap_recommendations
Claudeget_content_gap_stats
Claudeget_crawler_trend
Claudeget_mentions_time_series
Claudeget_monitor
Claudeget_persona
Claudeget_prompt
Claudeget_response
Claudeget_response_sentiment_distribution
Claudeget_response_sentiment_time_series
Claudeget_responses_summary
Claudeget_self_citation_frequency
Claudeget_sentiment_time_series
Claudeget_sitemap_progress
Claudeget_top_competitors
Claudeget_top_crawler_pages
Claudeget_visibility_time_series
Claudeget_visitor_referrer_stats
Claudeget_visitor_top_browsers
Claudeget_visitor_top_devices
Claudeget_visitor_top_locations
Claudeget_visitor_top_pages
Claudeget_visitor_top_sources
Claudeget_visitor_total
Claudeget_visitor_trend
Claudelist_brands
Claudelist_content
Claudelist_content_gap_prompts
Claudelist_models
Claudelist_monitors
Claudelist_personas
Claudelist_projects
Claudelist_prompts
Claudelist_query_fanouts
Claudelist_responses
Claudelist_tags
Clauderename_tag
Claudeupdate_brand
Claudeupdate_monitor
Claudeupdate_persona
Claude