Your first application typically arrives within 3 hrs.

Solutions

For staffing agencies
Logistics & transport Warehousing & fulfillment Manufacturing Construction Skilled trades

Integrations

API platform
MCP server API reference
Pricing

Resources

Blog
Security & compliance Erika vs job portals Erika vs marketing agencies
Find a job
Book a demo Log in

Auto-Campaign API

Launch hiring campaigns from your own product.

For staffing agencies, gig platforms, job boards and recruiting software. Send one request with a job and a budget, and Erika builds the campaign and launches it on Facebook and Instagram.

One API key · async builds · signed webhooks

Three ways in

Choose how to connect to Erika.

Use the MCP server from an AI client, launch whole campaigns with one call, or work with the ATS over REST. One API key covers all three.

01

MCP server

Let Claude Code or any MCP client create campaigns and draft the ads. A person reviews and launches them in the Erika studio.

02

Campaign Build API

One POST with a job and a budget. Erika creates the role, makes the ads and launches the campaign, then reports back.

03

REST API

Jobs, candidates, applications, pipeline templates and webhooks of Erika's ATS, described in a public OpenAPI spec.

Who it's for

An API for high-volume hiring.

If you open hundreds of roles a month, you don't want a creative studio, you want an API. Erika turns every requisition into a running video campaign, automatically.

Staffing & recruiting agencies

Fire one build per client requisition. Pass your job ID, client and brand through as metadata and route every result back automatically.

Gig & on-demand platforms

Constant, high-volume demand for drivers, couriers and shift workers. Spin up a localized campaign the moment a market runs short on supply.

Recruiting software & ATS

Embed Erika behind your product. Your customers press “promote” and a full video campaign goes live, no ad accounts for them to manage.

Job boards & marketplaces

Add paid-social distribution to every listing through a single call, with creative and ad spend handled for you.

How it works

Create a campaign with one API request.

The build runs in the background, generating video takes a few minutes. You get a build ID instantly, then poll the status URL or wait for a signed webhook when it's done.

01

Send the job and budget

POST a job description (or an existing job ID) and a total budget. Location and language are inferred when you don't pass them.

02

Erika prepares the campaign

It creates the role, writes the ad scripts, and generates reference images and vertical videos, AI avatars with local-language voiceovers.

03

Ads go live on Facebook & Instagram

Erika assembles the campaign and pushes it live on Facebook & Instagram with native lead forms, all funded from your single budget.

04

Get the campaign details

Poll the status URL or receive a signed webhook on completion, with your own metadata echoed back so you can route it in your systems.

One endpoint

Create your first campaign.

Authenticate with one API key in the X-Api-Key header. The call returns 202 immediately with a build ID and a status URL, production runs in the background.

  • Required: budget, duration in days, an idempotency key, and either a job description or an existing job ID.
  • Budget in credits, USD or EUR. City, country and language are inferred when you leave them out.
  • This call launches the campaign and spends the budget.
Request
curl -X POST https://app.erikawork.com/api/v1/campaign-builds \
  -H "X-Api-Key: ek_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "jobDescription": "Hiring warehouse operators in Brno, CZ. Day shifts, no experience required, immediate start.",
    "budget": 6000,
    "budgetCurrency": "CREDITS",
    "duration": 7,
    "metadata": {
      "externalJobId": "REQ-4821",
      "client": "Acme Staffing"
    },
    "callbackUrl": "https://your-app.com/hooks/erika",
    "idempotencyKey": "build-2026-10-20-001"
  }'
Response · 202 Accepted
{
  "success": true,
  "data": {
    "buildId": "b1f2e3d4-...",
    "status": "queued",
    "statusUrl": "https://app.erikawork.com/api/v1/campaign-builds/b1f2e3d4-...",
    "webhookSecret": "whsec_… (shown once, store it)"
  }
}
MCP server

Create campaigns from Claude Code or another MCP client.

The MCP server creates and edits campaign drafts, writes scripts and generates the ads. Launching stays with a person: tools return a studio link to review and launch.

  • Streamable HTTP endpoint, authenticated with the same X-Api-Key header.
  • Tools only. The tool list matches the permissions on your key.
  • ATS tools for jobs, candidates and applications, with no delete or bulk import.
  • One tool launches on its own: startAutonomousCampaignBuild uses the Campaign Build API and spends the budget, so ask the person first.
Add it to Claude Code
claude mcp add erika --transport http https://app.erikawork.com/api/v1/mcp \
  --header "X-Api-Key: ek_live_YOUR_KEY"
Recommended flow
createCampaign
→ updateCampaignSettings   (budget, duration, location, language,
                            screening questions)
→ recommendBudget
→ getCampaign              (read the slot plan)
→ createCreative           (one per slot)
→ generateReferenceImage
→ generateVideo            (async, about 3–6 min)
→ getCreativeStatus        (poll until ready)
→ approveCreative
→ checkLaunchReadiness
→ a person opens studioUrl and launches
Built for scale

Built for production use.

Idempotent by design

Every build takes a unique idempotency key. Retry with the same key and you get the same build back, never a second campaign, never double spend.

One budget for the campaign

One number covers everything. Part funds the AI video production; the rest funds Meta ad spend. No separate caps to manage.

Pass along your metadata

Attach up to 20 key/value pairs, your job ID, client, brand. Erika stores them verbatim and returns them on the status endpoint and the completion webhook.

Signed webhooks

Give a callbackUrl and Erika posts a signed result on completion or failure. Verify the HMAC-SHA256 signature with the secret from the create response.

Check campaign status

Builds move queued → running → completed (or failed), with a step field showing the current phase the whole way through.

Structured errors

Stable codes, INSUFFICIENT_BUDGET, INSUFFICIENT_CREDITS, RATE_LIMITED, so your integration can react programmatically, not parse prose.

Developer questions

How do we authenticate?
Create an API key in the Erika app under Settings, API Keys, and send it in the X-Api-Key header on every request. Bearer tokens are not supported. Keep the key in server-side secrets.
Which permissions does a key need?
Campaign tools and the Campaign Build API need the Auto Campaign API permission at Manage level. A View-level key gets read-only tools. ATS reads and writes need the Jobs and Candidates permissions.
Does the MCP server launch campaigns?
Not by default. The tools prepare the campaign draft and the ads, then return a studio link where a person launches the campaign. Only one tool can launch on its own: startAutonomousCampaignBuild. It uses the Campaign Build API, which creates and launches the whole campaign in one step and spends the budget. The assistant should ask you before using it.
How long does a build take?
The call returns 202 straight away. Each video usually takes 3 to 6 minutes to generate. Follow progress on the status URL or wait for the signed webhook.
What does the API cost?
API access is part of the paid plans. The Campaign API and webhooks are included from the Growth plan, and builds spend credits from your plan. See pricing.

Add hiring campaigns to your product.

Create an API key with the Auto-Campaign permission and fire your first build today.