Build on Aktvator
Embed Aktvator's performance network directly into your product. Run verified campaigns, track attribution, receive real-time events, and trigger reward payouts — all through a clean REST API.
Base URL
https://api.aktvator.comAll endpoints are relative to this base. Use HTTPS only — HTTP requests are rejected.
Capabilities
Everything in the API
API Key auth
Generate scoped API keys from your organization dashboard. Every request authenticates with a bearer token — no OAuth dance required.
REST API
Full CRUD over campaigns, gigs, members, and wallets. Paginated lists, filter params, and predictable JSON responses throughout.
Attribution
Generate unique tracking links and shortcodes. Attach them to Aktvators so every conversion, referral, or activation is traceable back to the individual.
Event ingestion
Push custom conversion events from your backend. Aktvator matches them against active campaigns and queues reward evaluation automatically.
Webhooks
Subscribe to real-time events — campaign status changes, action verifications, reward payouts. Retry logic and delivery logs are built in.
Campaign reward rules
Programmatically configure reward tiers, eligibility criteria, and caps. Change rules at any time without interrupting live campaigns.
Authentication
API key bearer token
Every API request must include your organization API key as a bearer token in the Authorization header.
- →Keys are created per organization — go to Settings → API Keys in your seller dashboard.
- →The full token is shown only once at creation time. Store it in your secrets manager.
- →Keys can be given an expiry date and revoked at any time from the dashboard.
- →Requests without a valid key return
401 Unauthorized.
Authorization: Bearer ak_live_xxxxxxxxxxxxxxxxxxxxcurl https://api.aktvator.com/campaigns \
-H "Authorization: Bearer ak_live_xxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json"REST API
Core endpoints
All responses are JSON. Errors return a consistent shape with message and statusCode.
Campaigns
/campaignsList all campaigns for your organization./campaignsCreate a new campaign./campaigns/:idFetch a single campaign./campaigns/:id/performanceCampaign performance metrics./campaigns/:id/status/:statusUpdate campaign status (draft → active → paused → ended).Gigs
/gigsList gigs across your campaigns./gigsCreate a gig inside an existing campaign./gigs/:id/status/:statusPublish, pause, or close a gig.Organization
/organizations/:idFetch organization details./organizations/:idUpdate name, description, website./organizations/:id/walletCurrent wallet and available balance./organizations/:id/wallet/topupInitiate a wallet top-up (returns payment URL)./organizations/:id/membersList team members and roles./organizations/:id/membersInvite a new team member./organizations/:id/api-keysList API keys (tokens are not exposed after creation).Attribution
Tracking links & codes
Every Aktvator gets a unique attribution link or shortcode. When a customer converts through their link, Aktvator records the referral and queues reward evaluation.
- →Links — full redirect URLs that record a click before sending the customer to your page.
- →Codes — short alphanumeric codes your customers enter at checkout or sign-up.
- →Pass the code in your event ingestion payload to tie the conversion back to the Aktvator.
POST /attribution/links
Content-Type: application/json
{
"campaignId": "camp_xxxxxxxx",
"targetUrl": "https://yoursite.com/signup",
"aktvatorId": "aktv_xxxxxxxx"
}{
"id": "link_xxxxxxxx",
"shortUrl": "https://go.aktvator.com/abc123",
"targetUrl": "https://yoursite.com/signup",
"code": "ABC123"
}Event Ingestion
Push conversion events
When a conversion happens in your system — a sign-up, a purchase, a product activation — send the event to Aktvator. We match it against active reward rules and automatically evaluate payouts.
- →Include the
attributionCodeorattributionLinkIdto identify the Aktvator. - →
eventTypemust match the action type defined in your campaign gig. - →Include a unique
idempotencyKeyto prevent duplicate reward evaluation.
{
"eventType": "customer.signup",
"campaignId": "camp_xxxxxxxx",
"attributionCode": "ABC123",
"idempotencyKey": "order_9988776655",
"metadata": {
"customerId": "cust_12345",
"email": "customer@example.com",
"plan": "pro"
}
}{
"received": true,
"eventId": "evt_xxxxxxxxxxxxxxxx",
"status": "queued"
}Webhooks
Real-time event delivery
Register HTTPS endpoints to receive events as they happen. Aktvator retries failed deliveries with exponential back-off. Every attempt is logged — view them from the dashboard or API.
Register an endpoint
{
"name": "Production webhook",
"targetUrl": "https://yoursite.com/webhooks/aktvator",
"subscribedEvents": [
"action_attempt.verified",
"reward.paid",
"campaign.approved"
]
}Incoming payload shape
{
"id": "evt_xxxxxxxxxxxxxxxx",
"type": "action_attempt.verified",
"organizationId": "org_xxxxxxxx",
"createdAt": "2025-10-14T12:00:00.000Z",
"data": {
"actionAttemptId": "att_xxxxxxxx",
"aktvatorId": "aktv_xxxxxxxx",
"campaignId": "camp_xxxxxxxx",
"rewardAmount": 2500
}
}Available event types
campaign.createdA new campaign was created in your organization.campaign.approvedPlatform approved a campaign for the marketplace.action_attempt.submittedAn Aktvator submitted a new proof of work.action_attempt.verifiedA submission passed verification.action_attempt.rejectedA submission failed verification.reward.paidA reward was paid out to an Aktvator.member.invitedA user was invited to join your organization.wallet.creditedYour organization wallet was topped up.Quickstart
From zero to first event in 5 steps
Create an organization
Sign up on the seller dashboard and complete your profile. Your organization ID is the root identifier for all API calls.
Generate an API key
Go to Settings → API Keys, create a named key, and copy the token. It is shown once — store it securely.
Call the API
Include the key as a bearer token in every request header. The base URL is your environment's API root.
Register a webhook
POST your endpoint URL to /organizations/:id/webhook-endpoints and select the events you need.
Ingest events
From your backend, POST to /events/ingest with a standardised event body. Aktvator evaluates each event against live reward rules.
Rate limits
All endpoints are rate-limited per API key. Responses include standard rate limit headers. Exceeding the limit returns 429 Too Many Requests.
Errors
Every error returns a JSON body with statusCode, message, and optionally errors for validation failures.
Versioning
The current API is v1. Breaking changes will be versioned. You will receive advance notice via email and webhook before any breaking change deploys.
Ready to integrate?
Create an organization, generate an API key, and start sending events. Reach out if you need a custom integration or want to walk through the API with our team.