Skip to main content
Every endpoint below is a POST under https://www.autoady.io/api/mcp/ with Bearer authentication. Expand a tool to inspect its inputs. Required fields and nested-field requirements come from the published OpenAPI 3.1 schema; its JSON document also contains full response definitions. Plan, role, account, and credit gates still apply at execution. Use requests and responses for account targeting, status handling, confirmation, and retry rules. Do not copy a publishing example into an unattended job before reviewing its real effect.

Response contracts

A normal result is { "source": "AutoAdy — AI Meta Ads Optimization (autoady.io)", "data": ... }. The result shape varies by operation. Account listing, for example, places an array at data.accounts; a durable generation result includes the state needed for follow-up calls. A validation error can be wrapped:
An authentication or request-limit error can be bare:
The first error above illustrates the shape, not a fixed message. HTTP 400 applies to invalid calculator and get-skill input. HTTP 207 represents partial provider writes; inspect the item outcomes. A disabled legacy emergency-recovery call returns HTTP 410 and is omitted from the offered catalog. Tool-specific response codes below are those advertised by the schema; unexpected server errors can also occur.

Account reads

POST /api/mcp/list-accountsList reachable ad accountsNo input fields. Send {}.Example JSON body:
Advertised response statuses: 200, 400, 401, 429, 503. See status meanings.Success data schema:
POST /api/mcp/resultsLive performance resultsExample JSON body:
Advertised response statuses: 200, 400, 401, 403, 404, 429, 503. See status meanings.
POST /api/mcp/healthAccount health scoreExample JSON body:
Advertised response statuses: 200, 400, 401, 403, 404, 429, 503. See status meanings.
POST /api/mcp/winner-insightsWhat the winning ads have in commonExample JSON body:
Advertised response statuses: 200, 400, 401, 403, 404, 429, 503. See status meanings.
POST /api/mcp/fatigue-alertsCreative fatigue alertsExample JSON body:
Advertised response statuses: 200, 400, 401, 403, 404, 429, 503. See status meanings.

Calculators and skills

POST /api/mcp/benchmarksIndustry benchmarksExample JSON body:
Advertised response statuses: 200, 400, 401, 429, 503. See status meanings.
POST /api/mcp/compareCompare your metrics to a benchmarkExample JSON body:
Advertised response statuses: 200, 400, 401, 429, 503. See status meanings.
POST /api/mcp/fatigueScore creative fatigue from your own numbersExample JSON body:
Advertised response statuses: 200, 400, 401, 429, 503. See status meanings.
POST /api/mcp/list-skillsList the published media-buying skillsNo input fields. Send {}.Example JSON body:
Advertised response statuses: 200, 400, 401, 429, 503. See status meanings.Success data schema:
POST /api/mcp/get-skillRead one skill in fullExample JSON body:
Advertised response statuses: 200, 400, 401, 429, 503. See status meanings.

Creative generation and publishing

POST /api/mcp/ad-copyGenerate Meta ad copySupply a URL or a description. Clear the URL when retrying with a manual description. Paid-plan API generation is separate from the public standalone tools.Additional schema alternatives:
Example JSON body:
Advertised response statuses: 200, 400, 401, 403, 422, 429, 502, 503. See status meanings.
POST /api/mcp/hooksGenerate scroll-stopping hooksSupply a URL or a description. Clear the URL when retrying with a manual description. Paid-plan API generation is separate from the public standalone tools.Additional schema alternatives:
Example JSON body:
Advertised response statuses: 200, 400, 401, 403, 422, 429, 502, 503. See status meanings.
POST /api/mcp/save-creativeSave images to the creative librarySaves images to the AutoAdy library. This free-plan exception does not publish to an ad account.Additional schema alternatives:
Example JSON body:
Advertised response statuses: 200, 400, 401, 429, 503. See status meanings.
POST /api/mcp/push-creativeCreate an ad in an existing ad setSupply exactly one image/video source and one website/lead-form destination. Public media URLs are required. The default is PAUSED; ACTIVE can start delivery and requires typed confirmation. Partial outcomes use HTTP 207.Additional schema alternatives:
Example JSON body (creates provider entities):
Advertised response statuses: 200, 207, 400, 401, 403, 404, 409, 429, 503. See status meanings.
POST /api/mcp/creative-dnaExtract a brand’s creative DNAExample JSON body:
Advertised response statuses: 200, 207, 400, 401, 403, 404, 409, 429, 503. See status meanings.
POST /api/mcp/analyze-winning-adBreak down why one ad is winningExample JSON body:
Advertised response statuses: 200, 400, 401, 403, 404, 429, 503. See status meanings.
POST /api/mcp/url-to-adsTurn a product URL into a batch of adsExample JSON body:
Advertised response statuses: 200, 207, 400, 401, 403, 404, 409, 429, 503. See status meanings.
POST /api/mcp/multiply-winnerGenerate variations of a winning creativeAdditional schema alternatives:
Example JSON body:
Advertised response statuses: 200, 207, 400, 401, 403, 404, 409, 429, 503. See status meanings.
POST /api/mcp/competitor-creativesGenerate creatives informed by a competitorAdditional schema alternatives:
Example JSON body:
Advertised response statuses: 200, 207, 400, 401, 403, 404, 409, 429, 503. See status meanings.
POST /api/mcp/creative-matrixGenerate an angle × hook × style matrixExample JSON body:
Advertised response statuses: 200, 207, 400, 401, 403, 404, 409, 429, 503. See status meanings.
POST /api/mcp/creative-loopConfigure and run the legacy creative-loop workflow. Automatic launch, graduation, and kill writes remain disabled; inspect the returned operation outcomes.Example JSON body:
Advertised response statuses: 200, 207, 400, 401, 403, 404, 409, 429, 503. See status meanings.

Connected-source queries

POST /api/mcp/integrations-get-statusRead one integration connection status, account, permissions and freshness.Advertised response statuses: 200, 400, 401, 429, 503. See status meanings.
POST /api/mcp/integrations-intelligence-reportBuild an evidence-backed CRM pipeline report from one to four imported connections.Advertised response statuses: 200, 400, 401, 429, 503. See status meanings.
POST /api/mcp/integrations-list-connectionsList read-only CRM and analytics connections with coverage and freshness.No input fields. Send {}.Advertised response statuses: 200, 400, 401, 429, 503. See status meanings.
POST /api/mcp/integrations-queryRun a bounded read-only query against a connected CRM or analytics source.Advertised response statuses: 200, 400, 401, 429, 503. See status meanings.

Briefs, generation, and experiments

POST /api/mcp/approve-creative-briefApprove a brief before media generation.Advertised response statuses: 200, 400, 401, 403, 404, 429, 503. See status meanings.
POST /api/mcp/approve-generation-artifactRecord a reviewer’s approval of one generated artifact by artifact_id, with an optional reason.Advertised response statuses: 200, 400, 401, 403, 404, 429, 503. See status meanings.
POST /api/mcp/approve-meta-test-planApprove an exact Meta test plan preview for preparation only.This prepares or approves a plan; it does not launch ads or spend.Advertised response statuses: 200, 400, 401, 403, 404, 429, 503. See status meanings.
POST /api/mcp/assess-experimentAssess an experiment by experiment_id: whether the recorded control and variant results are sufficient evidence to learn from, and what is missing if not.Advertised response statuses: 200, 400, 401, 403, 404, 429, 503. See status meanings.
POST /api/mcp/create-creative-briefCreate a versioned creative brief from approved research and brand context.The cited approved offer/claim versions must already exist and be authorized. This call cannot create or bypass their approval evidence.Advertised response statuses: 200, 400, 401, 403, 404, 429, 503. See status meanings.
POST /api/mcp/create-experimentRegister a creative experiment: control and variant references, objective, metric, audience, source, provider, a settled measurement window and attribution.Advertised response statuses: 200, 400, 401, 403, 404, 429, 503. See status meanings.
POST /api/mcp/edit-creative-briefChange a creative brief by version_id with a patch of the fields to replace.Advertised response statuses: 200, 400, 401, 403, 404, 429, 503. See status meanings.
POST /api/mcp/generate-from-briefGenerate a reviewable asset package from an approved brief.Advertised response statuses: 200, 400, 401, 403, 404, 429, 503. See status meanings.
POST /api/mcp/get-creative-briefRead one creative brief version by version_id, with the evidence it cites.Advertised response statuses: 200, 400, 401, 403, 404, 429, 503. See status meanings.
POST /api/mcp/generation-statusRead the durable generation run status.Advertised response statuses: 200, 400, 401, 403, 404, 429, 503. See status meanings.
POST /api/mcp/list-learningList experiments, results, interpretations and learning candidates for this account, or for one experiment when experiment_id is given.Advertised response statuses: 200, 400, 401, 403, 404, 429, 503. See status meanings.
POST /api/mcp/preview-meta-test-planPreview a Meta test plan without launching or spending.This prepares or approves a plan; it does not launch ads or spend.Advertised response statuses: 200, 400, 401, 403, 404, 429, 503. See status meanings.
POST /api/mcp/propose-learning-memoryPropose a learning from an experiment, with the text and the rationale behind it.Advertised response statuses: 200, 400, 401, 403, 404, 429, 503. See status meanings.
POST /api/mcp/record-experiment-resultRecord settled control or variant result facts.Advertised response statuses: 200, 400, 401, 403, 404, 429, 503. See status meanings.
POST /api/mcp/record-result-interpretationAttach a written interpretation to an experiment’s results, optionally naming the hypothesis.Advertised response statuses: 200, 400, 401, 403, 404, 429, 503. See status meanings.
POST /api/mcp/reject-generation-artifactRecord a reviewer’s rejection of one generated artifact by artifact_id, with an optional reason.Advertised response statuses: 200, 400, 401, 403, 404, 429, 503. See status meanings.
POST /api/mcp/resume-generationResume an interrupted generation run by its original idempotency_key.Advertised response statuses: 200, 400, 401, 403, 404, 429, 503. See status meanings.
POST /api/mcp/review-learning-memoryApprove or reject a proposed learning memory.Advertised response statuses: 200, 400, 401, 403, 404, 429, 503. See status meanings.
POST /api/mcp/revoke-creative-briefWithdraw approval from a creative brief version, with an optional reason.Advertised response statuses: 200, 400, 401, 403, 404, 429, 503. See status meanings.

Competitor monitoring

POST /api/mcp/capture-competitor-snapshotSearch the public Meta Ad Library by page id or search terms in one market and save what it returns as a competitor snapshot.Advertised response statuses: 200, 400, 401, 403, 404, 429, 503. See status meanings.
POST /api/mcp/create-competitor-change-routineCreate a scoped competitor change routine.Advertised response statuses: 200, 400, 401, 403, 404, 429, 503. See status meanings.
POST /api/mcp/dismiss-competitor-change-alertDismiss or restore a competitor change alert.Advertised response statuses: 200, 400, 401, 403, 404, 429, 503. See status meanings.
POST /api/mcp/find-novelty-candidatesCompare recent competitor observations against this account’s own creative history and return the concepts that are new rather than similar or duplicate, with citations.Advertised response statuses: 200, 400, 401, 403, 404, 429, 503. See status meanings.
POST /api/mcp/list-competitor-boardList the tracked competitor board: saved snapshots and change alerts, with filters and cursor paging.Advertised response statuses: 200, 400, 401, 403, 404, 429, 503. See status meanings.
POST /api/mcp/pause-competitor-change-routinePause a competitor monitoring routine by routine_id.Advertised response statuses: 200, 400, 401, 403, 404, 429, 503. See status meanings.
POST /api/mcp/refresh-competitor-change-routineRefresh a competitor routine and deduplicate alerts.Advertised response statuses: 200, 400, 401, 403, 404, 429, 503. See status meanings.
POST /api/mcp/resume-competitor-change-routineResume a paused competitor monitoring routine by routine_id, so it checks for changes on its cadence again.Advertised response statuses: 200, 400, 401, 403, 404, 429, 503. See status meanings.