Guides · Setup

Connect Outbrain Amplify to your AI agents — without giving them the token

Last updated:

In short

Outloop connects Outbrain Amplify to your AI agents using an Amplify API token stored in your Mac's Keychain — on an Outbrain account that already has partner-level API access.

Agents read and manage campaigns, budgets and promoted links while the token is injected host-side and redacted out of every response, audit line and log. Each client workspace is pinned to exactly one Outbrain marketer, and a request naming any other is refused before the token is read.

Read this first — Amplify API access is granted per partner, by request. If you cannot open your Amplify API Token page, your Outbrain account does not have API access yet. That is an Outbrain account permission, not an Outloop problem, and no setting in Outloop can grant it. Request it, then come back. Outbrain's own MCP server sits behind the same approval, so it is not a way around the gate. If you buy Outbrain inventory programmatically through DV360 rather than running a direct Amplify account, a direct Amplify integration is not the path you want — and DV360 is not covered by this guide.

Request Amplify API access →

Outloop's Outbrain Amplify panel stating that Amplify API access is granted per partner by request, noting DV360 as the alternative for programmatic buyers, and linking out to request API access.
Outloop states the commercial precondition before asking you for anything.
Summarize this setup guide with AI ChatGPTClaudePerplexity

What this gets you

Your agent works in Outbrain Amplify — reads campaigns, budgets and promoted links, and, once you enable it, writes them — and never sees the token. The token lives in your Mac's Keychain, is injected into each request host-side as OB-TOKEN-V1, and is redacted out of every response, audit line and log. The agent uses the credential's capability without ever seeing it.

One agency token can reach several marketers. Each client workspace is pinned to exactly one of them, and a request naming any other marketer is refused before the token is even read.

Before you start

The token lasts 30 days and nothing renews it. Only a person can generate another — there is no OAuth refresh on this connector. Outloop cannot mint a replacement, so when it expires the fix is always the same: generate a new token and rotate it in.
Generating a new token does not invalidate the old one. That is exactly what makes rotation safe: there is no cutover window where neither token works. Rotate first, then let the old one lapse.
Outloop never asks for your Outbrain password. Outbrain documents a /login endpoint that exchanges a password for a token. Outloop does not store Outbrain credentials and never calls it — and because that endpoint sits inside the API path Outloop is allowed to use, it is blocked by name, on every method.

1. Generate the token in Outbrain

Open your Amplify API Token page, enter your password there, and click generate. Copy the token — you will paste it into Outloop once.

Outbrain's own screens are not pictured here. The Amplify API Token page exists only on accounts with partner-level API access, so unlike an ordinary login block it may be unreachable for us as well as for you. Nothing on this page is mocked up or lifted from Outbrain marketing material — the Outbrain side is described in words, and every picture below is Outloop's own interface.
Outloop's setup help for Outbrain Amplify, explaining where the token comes from, that it lasts 30 days, and that generating a new token does not invalidate the old one.
Generate the token on your Amplify API Token page. It lasts 30 days, and generating a new one does not invalidate the old.

2. Add it in Outloop

In Outloop, open API Keys and pick Outbrain Amplify. Choose whether the token is dedicated to one workspace or shared across several — an agency token that serves multiple clients is the shared case — then paste it.

Outloop's Add an API key panel: a service picker, the note that the key is stored in the Keychain and never shown, and the choice between managing one workspace or ticking several to share the credential.
Shared is not the same as all — a shared token is used only by the workspaces you tick.
The empty Outbrain Amplify token field in Outloop with its Add button, captured with no token pasted.
The token goes straight to this Mac's Keychain. It is never shown again and never given to an agent.
Saving does not grant access. Outloop immediately runs one read-only check against Outbrain, and runtime access turns on only if it passes. Until then the connector sits at Stored · API bridge on · no proof yet.
Outloop's proof-gate callout explaining that access turns on only after a read-only check against the provider passes.
Saving stores the token. A passing read is what turns runtime access on.

3. Choose this workspace's marketer

Outbrain marketer ids are opaque strings that appear nowhere obvious in the Amplify interface. You do not have to go and find one. Press Find my Outbrain marketers — Outloop asks Outbrain which marketers your token can reach and lists them by name. Pick the one that belongs to this client.

Listing approves nothing. The workspace is bound only when you choose, and the pin summary then reads Outbrain marketer: <id> ✓ instead of not set.

Outloop's Outbrain marketer picker: the Find my Outbrain marketers button, a discovered marketer listed by name with a placeholder id and a mapped-here tag, and the explanation that requests naming another marketer are blocked before any credential is read. Marketer name, marketer id and workspace name are placeholders substituted before capture.
Outloop asks Outbrain which marketers the token reaches and lists them by name — so you never have to hunt for an opaque id. The names and id shown are placeholders.
Once pinned, that marketer is the client boundary. Requests naming another marketer are blocked (RESOURCE_ID_NOT_ALLOWED) before any credential is read. And because roughly half the Amplify API addresses campaigns, budgets and promoted links by bare id with no marketer in the request, Outloop verifies each object's owner against this marketer before the call is sent.

4. Confirm access is on

Re-run the access check. Once a marketer is pinned, the check moves to a marketer-scoped read, so it proves the thing that actually matters: not just that the token authenticates, but that it can reach this workspace's marketer.

Outloop showing a passed access check on a pinned Outbrain connector, with the runtime-verified API bridge badge.
A pinned connector that has passed reads Runtime verified · API bridge. Before a marketer is chosen, a passing check tells you the token works but that resource-scoped calls stay blocked.

The first safe proof

Two stages, and the second is the one that counts. Both returned HTTP 200 with secret_exposed: false against a real Outbrain account on 2026-09-02.

GET /amplify/v0.1/marketers/{marketer_id}/campaigns

decision:        allow
code:            OK
http_status:     200
secret_exposed:  false

marketer:        the one pinned to this workspace
returned:        live campaign data, token absent from the result

And the shape of a refusal, which is the more interesting receipt — nothing left this Mac:

GET /amplify/v0.1/marketers/{some_other_marketer}/campaigns

decision:        deny
code:            RESOURCE_ID_NOT_ALLOWED
http_status:     null      <- no Outbrain call was made at all
kc_operation:    null      <- the Keychain was never opened
secret_exposed:  false
Never run a write as part of an access check. A proof is a read. Pressing Find my Outbrain marketers is a control-plane call and is deliberately excluded from usage aggregates, so a setup click can never be mistaken for a runtime proof.

Full API capabilities

Every line below carries exactly one status. "Verified" means it was actually run through Outloop against the live Outbrain API and passed — it is never a product-level property.

Write actions

Budget changes are ordinary work. They move real money, and they are the most common write an agency performs — gating every one behind a prompt is the gate that gets switched off within a week. They run, and they are audited. Nothing in Outloop waits for a person once full API access is on.

Removal is the one capability control. DELETE membership gates removal, single and bulk. Bulk reach is stated in the path — a comma-separated id list — so the affected count rides the decision rather than being discovered afterwards.

The destructive-actions row on an Outloop key: destructive actions for delete and archive shown as enabled, with the control to disable them.
Removal is the one capability control — and the Amplify API has no restore method.
A 429 is not a refusal. Outbrain throttling is reported as an allow carrying the provider's own outcome, never as an Outloop denial. The retry delay comes from Outbrain's rate-limit-msec-left header, or is reported as unknown — Outbrain has published its per-marketer limit as 5, 10 and 30 per minute at different times, so Outloop does not invent a number.

What was tested, and what is not claimed

Against the real Outbrain API on 2026-09-02, on the installed 1.29.6 app:

And what this page deliberately does not claim:

Why say all this. A connector guide is only worth reading if its "verified" means something. This one is published because the read path and the client boundary were genuinely run — and everything that was not run is listed above rather than left for you to assume.

Outbrain's MCP server

Outbrain publishes an official Amplify MCP server at https://amplifymcp.outbrain.com/AmplifyMcp/mcp/ with bearer-token auth, covering campaign management and reporting. It is a real product and this guide does not disparage it. Outloop has not connected or tested it, so nothing about it is verified here.

Worth knowing: the MCP server requires the same partner API approval and the same personal access token. Outbrain's own setup instructions tell you to apply for API access and await approval first. It is not a way around the access gate.

Both paths need the same Outbrain partner approval. The difference is governance, not capability.
Area Amplify API through OutloopOfficial Outbrain Amplify MCP server
Provenance The Outbrain Amplify connector in Outloop, verified here against product 1.29.6. An official MCP server published by Outbrain at amplifymcp.outbrain.com.
Access precondition Partner-level Amplify API access, granted by Outbrain on request. The same partner API approval and the same personal access token. It is not a way around the gate.
Authentication One Amplify token per client, held in the macOS Keychain and injected host-side as OB-TOKEN-V1. A bearer token supplied to the MCP client as an environment variable.
Per-client scoping Each workspace is bound to exactly one Outbrain marketer, checked before the credential is read. Reach follows the token. There is no per-workspace marketer boundary.
Objects addressed by bare id Campaigns, budgets and promoted links have their owner verified against the pinned marketer before the call is sent. Governed by the MCP server, not by Outloop.
Credential handling The token never reaches the agent, the chat, your project files or your logs. Allowed responses carry secret_exposed: false. Not applicable here — no token of yours is held by Outloop on that path.
Audit trail One redacted line per attempt: workspace, service, action class, the resource addressed, and the capability that authorized it. Not applicable here.
Status here Reads verified Read path and the marketer boundary proven 2026-09-02. No write has been run. Official MCP exists Not connected here; nothing about it is verified in this guide.
Honesty note. Where the API through Outloop differs is that the request is bounded to one marketer per workspace before the credential is read, objects addressed by bare id have their owner verified against that marketer first, every call is audited, and the token never reaches the agent. That is a governance difference — not a claim that the API is more capable, and not a claim about how Outbrain's MCP server behaves.

When something is refused

What you see What it means What to do
CUSTOMER_RESOURCE_PIN_REQUIRED No Outbrain marketer is pinned to this workspace yet. Use Find my Outbrain marketers and pick one. Resource-scoped calls stay blocked until it is set.
RESOURCE_ID_NOT_ALLOWED The request named a marketer this workspace is not approved for. Nothing was sent, and the Keychain was never opened. Nothing to fix — this is the client boundary working.
OUTBRAIN_OBJECT_NOT_APPROVED A campaign, budget or promoted link whose owner is not the pinned marketer — or whose owner could not be determined. The target was never sent. "Cannot tell" is deliberately treated as "not yours". Check the object belongs to this client.
OUTBRAIN_LOGIN_BLOCKED Something tried to call Outbrain's /login endpoint. Outloop never does. Expected; no action.
DESTRUCTIVE_ACTION_BLOCKED Removal has been switched off for this workspace. That is a capability setting, not an approval queue. Nobody is being asked.
BACKEND_AUTH_FAILED with HTTP 401 Outbrain rejected the token — expired after 30 days, revoked, or the account lacks Amplify API access. Generate a new token and rotate it in. Outloop cannot mint one.
HTTP 404 on an object you can see in Amplify It usually belongs to a different marketer than the one pinned here. Also isolation working. Check which marketer owns it.

What keeps one client separate

Rotation. Because a new token does not invalidate the old one, rotate by generating the replacement first, pasting it into Outloop, confirming the access check still passes, and only then letting the previous token lapse. There is never a moment where the workspace has no working credential.

Stage honesty. Outloop is at controlled design-partner prep. This guide describes what was actually run and what the connector actually enforces — it makes no compliance or certification claim of any kind.

Official documentation

Setting up native advertising for more than one client? The Taboola Backstage guide follows the same shape — and unlike this one, its write path has been runtime-proven end to end. The reasoning behind the boundary itself is in agent API key management.

Outloop is available with guided onboarding for agency teams. Outloop is an independent tool and is not affiliated with or endorsed by Outbrain. Amplify API access is granted by Outbrain and does not come with Outloop. Outbrain and Amplify are trademarks of their respective owner.

Summarize this setup guide with AI ChatGPTClaudePerplexity

Stop handing Outbrain tokens to your agents

Connect approved access once, pin each client workspace to its own marketer, and let agents work across client systems without ever seeing the credential.

Frequently Asked Questions

Outbrain Amplify API + Outloop — FAQ