For Agents
Manage advertisers, campaigns, flights, creatives, ads, channels, sites, zones, priorities, segments, geo targeting, UserDB, and catalog data on Kevel's headless ad server through 65 X-API-Key endpoints, plus run ad decisions and reporting.
Use for: I want to create a new advertiser in Kevel, Set up a campaign and flight for an advertiser, Upload a creative and attach it to an existing flight, Run an ad decision request for a placement
Not supported: Does not handle creative production, ad copy generation, or programmatic media buying - use for managing and serving ads on Kevel's own ad server only.
The Kevel Ad Server API is the management surface for Kevel's headless ad-serving platform. The 65 endpoints span advertisers, campaigns, flights, creatives, ads, channels, sites, zones, priorities, segments, geo targeting, UserDB, and the catalog used for sponsored listings, plus the Decision and Reporting APIs that serve ads and pull performance data. Authentication is an X-API-Key header, and the base URL is https://api.kevel.co/v1. Together the endpoints let teams build a fully custom ad server - sponsored listings on a marketplace, in-app native ads, retail-media networks - without reusing the layouts and policies of a generic SSP.
Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Kevel Ad Server API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fkevel.com%2Fkevel" | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fkevel.com%2Fkevel" | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Kevel Ad Server API.
Create and update advertisers, campaigns, flights, and creatives that drive ad delivery
Set up sites, zones, channels, and priorities to control where and how ads serve
Run ad decisioning calls and queue or fetch reports through the Decision and Reporting APIs
Build audience segments and apply geo targeting to flights for relevance
Manage UserDB records to drive frequency capping and audience-based targeting
Maintain catalog entries that power sponsored-listing ads on marketplaces
Patterns agents use Kevel Ad Server API for, with concrete tasks.
★ Retail-Media Sponsored Listings
Run sponsored product listings on a retail marketplace by creating advertisers and campaigns in Kevel, attaching catalog-backed creatives, and serving them through the Decision API at request time. Reporting is pulled per advertiser through the report-queue endpoints. Most retail-media teams stand up a working sponsored-listings flow in a couple of weeks rather than building decisioning from scratch.
POST /advertiser to create the brand, POST /campaign and POST /flight under it, then call POST /api/v2 to serve a sponsored listing decision
Custom Native Ad Surface
Embed native ads directly inside an app or website using Kevel as the headless decision engine. The team owns rendering on the front end, while sites, zones, and priorities in Kevel control inventory and pacing. Ads, flights, and creatives can be managed by an internal ops tool that calls the management endpoints rather than logging into a UI.
Create a site and zone via POST /site and POST /zone, attach an ad with POST /ad to a flight, and call POST /api/v2 to render the ad in-app
Audience-Based Campaign Optimisation
Build audience segments in Kevel and assign them to flights so the Decision API only serves matching impressions. Combine segments with geo targeting and UserDB-backed frequency capping to keep delivery on the right cohort. Reporting via the queue endpoints surfaces which segments performed best so the next flight can iterate on the winners.
POST a new segment and update an existing flight to require that segment, then queue a report with POST /report/queue scoped to the flight
AI Agent Campaign Management
An AI agent that helps an ad-ops team manage campaigns uses Jentic to discover and call Kevel operations in sequence - list active flights, update budgets, queue reports, and surface performance summaries. Because the API is large and well-segmented by resource, the agent benefits from intent-based discovery rather than reading the entire spec. Jentic injects the X-API-Key per call.
Through Jentic, GET /campaign filtered by advertiser, then POST /report/queue to request a performance report and GET /report/queue/{queueId} to retrieve it
65 endpoints — the kevel ad server api is the management surface for kevel's headless ad-serving platform.
METHOD
PATH
DESCRIPTION
/advertiser
Create a new advertiser
/campaign
Create a new campaign
/api/v2
Run an ad decision request
/report/queue
Queue a new report
/report/queue/{queueId}
Retrieve a queued report by ID
/advertiser
List advertisers
/advertiser/{id}
Update an advertiser
/advertiser/{id}
Delete an advertiser
/advertiser
Create a new advertiser
/campaign
Create a new campaign
/api/v2
Run an ad decision request
/report/queue
Queue a new report
/report/queue/{queueId}
Retrieve a queued report by ID
/advertiser
List advertisers
/advertiser/{id}
Update an advertiser
/advertiser/{id}
Delete an advertiser
What agents get from Jentic-routed access to this vendor.
Setup
Wiring the Kevel Ad Server API by hand means learning its X-API-Key header, calling api.kevel.co/v1, and mapping advertisers, campaigns, and report queues to their shapes yourself. Through Jentic you install once, import the Kevel Ad Server API from the API Directory, store the API key once, and your agent calls it.
Permission scoping
Kevel puts the advertiser id in the URL path (/advertiser/{id}), so a rule can pin your agent to one advertiser for reads and updates. You choose the operations it may call, so a destructive one like deleting an advertiser is not included unless you add it.
Credential isolation
Your Kevel X-API-Key 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.
Intent-based discovery
Agents search Jentic by intent such as 'queue a Kevel report' or 'create an advertiser', and Jentic returns the matching Kevel operation with its input schema so the agent calls the right endpoint without navigating the full surface manually.
Alternatives and complements available in the Jentic catalogue.
Specific to using Kevel Ad Server API through Jentic.
What authentication does the Kevel Ad Server API use?
An X-API-Key header on every request. The key scopes calls to a single Kevel network. Through Jentic the X-API-Key is held in the encrypted vault and injected per call so an agent never sees the raw key.
Can I run an ad decision through the Kevel API?
Yes. POST /api/v2 is the Decision endpoint - it takes a request body describing the placements, user, and any targeting hints, and returns the ad to render. Pair it with the management endpoints (advertiser, campaign, flight, ad) to control what is eligible to serve.
What are the rate limits for the Kevel Ad Server API?
The OpenAPI spec does not publish a specific rate limit. The Decision API is built for high-throughput real-time use, while the management endpoints are for lower-volume ops work. If you receive HTTP 429 on management endpoints, batch updates and back off; for decisioning load use Kevel's regional endpoints to reduce latency rather than fighting limits.
How do I queue and retrieve a report through Jentic?
Search Jentic for 'queue a kevel report' to find POST /report/queue, load its schema, and execute with the report parameters. Then poll GET /report/queue/{queueId} until status is complete. The Jentic flow is pip install jentic, then client.search, client.load, and client.execute for each step.
Can I manage audience segments and geo targeting via the API?
Yes. The /segment endpoints create and update audience segments, and the geo-targeting endpoints attach geographic targeting to flights. Both feed the Decision API at request time so eligible ads are filtered to matching audiences and locations.
Is the Kevel Ad Server API suitable for self-serve advertiser tooling?
Yes - that is one of its main uses. The full advertiser, campaign, flight, creative, and report set can be wrapped in a self-serve UI so brands manage their own campaigns. Reporting is asynchronous via /report/queue, so the UI should poll for completion rather than blocking the user.
Can I limit what my agent is allowed to do with the Kevel Ad Server API?
Yes. Because you run Jentic One yourself, your own rules decide which Kevel operations and credentials the agent may use. Since the advertiser id sits in the URL path, such as /advertiser/{id}, you can pin the agent to a single advertiser for reads and updates like listing campaigns or updating flights. You also pick the exact operations it can call, so a destructive one like DELETE /advertiser/{id} stays out of reach unless you explicitly add it, and your X-API-Key is injected at execution time so the agent never sees it.
GET STARTED