Concepts
- Payout - a per-partner bundle of commission lines for a period. It has a
stage(your finance workflow status) and an optionalpoNumber. - Payout batch - the run around the payouts: one period holding one payout per partner, which is what the Payouts page lists. A payout created on its own opens a batch of its own.
- Commission line - an individual commission amount for a partner. A line can sit in the pending pool (no payout) or be attached to a payout. Lines are managed through the top-level
/commission-linesendpoints. - Commission statement - the PDF the partner invoices against, rendered from the payout’s lines and its statement note.
Authentication
Create an API key withcommissions:read and commissions:write scopes. See Authentication for key creation, rotation, and request signing.
End-to-end walkthrough
1. List payouts ready for review
Poll for payouts inPENDING_REVIEW:
2. Inspect the commission lines on a payout
3. Approve a payout
After your approval workflow passes, update the payout stage and attach your purchase order number:4. Mark the payout as paid
After your ERP confirms payment, sync the final status back to Introw:Managing commission lines
Create a line
Create a pending line (no payout) that a future payout batch can pick up:payoutId to attach the line to an existing payout on creation instead.
Edit a line
Decline a line
Soft-delete (void) a line attached to a payout, with a categorized reason. If the payout becomes empty, it is automatically declined.Detach a line
Remove a line from its payout and return it to the pending pool for a future batch:Building payouts yourself
The walkthrough above reads payouts Introw built. You can also build them, when the period, the partners and the lines are all decided in your own system.Open the run
POST /api/v1/payout-batches opens one period and, optionally, a draft payout for each partner you name. Use it whenever the run covers several partners, so they stay one batch rather than one batch each.
Open one partner’s payout
POST /api/v1/payouts opens a single payout in DRAFT. Pass batchId to add a partner to a run that already exists, metadata to set the statement note in the same call, and attachPendingLines: true to pull in that partner’s pending lines for the period the way the app does.
POST /api/v1/commission-lines and its payoutId. Send sourceAmount alongside amount when the commission came off a deal value, and the statement prints the calculation, EUR 4,200.00 x 10%, instead of the amount alone.
Render the statement
POST /api/v1/payouts/{id}/statement renders the commission statement and returns a signed link, with expiresAt telling you when it lapses. The PDF is rebuilt only when something on it changed, so calling it after every edit stays cheap.
422 with NO_BILLING_INFO or NO_COMMISSION_LINES. When someone uploaded their own statement in the app, that PDF is returned untouched and isUploaded is true.
Payout stages
Set the stage that matches your finance workflow. The API accepts any valid stage value - use the recommended flow below as guidance.
Recommended flow:
PENDING_REVIEW → APPROVED → PENDING_PAYMENT → PAID.
On Introw Pay, PENDING_PAYMENT, SCHEDULED, PAID, BLOCKED and FAILED are set by the payment run itself. Read them, but do not write over them: once Introw Pay owns a payout’s payment, moving it back from PAID is rejected.
API reference
List payouts
GET /api/v1/payouts
Update a payout
PATCH /api/v1/payouts/
Create a commission line
POST /api/v1/commission-lines
Decline a commission line
POST /api/v1/commission-lines//decline