PUT /api/v2/storefront/billing/payout-details, or through the set_payout_details
agent operation — and Apostra pays you by bank transfer, net of the platform
fee and any additional fees on your billing config. A standalone Seller Account
administrator can enter these details directly. For a child Seller Account, an
administrator of its parent billing organization enters them; a child-only
administrator can see that billing is organization-managed but must ask a
parent-organization administrator to manage billing and payout details.
When your organization manages billing
A Seller Account that belongs to an organization doesn’t hold its own billing: the organization holds the contract, the plan and the payout authority for every account under it. Billing and payout changes made from inside the Seller Account are refused, and the refusal names the organization, for example:Payouts for Azerion are managed by the Azerion Admin organization. Switch to Azerion Admin to manage them.
- If you administer the organization, open Settings → Organization → Plan & billing → Payouts in the Seller Account and choose Open Azerion Admin billing. That switches into the organization’s Plan & Billing, where the organization’s Payouts tab lets you manage each Seller Account’s payout details.
- If you don’t, the refusal says that only an administrator of the organization can view or change billing. Ask one of them; there is no way to change it from the Seller Account.
403 ACCESS_DENIED. Its details tell an integration where to
go next:
reason:billing_managed_by_organization.billingOrganization:{ customerId, name }of the organization that manages billing.canSwitch:truewhen the caller administers that organization.nextAction:switch_accountwhencanSwitchistrue, otherwiseask_organization_admin.switchTo:{ accountId }to pass toswitch_account. Present only whencanSwitchistrue.
billing_setup readiness check is advisory, not a
go-live blocker: a Seller Account can activate and start transacting with payout details missing.
Funds still accrue against every booking; they simply cannot be disbursed until payout
details are on file. A parent-organization administrator can add them any time from the
Payouts tab, PUT /api/v2/storefront/billing/payout-details, or
set_payout_details — activation never waits on this step.
All examples use the legacy v2 storefront base URL for Seller Accounts:
Authorization: Bearer $SCOPE3_API_KEY.
Organization IU plan and Rate Card
Plan & Billing → Plan & pricing is the Seller Account view of your organization’s one Effective IU Rate Card. Buyer activity, Seller Account work, Apostra, and every other IU-rated workload use the same plan, corporate pricing adjustment, rollover policy, and wallet. Your Seller Account does not have a separate plan. If your organization contracts a platform license for governance, integrations, support, or SLA, that license appears as an overlay on the same IU plan rather than another wallet. A Seller Account that uses another company’s agent does not purchase that company’soperate-agents-for-clients entitlement. The agent operator purchases the right
for its own Partner organization, while each client billing organization keeps
its own IU plan and each Seller Account keeps its own media-settlement terms. See Partner Program and agent
operations for the operator,
client-authorization, and certification boundaries.
The standard Organization IU Rate Card is published and effective in
production. Every eligible organization can review and accept an applicable
public plan, including its setup-credit terms when the Rate Card carries a
setup credit. After you accept, Plan &
Billing may show the accepted included-IU allocation, observed usage, and a
display-only forecast. Accepting a paid plan starts billing under its terms;
every organization with an accepted paid plan is charged. Existing
accepted media-pricing arrangements are unchanged.
Before your storefront runs briefs
A completed brief response is an IU-rated activity: your accepted Rate Card prices it, and the charge comes from that card, not from this page. Read the exact terms in the Organization IU Rate Card or fromGET /api/v2/billing/iu-rate-card/v4. A plan that waives brief
responses charges nothing for them and asks for nothing extra.
A brief from a buyer’s sandbox account (AdCP sandbox: true) is a test, not
demand, and is never charged, whatever your plan. Your storefront still answers
it in full, and the prerequisites below still apply to it.
When your accepted plan does charge for brief responses, your storefront must
meet two prerequisites before it runs one:
- Brief acceptance rules are active. The storefront that handles the brief has an active version of AI Business Rules, the Brief Acceptance policy, as set up under reviewing buyer transactions. Saving and evaluating the rules is free.
- Payment is covered. Your organization has a payment method on file or approved credit, or your plan carries a monthly commitment. A pay-as-you-go plan has no commitment, so it needs the payment method or credit.
INVALID_REQUEST with details.reason seller_prerequisites_missing, a
details.missing list (brief_acceptance_rules, payment_authority, or storefront_unmatched when the brief’s storefront is not the Seller’s) and a
typed next step for each. The buyer sees only that the Seller has not finished
setting up. A Seller administrator fixes it in AI Business Rules, in Plan &
Billing, or both, and the next brief runs. Apostra turns this refusal on per
Seller; until it is on for yours, each check is counted and the
brief runs.
Agentic Media Company plan catalog
This is the canonical customer-readable description of the current standard
Agentic Media Company defaults used to author new Rate Card offers. These
defaults are not available for production purchase until an approved Rate
Card publishes them. Plan & Billing shows the exact currency price, access,
payment terms, and effective dates before acceptance. An existing accepted
plan keeps its snapshotted terms until its documented successor flow takes
effect.
Standard Merchandising excludes public distribution, self-serve Advertiser
management, and Custom modular sources. The two standard Distribution plans
exclude Custom modular sources and the customer-branded ChatGPT app. Enterprise
includes only the Custom options written into the accepted offer.
External AdCP buyers may buy on any commercially ready Seller storefront. The
Seller’s terms, payment authority, rate card, and approval checks decide
commercial readiness. Distribution gates public discovery only; it does not
grant or withhold campaign-buying eligibility.
Listing Only and Merchandising use standard support. Distribution pricing is
available upon request and is issued through a versioned proposal. The accepted
offer controls its monthly fee and IU rate, as well as its initial term,
renewal, support, payment terms, and effective dates. IU usage is billed at
period end. Standard plans have no included IU allocation or rollover. Prices
are set independently per currency rather than converted at an exchange rate.
A plan’s public or private label controls only where the plan can be selected;
it does not determine whether the plan renews. The renewal cadence and notice
period shown in Plan & Billing and in your accepted offer are the terms that
apply. A private plan can renew automatically when those terms say it does, and
a public plan can be configured not to renew automatically.
Existing sellers can accept a Distribution upgrade with no monthly fee for its
first 60 days. The 60-day period begins on the service-start date in the
accepted offer. The IU rate stated in that accepted offer applies during the
60-day period. Continuing Distribution after the 60-day period requires
accepting paid Distribution terms; Plan & Billing shows the exact IU rate,
start date, end date, and successor terms before acceptance.
Saving, enabling, and evaluating AI Business Rules is not an IU-rated activity.
The current Rate Card activity schedule has exactly three published activities;
see the Organization IU Rate
Card.
Your accepted Rate Card, not these offer defaults, is the authority for charges.
The three Rate Card defaults are 1 IU for a completed Apostra merchandising
cycle, 4 IUs for Enhanced Reporting per exact connected account and billing
period after the control is enabled and a reporting subscription syncs
successfully, and 1 IU for a qualifying Apostra media buy per billing period.
For a seller, that is a non-social buy with positive impressions or spend; the
buyer is charged for its own side of the buy separately. The selected plan then
applies its activity terms. Listing paths waive brief responses and qualifying
media buys. Merchandising paths—the Storefront agent plans—keep the catalog
defaults for all three activities, including 4 IUs for Enhanced Reporting. Your accepted
Rate Card is the authority for the final activity terms and IU price. Accepting a
paid plan starts billing under those terms. See
the Organization IU Rate
Card.
A seller’s media-buy qualification follows the latest authoritative delivery
totals for the original billing period. A correction that leaves both impressions and spend at zero
removes a provisional IU before invoicing; after invoicing, it goes through the normal
auditable one-IU credit or reversal process against that original period. Later positive
evidence may reinstate the same unit once, never add a second unit for the same buy and
period.
When the effective Rate Card carries a setup credit, a billing organization
receives one automatic credit on its first IU acceptance, in the amount the Rate
Card states. The current plans carry no setup credit. A Rate Card that carries
no setup credit grants none, and an organization that already holds a credit
keeps it until it expires. Existing customers qualify too. The credit is valid
for exactly the number of elapsed days the Rate Card states from the
acceptance commit, never a number of billing cycles, and any IU-priced activity
in the organization’s shared wallet can use it. Seller Account provisioning may
finish asynchronously without moving that expiry window, and later acceptances
or Seller Accounts do not create additional credits. It never rolls over or stacks.
An optional promotion
or referral code can attribute that same credit and may carry an authorized
price or access adjustment, but it does not add another credit or change the
setup credit’s value or expiration. A code works on a Rate Card that carries no
setup credit as well: it applies its adjustment and attribution, grants no IUs,
and counts toward its redemption limit like any other redemption. The adjusted
Effective Rate Card is shown before acceptance. Apostra issues these codes; Seller Account operators
cannot create them, and a referral code records attribution only—it does not
promise a reward or payment.
When an organization IU plan is active, the page shows its snapshotted prices
and term. A later Rate Card or discount change does not rewrite those accepted
terms. Contracts & orders → IU plan history retains each accepted plan record,
including its Rate Card version, list and effective prices, discount,
acceptance source, and term. The same history appears from buyer and Seller Account
entry points.
Accepting a private offer for the next term
If Apostra issues your organization a negotiated private offer while an IU plan is active, an organization administrator can review and accept it for the next term. Plan & Billing shows the current plan and the upcoming offer separately, including the exact price, included IUs, overage, rollover, and effective date. Accepting the offer does not reprice, shorten, refund, or prorate the current term. The accepted offer starts when the current term ends and becomes the organization’s active IU plan at that boundary. No further action is required after acceptance. You can accept only one offer for an upcoming term at a time. After acceptance, you cannot change renewal or select another plan until the new term starts. If your organization has not been issued a private offer, nothing changes and no action is required. Standard public plans and private offers marked pin exact renew one month at a time on the exact accepted plan and price snapshots. Each renewal creates a new immutable history entry linked to the prior term. A newer Rate Card, a changed discount, or a private plan never silently replaces those terms; it requires the applicable notice and successor flow. A private offer marked review required does not auto-renew. While renewal processing is healthy, the new history entry normally appears about one minute after the monthly boundary; its effective start remains contiguous with the prior term. An organization administrator can choose End plan at term before the change cutoff shown in Plan & Billing. This does not shorten or refund the accepted term: the plan remains active through its displayed end date, then the organization returns to its no-paid-IU-plan posture because no automatic successor is created. Plan & Billing shows the pending non-renewal and exact effective timestamp, including timezone. Ending the plan is organization-wide because every IU-rated workload shares it. It does not terminate your platform agreement or change an existing accepted media-pricing arrangement. If you want to stop only Seller Account merchandising or another capability, disable that capability without ending the shared plan. Before the same cutoff, an administrator can reinstate automatic renewal. That reinstatement is recorded as a new audit event; it does not erase the earlier cancellation. Once the cutoff has passed or a successor term already exists, the prior term can no longer be changed. Apostra operators can inspect the same history, but cannot bypass the governing agreement’s cutoff or rewrite an accepted term. Apostra retains the complete renewal audit trail. The history beside the current controls shows the 500 most recent decisions. Each entry is labeled Renewal target or Earlier term, so an instruction from an earlier term cannot look like a decision affecting the term being managed. If the accepted plan cannot renew on its exact current terms—for example, because the Rate Card was terminated or a different discount now requires an explicit successor—Plan & Billing says automatic renewal is unavailable. It does not promise a renewal the billing worker cannot create. You can still record End plan at term; reinstatement becomes available only after the exact renewal is eligible again. The page also shows the next action supplied by the billing service. Choose an IU plan opens the shared organization plan-selection task after an effective Rate Card is published. If the governing Terms of Service have not been accepted, the Terms of Service action comes first. When Apostra has set your organization up on standard terms but nobody has accepted them yet, Plan & Billing shows Accept the platform terms andget_billing_account reports plan.contractStatus: "awaiting_acceptance". The
contract and any rate card negotiated at setup are real and take effect the
moment an administrator of the organization accepts — Apostra does not accept on
your behalf. Until then the Seller Account cannot transact. Accounts that inherit
the organization’s contract cannot accept for themselves; one administrator on
the organization accepts, and its accounts are unblocked.
Your confirmation applies only to the exact Rate Card version and prices shown.
If that offer changes before confirmation, the task reloads the latest version
and requires you to review and confirm it again. Only a verified organization
administrator can accept. Buyer and Seller Account IU activity use the resulting
same accepted plan; existing accepted media pricing stays separate and is not changed
by the IU plan.
For Free Seller Accounts included in the Rate Card pilot, a published offer can
prompt a review from any Apostra app page. The Terms of Service step comes
first. Review plans opens the existing plan review; an administrator must
still choose a plan and explicitly confirm acceptance. Other members see
Ask your admin, without the commercial terms. Not now returns to your
work and allows the prompt to appear in a later app session.
The task also offers Continue without a paid plan and Decide later.
Continuing without a plan suppresses the automatic next-login prompt only for
the exact Rate Card revision you reviewed; a successor revision may prompt
again. Deciding later permits the prompt in a later app session. Neither choice
removes the manual Choose an IU plan action from Plan & pricing while the
offer remains current, so you can return at any time.
How you get paid
Apostra collects payment from the buyer, deducts the fees on your billing config, and pays the remainder to your bank account by bank transfer in your payout currency. Payout runs are executed by Apostra finance team — there is no self-serve withdrawal step, and you do not need to hold a balance anywhere. Each transfer carries a reference so you can reconcile it against your media buys. Today settlement is sequential: Apostra pays you after it receives the buyer’s corresponding payment, subject to the applicable payment terms. Each payout account holds one currency: for Seller Accounts on consolidated billing, your payoutcurrency must match your Seller Account’s settlement currency
(defaultCurrency). The settlement_currency_match
readiness check blocks go-live on a
mismatch.
Why Apostra needs your bank details
Bank details are how Apostra pays you — nothing else. A payout by bank transfer needs:- Beneficiary name (
beneficiaryName) — the account holder exactly as your bank knows it. - Beneficiary address (
addressLine1,city,postalCode,countryCode) — required by banks for international transfers. - Account number or IBAN (
accountNumber) — where the money lands. - One bank identifier (
bankIdentifierType+bankIdentifierValue) — a Fedwire/ABA routing number, CHIPS ABA, SWIFT-BIC, or local bank code, so the transfer routes to the right bank. - Payout currency (
currency) — the currency your account accepts.
What happens to your bank details
- Your account number is encrypted at the application layer (AES-256-GCM) before it is written to the database — the database never holds a usable plaintext value — with disk-level encryption beneath it.
- The account number (or IBAN) is write-only: once saved, it is never
displayed again. Reads —
GET /billing, theget_billing_infooperation, and Plan & Billing → Payouts — return only the last four characters, so you can confirm which account is on file without exposing it. - To change accounts, submit the full payout details again; the previous details are replaced.
Multiple payout entities
A child Seller Account uses its organization’s payout destination until a parent organization admin creates a Seller Account-specific destination. In Plan & Billing → Payouts, select the direct child Seller Account; through REST, pass?targetCustomerId=<child-id>. Child-only admins cannot create or change
payout destinations.
If your organization is paid through more than one legal entity — say an India
entity and a Brazil entity — register a payout bank account for each entity
and payout currency via PUT /api/v2/storefront/billing/payees (the
set_payout_payee agent operation, or Plan & Billing → Payouts
in the UI). Each payee carries its own beneficiary name and address, account
number, and bank identifier:
- One bank account per entity per currency. A payout account clears exactly
one currency, so an entity paid in two currencies registers two payees. The
entityName+currencypair identifies the payee; submitting the same pair again updates it. - The beneficiary name must match the account holder — the legal entity itself. Banks reject transfers where the beneficiary on the wire doesn’t match the name on the account.
- Every payout destination is a payout entity, and exactly one is your
primary. The details you set with
set_payout_detailsare the primary entity — and like any other entity, it can hold a bank account per currency. - Reads are masked the same way for every entity: list them with
GET /api/v2/storefront/billing/payees(list_payout_payees) and you get the last 4 characters of each account number, never the full value. - Removing a payee is a bank-detail change control and is handled by Apostra finance — contact support.
Consolidated billing vs direct billing
A media buy is billed one of two ways:
You carry the buyer’s credit risk either way. Under consolidated billing
Apostra acts as your billing agent: it puts your charges on the buyer’s
consolidated media bill, collects, and pays you once the buyer’s payment
arrives. Apostra takes no credit risk on your media, does not pay you before
the buyer pays, and is not liable if the buyer does not pay. Accepting a buy
means accepting the buyer’s credit risk, exactly as if you had invoiced the
buyer directly.
Consolidated billing requires payout details on file before Apostra can
disburse a payment it has collected for you — it has no way to pass a payment on without them. This does
not block activation: a normal Seller Account can go live and start transacting first,
accruing funds against every consolidated-billing booking, and add payout details
afterward. Missing payout details do not silently change a normal Seller Account booking to
direct billing.
Today, every normal Seller Account booking uses consolidated billing. Seller Accounts will
be able to choose direct billing in a future release, but that option
is not configurable yet and is not selected per booking. Existing
official sales-adapter buys may be direct-billed because those parties already
settle under an external agreement.
With direct billing, Apostra does not deduct a seller-side media fee from the
publisher’s invoice or payment. Any separate platform charge to the buyer is
not a deduction from the seller’s invoice.
The seller Media Buys page shows the resolved billing method on each booking. A booking with no buyer-side record at all —
for example one placed by a third-party AdCP buyer, which never has a local Apostra record —
resolves its settlement method from the Seller Account’s own current routing configuration,
since that is what actually determines it (spec §12). Only a booking that predates the
settlement-method record itself, and where a local buyer-side record positively shows no
method was ever captured, shows Settlement method not recorded for this buy — the
platform never overwrites what an existing legacy record shows with a later inference.
Apostra no longer uses Stripe for Seller Account payouts. If you set up
billing through Stripe Connect before, an administrator of your billing
organization must enter the bank details once in Plan & Billing → Payouts (or
via
set_payout_details) before Apostra can disburse accrued funds — bank
details held by Stripe cannot be migrated. Nothing else changes: fees,
currency, and net terms carry over.Organizations and accounts
A parent organization admin can manage a direct child Seller Account by passing?targetCustomerId=<accountId> on billing endpoints; every request validates
the organization/account relationship. Requests authenticated only for a child
account cannot create or change payout destinations. A child inherits its
organization’s payout destination until a parent admin creates a child-specific
override.
Billing activity
The Payout activity section at the top of the Payouts tab on the org Billing page shows payout runs as they happen — status, period, entity, currency, amount, and date — via Get payout activity. It’s empty until your first payout run; nothing is fabricated in the meantime.Task reference
Set payout details
PUT /billing/payout-details — bank account for payoutsGet billing config
GET /billing — fees, currency, net days, masked payout detailsSet payout payee
PUT /billing/payees — bank account per legal entity per currencyList payout payees
GET /billing/payees — masked payees on fileUpdate billing config
PUT /billing — fees, currency, net days (admin)List billing accounts
GET /billing/accounts — billing status across your organization’s accountsGet payout activity
GET /billing/payout-activity — payout activity as it happens