Quote ad account funds
Prices a top-up exactly as POST /v1/ad-account-requests/{requestId}/top-ups would, and creates nothing. The customer chooses the budget that lands on the ad account; Koast's fee (a rate per payment method) and the platform location fee are added on top, and amountCents is what the payment page charges. Refusals are those of the top-up: 400 validation_failed naming the field for a budget under the minimum or over the maximum, a payment method not offered for the account's currency (bank transfer and crypto are USD only; crypto paid on a payment page is at most 10,000.00 USD per payment) or an ad account the request does not hold; 409 conflict before the ad account is shared.
bearerAuthAuthorizationBearer <token>An organization API key (koast_sk_…) with the API surface enabled, or an OAuth access token issued by Koast (koast_at_…) whose audience covers this API. REST access requires an active Agency plan.
requestId*stringThe ad account request id, or its Koast reference (KST-…).
1 <= length <= 40adAccountId*stringThe ad account to fund, act_…: one of the request's accounts.
1 <= length <= 40budgetCents*integerThe budget to land on the ad account, in cents of the request's currency. Koast's fee and the platform location fee are added on top of it.
0 < value <= 9007199254740991paymentMethod*stringHow the customer pays: card, bank_transfer (a US bank transfer, USD accounts only) or crypto (USDC, USD accounts only, when Koast offers it). Koast's fee depends on it.
"card""bank_transfer""crypto"Quote ad account funds
application/json- response
adAccountId*stringpaymentMethod*stringHow the customer pays: card, bank_transfer (a US bank transfer, USD accounts only) or crypto (USDC, USD accounts only, when Koast offers it). Koast's fee depends on it.
"card""bank_transfer""crypto"currency*stringbudgetCents*integerWhat lands on the ad account.
-9007199254740991 <= value <= 9007199254740991commissionRate*numberKoast's fee rate for this payment method: 0.04 is 4%.
commissionCents*integerKoast's fee.
-9007199254740991 <= value <= 9007199254740991locationFeeRate*numberThe platform location fee rate: 0.025 is 2.5%.
locationFeeCents*integerThe platform location fee.
-9007199254740991 <= value <= 9007199254740991netCents*integerWhat Koast sends to the ad account: the budget plus the location fee, which the platform withholds.
-9007199254740991 <= value <= 9007199254740991amountCents*integerThe total the customer pays.
-9007199254740991 <= value <= 9007199254740991curl -X GET "https://example.com/v1/ad-account-requests/string/top-ups/quote?adAccountId=string&budgetCents=1&paymentMethod=card" \ -H "Authorization: Bearer koast_sk_..."{ "adAccountId": "string", "paymentMethod": "card", "currency": "string", "budgetCents": -9007199254740991, "commissionRate": 0, "commissionCents": -9007199254740991, "locationFeeRate": 0, "locationFeeCents": -9007199254740991, "netCents": -9007199254740991, "amountCents": -9007199254740991}Required scope: read. CLI: koast quote-ad-account-funds, see Ad Account Requests commands. Authentication, headers, errors and pagination work the same on every operation. See Conventions.
Add ad account funds
Creates a top-up and a payment page for it, and returns the top-up with its fees and checkoutUrl. The call itself moves no money: the user pays on the page, by the payment method chosen here only, and Koast adds the funds to the ad account once the payment is received. A card payment is received at once; a US bank transfer takes 1-3 business days to arrive. Follow it with GET /v1/ad-account-requests/{requestId}: the top-up moves from AWAITING_PAYMENT to PAID to CREDITED. Every call creates a new payment page; send an Idempotency-Key so that a retry returns the same one. Refusals are those of GET /v1/ad-account-requests/{requestId}/top-ups/quote, and 409 conflict with reason use_funding_details for a bank transfer or crypto when the organization sends those to its funding details (GET /v1/ad-account-funding) instead of a payment page.
List ad account campaigns
Lists every campaign in the ad account on the ad platform, including those not imported into Koast. Filter by statusFilter or by a case-insensitive name substring with nameQuery. Values are live reads from the ad platform.