analyze_competitors
ChatGPTAnalyze the top-ranking pages for a search keyword. Pass your own page as the first urls entry to also get its ranking vs. those competitors.
analyze_serp
ChatGPTAnalyze search engine results for a keyword. Returns top results, featured snippets, and related searches.
apply_optimization
ChatGPTApply an optimization suggestion. Starts a background job and returns immediately; poll get_optimization until the suggestion shows as Applied.
apply_template
ChatGPTResolve a template's outline, defaults, and boilerplate without modifying data. Use list_templates for IDs.
assign_to_cluster
ChatGPTAssign content or a brief to a topic cluster.
audit_page
ChatGPTAudit a single page URL; returns E-E-A-T, GEO, and SEO scores with issues. Auto-routes: audit_page_id re-audits in-place; no existing site audit starts one async (poll audit_id); else synchronous.
batch_atomize
ChatGPTGenerate 1–4 formats for one article, replacing prior results; returns IDs to poll and can send completion webhooks.
brand
ChatGPTBrand reads. action=context: brand voice, terminology, reference + approved-brand sections (author on-brand before writing). action=terminology: check raw text against brand terms.
bulk_cms_posts
ChatGPTPublish, unpublish, or delete one or more CMS posts (1-25) by id. Use a single-element post_ids for one post. Returns per-id succeeded/failed; one bad id never aborts the batch. Delete needs delete scope. Publish is rules-gated: force overrides warning-only refusals.
claim_continuation
ChatGPTClaim a prepared handoff using its intentId; verify identity first.
cms_post
ChatGPTRead one CMS post. action=get → full body + SEO + taxonomy by post_id (optional include_research / include_blocks). action=get_by_slug → same by site_id + slug. action=performance → GSC metrics, quality scores, health, visitor demand.
create_atomization
ChatGPTGenerate one derived format for an article, replacing prior results of that type; completion can notify configured webhooks.
create_brief
ChatGPTCreate a content brief (topic, keywords, outline) from a completed research session (run start_research first).
create_cluster
ChatGPTCreate a topic cluster from a name, optional description, and seed keywords. Content and briefs can be assigned afterwards.
create_from_opportunity
ChatGPTGenerate a content brief directly from an opportunity — pre-fills topic, keywords, and competitive context.
create_prompt
ChatGPTTrack a search query to monitor how AI search results respond for your brand.
create_rule
ChatGPTCreate a content rule. Config omitted → smart defaults. config by condition_type: - score_threshold: {"scoreType":"seo","operator":">=","threshold":70} - word_count: {"operator":">=","min":300} - meta_required: {"requireTitle":true,"requireDescription":true} - verify_chips: {"maxAllowed":0} - term_compliance: {"checkNever":true,"checkAvoid":true} - link_count: {"linkType":"internal","operator":">=","min":2} - section_required: {"headingPattern":"FAQ","isRegex":false} - regex_pattern: {"pattern":"\\bTODO\\b","flags":"gi","mustMatch":false} - competitor_filter: {"competitors":["Acme"]} (=config required)
create_rule_set
ChatGPTCreate a new rule set. Rule sets group related rules together for batch evaluation. Optionally include existing rule IDs to populate the set.
create_site
ChatGPTCreate a new site to track. A site represents a domain you want to manage content and SEO for.
create_template
ChatGPTCreate a custom content template (outline sections with headings, word counts, key points). Plan limits apply.
delete_competitive_analysis
ChatGPTDelete a competitive analysis.
delete_content
ChatGPTDelete a content item (soft delete - moves to trash).
delete_research
ChatGPTDelete a research session (soft delete - moves to trash).
delete_rule
ChatGPTDelete a content rule permanently. Use get_rule_set to find rule IDs.
delete_webhook
ChatGPTDelete a webhook.
dismiss_optimization
ChatGPTDismiss an ENTIRE optimization session with ALL its suggestions. This marks the whole session (not individual suggestions) as dismissed. Use this when you want to skip all suggestions for a piece of content.
evaluate_rules
ChatGPTEvaluate content rules against ONE of: content_id, post_id (CMS post), or text. rule_set_id optional (omitted = every enabled set). Returns per-rule pass/fail + overall status without saving results; fail means publishing would refuse.
export_atomization
ChatGPTExport atomization results in JSON, plain text, or Markdown format.
export_audit
ChatGPTExport audit data. Returns detailed page-level data for analysis. This export is for a single site — do not compare with exports from other domains.
export_brief
ChatGPTExport a brief in JSON or Markdown format.
export_content
ChatGPTExport a content item in JSON, HTML, or Markdown format.
export_research
ChatGPTExport research findings in JSON or Markdown format.
generate_brief_from_analysis
ChatGPTGenerate an optimization brief from a completed competitive analysis. The brief includes missing topics, keyword targets, and structural recommendations.
generate_content
ChatGPTGenerate a NEW article from a brief with a complete outline. Always creates a new article and never overwrites the brief's existing content (use regenerate_content to rewrite one). Returns a content ID for get_job_status.
generate_hero_image
ChatGPTAI hero image for an EXISTING article, attached as its featured image; the body is untouched (for a new article use generate_content with generate_images). Async (~20-60s): poll get_content until Hero Image Job reads completed and Featured Image shows a new URL; stop on failed. Costs one image credit and one AI-image unit of the site budget. Refuses if a hero exists unless replace is true, which overwrites it.
get_ai_visibility
ChatGPTGet an overview of your AI visibility metrics - how your content appears in AI search results like ChatGPT, Perplexity, etc. Use site_id to filter to a specific site (recommended), or omit for aggregated data across all sites.
get_alerts
ChatGPTGet AI visibility alerts - notifications about changes in your AI search presence.
get_atomization
ChatGPTGet a derived format’s status, content and assets.
get_audit
ChatGPTGet details of a specific audit, including summary statistics and optionally page-level data. IMPORTANT: Each audit is scoped to a single site. Never compare metrics between audits from different domains.
get_auto_optimization_status
ChatGPTGet auto-optimization (watchdog) status for a site. Shows decay detection settings, pending auto-applies, and content health trends.
get_brief
ChatGPTGet a brief: outline, research data, evidence budget. facts returns its claim ledger.
get_brief_status
ChatGPTCheck the generation status of a brief. Useful for tracking briefs that are being researched or generated.
get_cannibalization
ChatGPTDetect pages competing for the same keywords. Shows keyword groups with conflicting pages and their positions. Requires an audit_id — get it from list_audits or get_audit.
get_citation_formula
ChatGPTGet the top content moves linked to higher AI search citation rates in your industry. Returns a plain-language recommendation (or use flavor=full for the ranked list of all moves). Some industries may have no recommendation yet if the data is still maturing.
get_cms_import_status
ChatGPTCheck the status of a CMS bulk import job. Shows posts queued, succeeded, failed, and skipped counts.
get_competitive_analysis
ChatGPTGet details of a competitive analysis, including rankings, competitor data, gap analysis, and opportunity score.
get_competitors
ChatGPTGet AI visibility competitors - domains that appear alongside your content in AI search results.
get_content
ChatGPTGet details of a specific content item, including its full body text.
get_content_gaps
ChatGPTGet content gap opportunities - topics your competitors rank for that you don't.
get_content_status
ChatGPTCheck the generation status and progress of a content item. Useful for tracking content that is currently being generated.
get_content_summary
ChatGPTContent counts grouped by status (draft, generating, review, published, archived). Prefer over list_content for a per-status overview.
get_continuation_context
ChatGPTStart from a Frase run link: pass runId and follow returned agentGuidance. Summary explains remaining work; draft/source return exact paged bodies.
get_crawler_logs
ChatGPTView AI bot crawl activity on your sites - see which AI platforms are crawling your content.
get_delivery_token
ChatGPTReveal the current live CMS credential without rotating it; only on explicit user request. If revoked, use rotate_delivery_token.
get_gsc_overview
ChatGPTGoogle Search Console overview for a site (clicks, impressions, CTR, avg position) vs the previous equivalent period.
get_gsc_pages
ChatGPTGet top performing pages from Google Search Console for a site.
get_gsc_queries
ChatGPTGet top search queries from Google Search Console for a site.
get_industry_benchmark
ChatGPTCompare your site/org to industry benchmarks (citation rates, Geo score, share-of-voice) across AI search platforms.
get_insights
ChatGPTGet AI visibility insights - actionable recommendations based on your AI search data.
get_job_status
ChatGPTCheck the status of an async job (audit, research, content generation, brief outline, optimization). Specify the type for faster lookup, or omit to search all types.
get_link_graph
ChatGPTGet internal link structure analysis for a specific page — inbound/outbound links, link depth, and authority metrics. Requires a page_id — get it from the pages list in get_audit.
get_monitoring_status
ChatGPTGet the current Content Guard monitoring status for an article — includes quota, CMS/GSC connection health, pending review state. Use after toggle or before advising a user on whether to enable Guard.
get_next_actions
ChatGPTWhat to do now on a site, ranked across opportunities, site health, analytics, optimizations and AI visibility; each item names the next tool.
get_opportunity
ChatGPTGet opportunity details with a full scoring breakdown (impact, effort, speed, strategic value), the detection methodology, and any competitor gaps.
get_optimization
ChatGPTGet details of an optimization session, including all suggestions.
get_optimization_insights
ChatGPTLearning data from optimization outcomes showing which optimization types work best.
get_playbook
ChatGPTGet details of a specific playbook, including all step definitions. Use list_playbooks first to find available playbook IDs.
get_playbook_run_status
ChatGPTGet the current status and step results of a playbook run. Requires both playbook_id and run_id because the API uses nested routing (/playbooks/:id/runs/:runId).
get_prompt
ChatGPTGet details of a specific AI visibility prompt, including the latest search results.
get_research
ChatGPTGet details of a specific research session, including findings, sources, and type-specific structured data.
get_rule_set
ChatGPTGet details of a specific rule set, including all its individual rules. Use list_rule_sets first to find available rule set IDs.
get_search_intent
ChatGPTAnalyze the search intent behind a keyword. Returns intent classification and content recommendations.
get_site_health
ChatGPTGet overall site health score, issue counts by severity, and page statistics. Use this before diving into specific issues.
get_template
ChatGPTGet full details of a specific content template, including all section definitions, boilerplate blocks, and field defaults. Use list_templates first to find available template IDs.
get_usage
ChatGPTCheck remaining quota: what each pool has used, its limit, when it refills, and what has recently been refused. Call before large batches to pace work, or after a 429 to see why.
get_webhook
ChatGPTGet details of a specific webhook.
get_workspace_context
ChatGPTVerify the signed-in user and workspace before continuing work.
import_cms_posts
ChatGPTAsync bulk import of CMS posts (max 100). Returns a job ID; poll get_cms_import_status for completion.
import_content
ChatGPTImport an article written outside Frase as an ARTICLE IN THE APP, scored and optimizable — not a CMS post (for that use write_cms_post). Frase does not generate it. Supply body (markdown or HTML) or source_url, not both. Costs one article credit. Returns the content id and editor URL; set target_keywords or the SEO score is capped.
list_audits
ChatGPTList site audits (SEO, content-quality, and technical issues). Each audit is scoped to one site — evaluate independently, don't compare across domains.
list_briefs
ChatGPTList content briefs in your account. Briefs contain research, outlines, and settings for generating content.
list_clusters
ChatGPTList topic clusters. Each cluster has a pillar topic and supporting content pieces organized around it.
list_cms_connections
ChatGPTList each CMS platform's connection status for a site (Frase CMS, WordPress, Webflow, Sanity, Wix).
list_cms_posts
ChatGPTList/search a site's CMS posts (paginated). Filter by status, type, category/tag/author slug, updated_since; q = ranked full-text search; sort=demand = visitor-question demand.
list_commitments
ChatGPTList workspace commitments and remaining criteria.
list_competitive_analyses
ChatGPTList competitive page analyses. Each analysis compares your page against competitors to find content gaps and optimization opportunities.
list_content
ChatGPTList content items, filtered by status or site. For only Content Guard guarded content, use list_guarded_content. status 'archived' lists trashed items.
list_guarded_content
ChatGPTList content under Content Guard monitoring (guarded / monitored / watched articles). Same as list_content with is_monitored=true.
list_opportunities
ChatGPTGet unified content opportunities scored by Impact (35%), Effort (25%), Speed (20%), and Strategic value (20%). Views: quick-wins (low effort, proven demand), growth (medium effort, validated gaps), strategic (high effort, high reward).
list_optimizations
ChatGPTList content optimization sessions; each holds suggestions to improve content.
list_performance_alerts
ChatGPTList performance alerts such as traffic drops, ranking changes, and other significant events.
list_playbooks
ChatGPTList all available content playbooks. Playbooks are multi-step automated workflows for content creation (research, brief, generate, review, quality check).
list_prompts
ChatGPTList AI visibility prompts you're tracking. Prompts are search queries that AI tools might use.
list_research
ChatGPTList research sessions in your account. Research provides AI-powered insights on topics.
list_rule_sets
ChatGPTList all available content rule sets. Rule sets define quality, style, and compliance rules that content can be evaluated against.
list_runs
ChatGPTList workspace citation runs, including standalone work.
list_sites
ChatGPTList all sites in your Frase account. Sites are domains you've connected for SEO tracking and content optimization.
list_templates
ChatGPTList content templates (outline headings, word counts, boilerplate, field defaults). Optionally filter by content type.
list_trash
ChatGPTList trashed/deleted content items. Returns content that has been soft-deleted (moved to trash).
list_webhooks
ChatGPTList all webhooks configured for your account. Webhooks send HTTP notifications when events occur.
provide_playbook_input
ChatGPTResume a paused private Frase workflow with human input. Later steps may create records or auto-apply content changes.
publish_content
ChatGPTPublish or unschedule content on a connected CMS. Check connections first with list_cms_connections.
regenerate_content
ChatGPTAsync regenerate/improve content. No instructions: full regen from brief (~2-5 min; poll get_content_status). With instructions: AI rewrite (~30-60s; check improvingStatus via get_content). Rewrites may change length - say 'maintain word count' to keep it.
rehost_cms_media
ChatGPTRehost an external https image onto Frase-hosted storage for FraseCMS content (SSRF-guarded), returning a stable hosted URL so published content never hotlinks a third-party image that may move or rate-limit.
release_continuation
ChatGPTRelease the run claim, retaining saved work and workspace access. Does not restart paid work.
republish_content
ChatGPTAccept a suggestion application and re-publish to its CMS in place (no duplicates). Content-editor role. Failure returns a typed code (UNAUTHORIZED, RATE_LIMITED, TIMEOUT, NO_EXTERNAL_POST_ID, UPDATE_FAILED, REMOTE_POST_MISSING, REMOTE_CONTENT_CHANGED, CONCURRENT_EDIT, COMMIT_FAILED, RULES_BLOCKED, UNKNOWN). REMOTE_CONTENT_CHANGED means the CMS copy is newer - do NOT retry; the user can review and overwrite from the Guard tab.
rescore_content
ChatGPTRecalculate SEO, GEO, and EEAT scores for a content item. Costs one API request, plus a scoring model pass if the body changed (cached otherwise). Much cheaper than a full optimization, but not free: do not loop it.
resolve_alert
ChatGPTMark a performance alert as resolved, optionally with a resolution note.
restore_content
ChatGPTRestore a trashed (soft-deleted) content item. Content can be restored within 30 days of deletion. Use list_content with status 'archived' to find trashed items.
rotate_delivery_token
ChatGPTRotate a site's FraseCMS delivery token: invalidates every previously-issued token for the site and returns the new one.
run_playbook
ChatGPTStart a private Frase workflow that may create research, briefs, articles, images, or optimizations and auto-apply content changes. Returns a run ID.
save_continuation_result
ChatGPTSave the full draft, leaving live content unchanged. expectedVersion is decisionVersion. New requestId per change; identical inputs for retries. bodyHash pins reads; requestHash identifies retries.
search_locations
ChatGPTSearch for valid location names for use with start_competitive_analysis. Type a city or region name to find the exact location_name value. Tip: append a 2-letter country code after a comma to narrow results (e.g., 'Birm, US').
set_cluster_pillar
ChatGPTMake a content item (not a brief; already assigned via assign_to_cluster) the pillar of a topic cluster. Replaces any sitting pillar, which stays as a supporting piece.
set_source_decision
ChatGPTVouch for a source, or take one out. Use after get_brief reports a source needing attention. A decision is about a (claim, source) PAIR, not a URL: the same page can hold up one claim and not another, so claim must be the claim text exactly as the brief carries it. human_verified says the page supports the claim and survives re-running the research; removed drops the link and keeps the claim. To swap one page for another, pass the URL the brief already carries as source_url and the new one as replacement_url — the decision is always recorded against the URL the brief has. Only say human_verified if you have actually read the page — it outranks every automated check, so a guess here is worse than leaving the source unverified.
start_audit
ChatGPTStart a site audit (crawls for SEO, content-quality, and technical issues). Async: poll get_job_status with the returned id.
start_competitive_analysis
ChatGPTStart a competitive page analysis (content gaps, missing topics, optimization opportunities). Async: poll get_competitive_analysis with the returned id for results.
start_optimization
ChatGPTStart an optimization analysis for a piece of content. Provide EXACTLY ONE of content_id (UUID) or content_name. If multiple docs share the name, the response lists candidates — retry with a content_id.
start_research
ChatGPTStart a research session (keywords, SERP, gaps, and evidence run in parallel). Async: returns immediately — poll get_job_status (type: research), then get_research for results.
submit_continuation_for_review
ChatGPTSubmit verified draft for checks and staff review; may incur review usage. Never approves/publishes. Follow agentGuidance, then release.
suggest_clusters
ChatGPTGet AI-powered cluster suggestions based on your existing content and keyword data. Suggests pillar topics and supporting articles.
toggle_auto_optimization
ChatGPTEnable or disable auto-optimization for a site. When enabled, the watchdog monitors content for decay (age, traffic trend, ranking trend, competitor activity) and auto-applies safe optimization suggestions.
toggle_content_monitoring
ChatGPTEnable or disable Content Guard monitoring for an article. Enabling needs a live page: the stored URL, or one the server recovers (CMS inventory; FraseCMS re-derivation when a published post + domain exist). Quota-checked per plan. Needs write:content scope.
update_brief
ChatGPTUpdate a brief's metadata/outline; or ONE section: section_number + expected_updated_at (get_brief's; null if null); 409 = re-read, retry.
update_content
ChatGPTUpdate a content item's title, body, status, or meta tags. To archive/trash, use delete_content instead.
update_continuation
ChatGPTRenew a claim and record progress or blockers in Frase.
update_prompt
ChatGPTUpdate an AI visibility prompt's status, frequency, platforms, or brand variants.
update_rule
ChatGPTUpdate a rule's name, severity, config, description, or fix_hint (rule IDs via get_rule_set).
write_cms_post
ChatGPTCreate or update a CMS post. action=create requires site_id, title, content (HTML). action=update requires post_id; omitted fields stay unchanged, [] clears array fields. Writes default to agent_authored=true (pass false for human-authored). Publishing is rules-gated; force overrides warning-only refusals.
write_webhook
ChatGPTCreate or update a webhook sending Frase events to an external URL. create → requires url, events, name; returns a one-time signing secret. update → requires id.
analyze_competitors
Claudeanalyze_serp
Claudeapply_optimization
Claudeapply_template
Claudeassign_to_cluster
Claudeaudit_page
Claudebatch_atomize
Claudebulk_cms_posts
Claudecms_post
Claudecreate_atomization
Claudecreate_brief
Claudecreate_cluster
Claudecreate_from_opportunity
Claudecreate_prompt
Claudecreate_rule
Claudecreate_rule_set
Claudecreate_site
Claudecreate_template
Claudecreate_webhook
Claudedelete_competitive_analysis
Claudedelete_content
Claudedelete_research
Claudedelete_rule
Claudedelete_webhook
Claudedismiss_optimization
Claudeevaluate_rules
Claudeexport_atomization
Claudeexport_audit
Claudeexport_brief
Claudeexport_content
Claudeexport_research
Claudegenerate_brief_from_analysis
Claudegenerate_content
Claudeget_ai_visibility
Claudeget_alerts
Claudeget_atomization
Claudeget_audit
Claudeget_auto_optimization_status
Claudeget_brief
Claudeget_brief_status
Claudeget_cannibalization
Claudeget_citation_formula
Claudeget_cms_import_status
Claudeget_competitive_analysis
Claudeget_competitors
Claudeget_content
Claudeget_content_gaps
Claudeget_content_status
Claudeget_content_summary
Claudeget_crawler_logs
Claudeget_delivery_token
Claudeget_gsc_overview
Claudeget_gsc_pages
Claudeget_gsc_queries
Claudeget_industry_benchmark
Claudeget_insights
Claudeget_job_status
Claudeget_link_graph
Claudeget_monitoring_status
Claudeget_opportunity
Claudeget_optimization
Claudeget_optimization_insights
Claudeget_playbook
Claudeget_playbook_run_status
Claudeget_prompt
Claudeget_research
Claudeget_rule_set
Claudeget_search_intent
Claudeget_site_health
Claudeget_template
Claudeget_webhook
Claudeimport_cms_posts
Claudelist_audits
Claudelist_briefs
Claudelist_clusters
Claudelist_cms_connections
Claudelist_cms_posts
Claudelist_competitive_analyses
Claudelist_content
Claudelist_guarded_content
Claudelist_opportunities
Claudelist_optimizations
Claudelist_performance_alerts
Claudelist_playbooks
Claudelist_prompts
Claudelist_research
Claudelist_rule_sets
Claudelist_sites
Claudelist_templates
Claudelist_trash
Claudelist_webhooks
Claudeprovide_playbook_input
Claudepublish_content
Clauderegenerate_content
Clauderehost_cms_media
Clauderepublish_content
Clauderescore_content
Clauderesolve_alert
Clauderestore_content
Clauderotate_delivery_token
Clauderun_playbook
Claudesearch_locations
Claudestart_audit
Claudestart_competitive_analysis
Claudestart_optimization
Claudestart_research
Claudesuggest_clusters
Claudetoggle_auto_optimization
Claudetoggle_content_monitoring
Claudeupdate_brief
Claudeupdate_content
Claudeupdate_prompt
Claudeupdate_rule
Claudeupdate_webhook
Claudewrite_cms_post
Claude