API, imports and webhooks
CSV imports
Conversions columns: program, transaction_id, revision, status, commission, currency, occurred_at, sale_amount, sub_id, country, locale. Status is one of estimate, pending, approved, reversed, adjustment, paid. program is the program's name or its id at the network. sub_id is the tracking id the partner reports back.
Payout columns: program, payout_id, amount, currency, paid_at, statement_ref, allocations, where allocations look like TXN1:10.00;TXN2:5.50.
Signed webhooks
Integrations → New connection gives an address and a signing secret. Send POST with JSON {"event_id": "...", "type": "conversion" | "payout", "data": { same fields as the CSV }} and the header x-bapc-signature: t=<unix seconds>,v1=<hex HMAC-SHA256 of "<t>.<raw body>">. Older than five minutes is refused; each event_id counts once.
REST API
Pro (read-only) and Business (full) plans can make API keys in Settings. Send Authorization: Bearer ae_.... All addresses are under /v1/workspaces/{workspace}/: programs, policy-versions, offers, links, disclosures, channels, placements, creative-drafts, publication-jobs, emergency-stop, imports, conversions, commissions, payouts, reconciliation-exceptions, disputes, fx-rates, accounting-policy, reports/summary, intelligence, events and audit. Changes need an Idempotency-Key header; edits need expected_version. Errors are {"error": {"code", "message", "correlation_id", "details"}} with 401/403 (access), 409 (conflict), 422 (blocked by policy), 429 (rate limit).
Business events (affiliate.*.v1) are available at /v1/workspaces/{workspace}/events?after=… and on the BAPC Event Broker.