add-manual-backlink
ChatGPTRegister a backlink the user knows about but the provider's index is missing. The target URL must be a page on this project's own site and the referring page must be on another site. Free — it makes no third-party call and does not count against the scan allowance.
archive-prompts
ChatGPTArchive one or more prompts by ID. Each item is applied on its own, and the result lists the outcome for each item.
bulk-apply-competitors
ChatGPTDeprecated: use create-competitors, update-competitors or delete-competitors instead. Create / update / delete tracked competitors in one batch.
bulk-apply-offerings
ChatGPTDeprecated: use create-offerings, update-offerings or delete-offerings instead. Create / update / delete offerings (products/services) in one batch.
bulk-apply-personas
ChatGPTDeprecated: use create-personas, update-personas or delete-personas instead. Create / update / delete personas in one batch.
bulk-apply-prompt-tags
ChatGPTDeprecated: use create-prompt-tags, update-prompt-tags or delete-prompt-tags instead. Create / update / delete prompt tags in one batch.
bulk-apply-prompts
ChatGPTDeprecated: use create-prompts, update-prompts or archive-prompts instead. Create / update / archive prompts in one batch.
create-competitors
ChatGPTCreate one or more tracked competitors. Each item is applied on its own, and the result lists the outcome for each item.
create-offerings
ChatGPTCreate one or more offerings (products/services). Each item is applied on its own, and the result lists the outcome for each item.
create-personas
ChatGPTCreate one or more personas. Each item is applied on its own, and the result lists the outcome for each item.
create-prompt-tags
ChatGPTCreate one or more prompt tags. Each item is applied on its own, and the result lists the outcome for each item.
create-prompts
ChatGPTCreate one or more prompts. Each item is applied on its own, and the result lists the outcome for each item.
create-tracked-url
ChatGPTStart tracking a URL's visibility in AI answers, for example a page the user published or updated. End the URL with /* to track every page under that path. Fails if the URL is already tracked.
delete-competitors
ChatGPTDelete one or more tracked competitors by ID. Each item is applied on its own, and the result lists the outcome for each item.
delete-offerings
ChatGPTDelete one or more offerings (products/services) by ID. Each item is applied on its own, and the result lists the outcome for each item.
delete-personas
ChatGPTDelete one or more personas by ID. Each item is applied on its own, and the result lists the outcome for each item.
delete-prompt-tags
ChatGPTDelete one or more prompt tags by ID. Each item is applied on its own, and the result lists the outcome for each item.
delete-tracked-url
ChatGPTStop tracking a URL. Its AI visibility no longer shows in Actions > Impact. Tracking it again later is possible.
fetch-actions
ChatGPTFetch actions with optional status/priority/campaign filters.
fetch-backlink-domains
ChatGPTList referring domains with their rank, backlink and dofollow counts, average spam score of their links (0-100, higher = spammier), and their AI signal. totalMatchingFilters counts the rows matching the filters you passed, not the size of the whole profile, so never report it as the project's referring-domain total. appearedAsAiSourceCount counts every AI answer the domain fed and already includes citedInAiAnswersCount, which counts only the answers that named it outright.
fetch-backlink-gap
ChatGPTList domains that link to the tracked competitors but not to this project — link-building prospects, sorted by how many competitors they link to. gapCompetitorsUsed < gapCompetitorsTotal means the gap covers only a subset of competitors.
fetch-backlink-overview
ChatGPTFetch the project's backlink profile summary: sync status (last sync, cooldown, warnings) plus KPIs — domain rank, backlinks, referring domains, AI-cited domains, and new/lost counts. neverSynced: true means no completed sync has produced data yet — check sync.status and sync.lastError, a first sync may have failed.
fetch-backlink-timeseries
ChatGPTFetch the backlink profile history: one snapshot per sync with rank, backlinks, referring domains, AI-cited domains and new/lost counts.
fetch-backlinks
ChatGPTList individual backlinks (referring page → target URL) with anchor, referring-domain rank, spam score (0-100, higher = spammier), dofollow flag and the AI signal on the referring domain. totalMatchingFilters counts the rows matching the filters you passed, not the whole profile. appearedAsAiSource includes the citedInAiAnswers rows — it is the wider signal, not the uncited remainder.
fetch-bot-detail
ChatGPTDetail for a single bot in a date range: totals, status histogram, status over time, and top crawled pages. Requires botName.
fetch-bot-error-pages
ChatGPTList pages that returned errors (4xx/5xx) to bots in a date range, with error counts and statuses.
fetch-bot-page-detail
ChatGPTPer-bot breakdown for a single page (events, last seen, status-code counts). Requires host and path.
fetch-bot-traffic-kpis
ChatGPTFetch bot-traffic KPIs for a date range with window-over-window deltas: active bots, crawl cadence per week, error rate, total and error events.
fetch-bot-traffic-stats
ChatGPTFetch bot/crawler traffic statistics — total events per bot, a time series, and a summary (total events, unique bots, unique paths) for a date range.
fetch-bot-traffic-top-pages
ChatGPTFetch the pages most crawled by bots — events, unique bots, top bots, and last seen per URL.
fetch-bots-list
ChatGPTList the bots/crawlers seen in a date range with per-bot events, pages crawled, vendor, and last seen.
fetch-brand-details
ChatGPTFetch the details of the brand the project tracks. In a pitch project, this is the prospect.
fetch-brand-perception
ChatGPTFetch brand perception analytics showing how brands are described (e.g., reliable, innovative, affordable).
fetch-brand-rankings
ChatGPTFetch AI visibility brand rankings within a time range.
fetch-campaigns
ChatGPTFetch campaigns for the current project with optional status filter.
fetch-cited-pages
ChatGPTFetch cited pages / source URLs with citation analytics. Alias of fetch-source-urls for the Sources UI table. brandMentions covers only the returned page of URLs (null = not yet scanned).
fetch-competitors
ChatGPTFetch tracked competitors.
fetch-content-gap-detail
ChatGPTFetch content-gap detail for one prompt, including the 15 best-matching pages. Defaults to the newest completed run that includes gap analysis; pass runId to target another run. A depthScore is the maximum coverage score of the single best-matching page for a prompt, not a sum; 0 means no page on the site answers it. If note is present, relay it to the customer and treat the findings as incomplete.
fetch-content-gap-runs
ChatGPTList content gap analysis runs for the project, newest first. A depthScore is the maximum coverage score of the single best-matching page for a prompt, not a sum; 0 means no page on the site answers it. pageCount is the pages that reached the analysis and crawledPageCount everything the crawl captured; they differ by the blocked pages plus every page too thin to analyse, so never read the difference as pages lost to bot protection — blockedPageCount is that number. If crawlWarning is present, relay it to the customer and treat the findings as incomplete; if note is present, relay it to the customer.
fetch-content-gaps
ChatGPTFetch a compact content-gap summary for one analysis run, grouped only by depthScore coverage bands and limited to the 15 worst prompts. Defaults to the newest completed run that includes gap analysis; pass runId to target another run. A depthScore is the maximum coverage score of the single best-matching page for a prompt, not a sum; 0 means no page on the site answers it. If crawlWarning is present, relay it to the customer and treat the findings as incomplete; if note is present, relay it to the customer.
fetch-content-piece
ChatGPTGet one content piece's header and per-step status (label, kind, human-input policy, revision, quality/brandkit/factcheck outcomes, size). Metadata only — no step bodies. Use read-content-piece-step to read a step's output.
fetch-content-pieces
ChatGPTList content pieces as compact one-line summaries (id, status, title, format, current step). Start here, then fetch-content-piece for one piece's steps, then read-content-piece-step to read a step's output. Statuses: created (brief only, not generated), processing (generating now), waiting_for_input (paused for your approval or an answer), revising (regenerating after edits), ready (all steps generated), published, failed, archived.
fetch-monitor-settings
ChatGPTFetch monitoring settings (frequency and tracked AI models).
fetch-offerings
ChatGPTFetch configured offerings/products.
fetch-perception-sources
ChatGPTFetch source pages for a selected brand-perception attribute in Perception > Attributes > Sources. Use fetch-brand-perception first to discover attribute names.
fetch-performance-breakdown
ChatGPTFetch AI visibility performance breakdown by dimension.
fetch-personas
ChatGPTFetch configured personas.
fetch-pitch-guide
ChatGPTFetch the AI-written selling points of a pitch project, strongest first: facts from the finished snapshot that make the prospect want to talk to the agency. Each point has a hook (one sentence to the prospect) and its proof (the data behind it). The Pitch page shows the same points; stay consistent with them. Empty while the snapshot is still collecting.
fetch-pitch-snapshot
ChatGPTFetch how far a pitch project's latest snapshot run has come. Each run asks every active prompt 5 times on every AI platform (3 times with 3 or more platforms). Status: collecting (answers still arriving), ready (every prompt has all its answers on every platform), partial (final with some answers missing: it ends once every platform has 70% of its answers, and Google shows no AI Overview for some prompts), or failed (no answers). Also returns answers per platform and the reruns the user has left in the app.
fetch-prompt-analytics
ChatGPTFetch prompt performance analytics within a time range.
fetch-prompt-brand-rankings
ChatGPTCompare the own brand with selected competitors for every matching prompt. Returns visibility, average brand-mention position, mentions, and share of voice per brand and prompt.
fetch-prompts
ChatGPTFetch configured prompts.
fetch-publishable-article
ChatGPTGet a ready article in full, with everything needed to publish it in a CMS (e.g. Shopify, WordPress, Webflow): title, URL slug, the complete body as HTML (not length-capped), SEO title and meta description, social metadata, featured image URL and alt text, author, target keywords (usable as tags), and the planned publish date. Use this, not read-content-piece-step, when publishing. Only article pieces with status ready or published qualify. After the article is live, call mark-content-piece-published with its URL (needs write access). Pass on any warnings to the user before publishing.
fetch-search-ai-vs-organic
ChatGPTCompare AI citations with organic search for the site's own pages over the date range: pages AI answers cite that get little or no organic traffic (least organic first; hasOrganicData false means the search account has no row for the page), and the top organic pages by clicks that no AI answer cites.
fetch-search-breakdown
ChatGPTOrganic search clicks, impressions, CTR and position broken down by country (lowercase ISO 3166-1 alpha-3 codes) or by device. Google Search Console web search only; no country or device filter on top.
fetch-search-cannibalization
ChatGPTPotential keyword cannibalization: keywords for which two or more of the site's pages rank, with the number of competing pages and the keyword's clicks and impressions. Web search only; no country or device filter.
fetch-search-keywords
ChatGPTTop organic search keywords (queries) from Google Search Console or Bing Webmaster Tools, ordered by impressions, with clicks, CTR and average position for the date range. Raise limit before ranking keywords by clicks.
fetch-search-movements
ChatGPTOrganic search winners and losers versus the previous window of equal length: the top 10 keywords or pages that gained clicks, declined, are new (impressions for the first time), or were lost (no impressions any more), plus the total count per bucket.
fetch-search-pages
ChatGPTTop pages in organic search from Google Search Console or Bing Webmaster Tools, ordered by impressions, with clicks, CTR, average position and the page title when known, for the date range. Raise limit before ranking pages by clicks.
fetch-search-performance
ChatGPTOrganic search performance from the connected Google Search Console or Bing Webmaster Tools account for a date range: total clicks, impressions, CTR and average position, the daily series, and site-wide keyword counts per ranking-position bucket. urlSubstring scopes the totals and series to matching pages.
fetch-search-quick-wins
ChatGPTLow-hanging fruit: keywords already ranking in a position band (default 4 to 20) ordered by impressions, where a small ranking gain would turn impressions into clicks.
fetch-sentiment
ChatGPTFetch own-brand sentiment analytics from Perception > Sentiment, including positive/neutral/negative shares and a breakdown by model or another dimension.
fetch-sentiment-sources
ChatGPTFetch source pages for a selected sentiment in Perception > Sentiment > Sources. Returns title, domain, URL, appearances, models, and last seen.
fetch-share-of-voice
ChatGPTFetch share of voice breakdown showing your brand vs competitors.
fetch-source-urls
ChatGPTFetch source URLs / cited pages with citation analytics within a time range. Returns title, domain, URL, appearances, models, cited percentage, and last seen. brandMentions covers only the returned page of URLs (null = not yet scanned) — to check whether a domain mentions a brand, use fetch-top-domains.
fetch-technical-audit
ChatGPTFetch a technical website audit: site-level checks, a per-check aggregate across pages, and the worst-offending pages. Defaults to the latest completed run; pass auditId to target an older run, or url to get one page's full check detail. If blockedPageCount > 0 the crawler was blocked by the site's bot protection (e.g. Cloudflare); relay the crawlWarning to the customer and treat the findings as incomplete.
fetch-technical-audits
ChatGPTList technical website audit runs for the project, newest first.
fetch-top-domains
ChatGPTFetch the top cited source domains with rich analytics (presence, brand mentions, category, models) within a time range. brandMentions is the domain-level union across the domain's scanned URLs (null = nothing scanned yet; [] = no accepted brand found on scanned URLs).
fetch-tracked-urls
ChatGPTList the URLs the project tracks (Actions > Impact in Temso) with their AI visibility in a date range. appearances = AI answers that mention the brand and list the URL as a source; citations = the subset that cite it; promptCoverage = share of active prompts with at least one such answer. Counting starts at trackedAsOf, so a URL tracked after the range shows zeros. isPattern URLs end in /* and also match every page under that path.
list-projects
ChatGPTList the projects this API key can access. Call this first when you don't know the project ID to pass to other tools. Type "project" is a brand tracked daily. Type "pitch" is a one-time AI visibility snapshot an agency built to win a prospective client; see fetch-pitch-snapshot. A project with "available": false is not included in the account's current plan: its data is not available until the plan is upgraded.
mark-content-piece-published
ChatGPTMark a content piece as published in Temso after you published it on the user's site yourself (e.g. in Shopify), and record its live URL. Temso then tracks the page and stops asking the user to publish it by hand. Call it only once the article is live — not for drafts or posts scheduled for later. Only article pieces with status ready or published qualify.
read-content-piece-step
ChatGPTRead one content-piece step's output, rendered to markdown (doc/markdown steps) or pretty JSON (json steps) and length-capped. Get the step id from fetch-content-piece. Image steps have no readable artifact. To publish an article, use fetch-publishable-article instead: it returns the full body and its metadata.
trigger-backlink-sync
ChatGPTStart a manual backlink sync. This spends money — it calls a paid third-party API (DataForSEO). Call it without confirm first to get the current sync status, show that to the user, and call again with confirm: true only after they explicitly approve.
update-brand-details
ChatGPTUpdate your own brand's details (name, description, website, aliases).
update-competitors
ChatGPTUpdate one or more existing tracked competitors by _id. Only the fields you pass change. Each item is applied on its own, and the result lists the outcome for each item.
update-offerings
ChatGPTUpdate one or more existing offerings (products/services) by _id. Only the fields you pass change. Each item is applied on its own, and the result lists the outcome for each item.
update-personas
ChatGPTUpdate one or more existing personas by _id. Only the fields you pass change. Each item is applied on its own, and the result lists the outcome for each item.
update-prompt-tags
ChatGPTUpdate one or more existing prompt tags by _id. Only the fields you pass change. Each item is applied on its own, and the result lists the outcome for each item.
update-prompts
ChatGPTUpdate one or more existing prompts by _id. Only the fields you pass change. Each item is applied on its own, and the result lists the outcome for each item.