One advertising API for your code and your agents

The REST API v1 and the MCP server run off the same vk_live_… key and the same set of scopes: 31 tools for an assistant and endpoints for campaigns, analytics, Meta leads and rules. A key can be issued read-only, and any write without its scope answers 403.

Footage recorded in the production Valkiria workspace. Demo data, real interface.

01What hurts

Why an advertising integration costs more than it looks

Where budget leaksleak found by the audit
GoogleMetaTikTokLinkedInMicrosoft
Illustration, not account data. Coral is the share an audit typically flags; the dotted line is spend after the approved plan.
  1. A homemade wrapper per platform

    Google Ads and Meta speak different languages: their own fields, statuses and limits. The shim written for one report outlives the report it was written for.

  2. The assistant has nowhere to plug in

    Claude or ChatGPT can reason about campaigns perfectly well, but it has neither access nor boundaries — the usual choice is a key to everything or nothing.

  3. The key everyone forgot about

    A token sits in an environment variable with no expiry, no scope and no trail: nobody knows who uses it, or what happens the day it leaks.

Scroll to see it work

API & MCP in four moves

  1. 01
    Scattered

    Without API & MCP, this work is spread across spreadsheets and tabs.

  2. 02
    Connected

    API & MCP reads the accounts and data you have already connected.

  3. 03
    Found

    It highlights what matters now, with the evidence behind it.

  4. 04
    Approved

    You decide what happens next: what applies on its own and what waits for approval.

02How it works

Three steps from key to first call

  1. 01

    Create the key

    In the developer keys section, give it a name, tick the scopes it needs and optionally an expiry in days. The key is shown once; only a SHA-256 hash is stored.

  2. 02

    Point a client at it

    REST calls go to /api/v1 with an Authorization: Bearer, x-api-key or apikey header. An assistant connects to the MCP endpoint /mcp with that same key.

  3. 03

    Work inside the key's scopes

    Only granted scopes resolve: without campaigns:write a write returns 403 insufficient_scope, and a campaign created this way lands as a draft, not live.

Recording of the real Valkiria workspace
Footage recorded in the production Valkiria workspace. Demo data, real interface.

03What you get

What the developer gets, and what the agent gets

31 MCP tools

Campaigns, analytics, Meta leads, rules, health scores and copy generation, exposed to an assistant as ordinary tools behind one key.

01

REST API v1

Campaigns with pause, resume, performance and a health score, plus analytics, Meta leads, an account overview and automation rules.

02

Nine access scopes

campaigns, analytics, rules, health, leads and ai:generate — a dashboard key can be strictly read-only without ever opening writes.

03

Keys you do not lose track of

A prefix in the list, a request counter, a last-used timestamp and an expiry; revoking one shuts it off across every integration at once.

04

An OpenAPI 3.0 spec

The schema is served at /api/docs/openapi.json with interactive docs beside it, so a client is generated rather than hand-written.

05

The same safety rules

Campaigns created through the API or MCP arrive as drafts, writes require a write scope, and live edits stay off until you switch them on for an account.

06

04In numbers

31
MCP tools available behind one developer key
9
access scopes that can be granted to a key individually
100
requests per minute per key by default
11ad platforms in the catalog
36product modules
10interface languages
46recorded product walkthroughs
OFFlive edits until you switch them on for an account

Who gets what

What each type of client takes away

What you connect

  • Ad accounts
  • Analytics
  • Website
  • Bank & invoices

What Valkiria does

VALKIRIA
  1. 01Collect spend and results
  2. 02Find leaks and gaps
  3. 03Propose next steps

What you get

  • Action plan
  • Owner report
  • Spend control
The sequence replays for each role: what you connect, what the evidence layer does, what you get back. Live edits stay off until you switch them on.

See every ad budget and what it returns, without opening five dashboards

01
One picture of all spend

Google, Meta, TikTok and the rest in one view, in your currency, with results next to costs.

02
A plan instead of a report

Findings turn into a prioritised list of next steps with the evidence behind each one.

03
Nothing spends without you

New campaigns are created paused. Edits to live campaigns stay off until you switch them on for an account; deletions and new spend always wait for approval.

Modules that do the work

05FAQ

Developer questions

Start now

Issue your first key in a minute

A key is created with the scopes and expiry you choose and revoked in one click. Start read-only and widen the scopes once you have watched it behave.

Drag to move. Alt + arrow keys move the button; Alt + Home resets its position.

Cookie Preferences

We use cookies to enhance your experience. Essential cookies are always active. You can manage optional cookies below.

Essential
Analytics
Marketing
Third-Party