Skip to main content
Version: v2

Advertiser billing and funding API

The /performance-marketing/v2/billing endpoints use an advertiser dashboard bearer session and the resolved advertiser profile (advertiserId where the dashboard requires an owner selection). The balance is shared across survey and offer campaigns. These are account finance operations; inspect the exact amount and payment state in Campaign Studio before invoking a write.

Read and edit the billing profile​

Method and pathInputResponse
GET /billing/profileOptional advertiserId.Current billing profile.
PUT /billing/profileJSON profile fields; optional advertiserId.Updated profile.
GET /billing/balanceOptional advertiserId.Balance with available, reserved, and spent money fields.
GET /billing/fundingOptional advertiserId.{items} of up to 100 newest funding transactions.
GET /billing/allocationsOptional advertiserId.{items} of campaign allocations.
GET /billing/invoicesOptional advertiserId.{items} of up to 100 newest invoices.

The profile accepts accountType (BUSINESS or INDIVIDUAL), legalName, two-letter country, taxId, addressLine1, city, postalCode, and billingEmails. A legal name and country are required before funding. Balance, funding, allocation, and invoice responses map internal micros to display money fields; keep financial arithmetic in your own system precise rather than using rounded UI text.

Funding configuration and writes​

Method and pathInputResponse or effect
GET /billing/paypal/configNone.PayPal client configuration for the dashboard.
GET /billing/wire/configNone.Wire instructions and configured minimum.
POST /billing/funding/wireJSON amount, currency, externalReference; optional advertiserId.201 funding record in AWAITING_REVIEW. No balance is credited until an administrator verifies receipt.
POST /billing/funding/paypal/orderJSON amount, currency, idempotencyKey; optional advertiserId.201 order and funding IDs for checkout.
POST /billing/funding/paypal/{orderId}/captureOwner-selected advertiser.Funding result after PayPal capture is checked for completed status and exact amount/currency.
POST /billing/survey-campaigns/{campaignId}/allocateOwner-selected advertiser.Allocates shared balance to an eligible draft/pending survey campaign; returns allocation.

amount must be positive, within the configured limit, and expressed in the requested three-letter currency. A wire request also requires an externalReference of 3–120 characters and must meet the current minimum shown by /billing/wire/config. Reusing a wire reference with a different amount or currency fails. A PayPal idempotencyKey must be 8–120 letters, digits, colon, underscore, or dash; reuse it only for the same logical order. Never retry a payment with a fresh key just because the first response timed out; check funding state first.

Offer budget is reserved when an approved campaign goes LIVE and unused reserve is released on pause, end, or archive under the ledger rules. A survey allocation is separate from offer budget reserve. POST /operations/funding/{fundingId}/approve-wire exists but is administrator-only and is not an advertiser API. See the survey funding guide and offer budgeting guide.