canonical: https://jentic.com/apis/api.adform.com/adform

# Adform Seller Campaigns API

The Adform Seller Campaigns API lets sell-side ad operations teams manage direct-sold campaigns and their line items inside the Adform supply-side platform. The five endpoints cover listing, creating, updating, and deleting campaigns at /, plus retrieving a single campaign at /{id}. It is the programmatic equivalent of the Adform UI's Seller Campaigns module, intended for publishers automating booking ingestion from order management systems. Useful when a publisher wants to bridge a CRM-style booking tool with the Adform stack without manual data entry.

## For AI agents

Create, update, list, and delete sell-side direct-sold campaigns inside Adform's supply-side platform.

## Scope

Does not handle ad creative trafficking, demand-side buying, or post-campaign reporting - use for sell-side direct-sold campaign CRUD only.

## Capabilities

- List all seller campaigns currently configured for the authenticated publisher account via GET /
- Create a new direct-sold campaign with targeting and pacing through POST /
- Retrieve a single campaign by id with GET /{id}
- Update a campaign's name, dates, or pacing parameters via PUT /{id}
- Remove a campaign from the seller workspace using DELETE /{id}

## Use cases

### Automated booking ingestion from an order management system

When a publisher's sales team confirms a direct-sold deal in a CRM or order management system, an integration job calls POST / on the Adform Seller Campaigns API to create the matching campaign with pacing and targeting parameters. PUT /{id} keeps the campaign in sync if the booking changes. This removes manual re-entry into the Adform UI and shortens the lead time between deal closed and ad live.

Example prompt: On a CRM 'deal won' webhook, call POST / with the campaign name, advertiser, start/end dates, and budget from the deal payload.

### Campaign reconciliation and cleanup

Run a nightly reconciliation job that calls GET / to list all seller campaigns, compares them against the canonical list in the order management system, and either updates drifted records via PUT /{id} or removes stale ones via DELETE /{id}. Keeps the Adform workspace tidy and prevents over-delivery on closed bookings.

Example prompt: Call GET / to list all campaigns, diff against the OMS feed, and DELETE /{id} for any campaign whose OMS record is closed.

### Campaign reporting front end

Build an internal dashboard for ad ops by polling GET / for the campaign list and GET /{id} for each campaign's pacing configuration. Combined with downstream Adform reporting, this gives the team a single view of which direct-sold deals are live and how their pacing is configured. Replaces context-switching between the Adform UI and the booking spreadsheet.

Example prompt: Call GET / to list campaigns, then GET /{id} for each, and render a table of campaign id, advertiser, dates, and pacing mode.

### Agent integration via Jentic

Give an ad-ops agent CRUD tools over Adform seller campaigns through Jentic. The agent receives the five operation schemas at /, /{id} and can answer 'create a campaign for advertiser X with budget Y' or 'pause campaign id 1234' in a single tool call. No client SDK to maintain when the Adform schema changes.

Example prompt: Search Jentic for 'create Adform seller campaign', load POST /, and execute it with the payload supplied by the user.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | / | List all seller campaigns |
| POST | / | Create a new seller campaign |
| GET | /{id} | Retrieve a single campaign by id |
| PUT | /{id} | Update an existing campaign |
| DELETE | /{id} | Delete a campaign |

## Key resources

- **Campaigns** — List, create, retrieve, update, and delete direct-sold seller campaigns

## Why Jentic

- **Setup:** Wiring the Adform Seller Campaigns API by hand means targeting the v1 seller-campaigns host, since the spec declares no security scheme, and mapping the list, create, read, update, and delete routes yourself. Through Jentic you install once, import Adform from the API Directory, store any required credential once, and your agent calls it.
- **Permission scoping:** Adform puts the campaign id in the URL path (/{id}), so a rule can pin your agent to one campaign: it can read and update that campaign and nothing else. You choose the operations it may call, so campaign deletion is not included unless you add it.
- **Credential handling:** Any Adform credential is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'create an Adform seller campaign', and Jentic returns the matching operation with its request body schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **The Trade Desk API** — Demand-side ad-buying API for media buyers instead of sell-side campaign management
- **Criteo API** — Performance ad platform with retail and commerce-focused campaign management
- **Facebook Marketing API** — Social ad campaign management to combine with publisher-direct sales in Adform

## FAQ

### What authentication does the Adform Seller Campaigns API use?

The OpenAPI spec for this endpoint set does not declare a security scheme, but in production the wider Adform API requires OAuth 2.0 client credentials. Agents calling through Jentic configure Adform credentials once in your Jentic One instance and tokens are refreshed transparently before each call.

### Can I create direct-sold campaigns programmatically with this API?

Yes. POST / accepts a campaign payload (advertiser, dates, pacing) and returns the created campaign id. PUT /{id} edits the campaign in place. This is the programmatic equivalent of the Seller Campaigns section of the Adform UI and is intended for publishers automating booking flows.

### What are the rate limits for the Adform Seller Campaigns API?

Adform applies platform-wide rate limits in the low hundreds of requests per minute per token; the exact ceiling depends on your contract. Agents that bulk-sync hundreds of campaigns nightly should batch updates and respect 429 responses with exponential backoff.

### How do I create an Adform seller campaign through Jentic?

Search Jentic for 'create Adform seller campaign', load the POST / operation under api.adform.com, and execute it with the campaign object - name, advertiser, start and end date, and pacing settings. Capture the returned id for later updates.

### How do I list every campaign for reconciliation?

Call GET / with no parameters to retrieve the full list of seller campaigns in the workspace. Use GET /{id} to fetch the full configuration of any specific campaign for diffing against an order management system.

### Can I limit what my agent is allowed to do with the Adform Seller Campaigns API?

Yes. Because you run Jentic One yourself, you decide which of the five operations your agent may call and which credential it uses, so you can grant it GET / and GET /{id} to list and read campaigns while withholding POST /, PUT /{id}, and DELETE /{id}. Since Adform puts the campaign id in the URL path (/{id}), a rule can pin the agent to a single campaign, letting it read and update that one campaign and nothing else. Campaign deletion is only available if you explicitly add it to the agent's allowed operations.
