Payouts

Create a manual payout

Creates a manual payout for a creator: an arbitrary amount (major units) outside campaign billing windows, such as a one-off bonus or a correction. Mint the id yourself (orgpay_ plus 12 alphanumeric characters); it is the idempotency key, so a retry with the same id and the same details returns the original payout instead of paying twice, and the same id with different details is a 409. campaignId is optional and must be the campaign of the creator's current active assignment, in that campaign's currency — read it from GET /payouts/manual/context. payoutProvider="manual" (the default) records a payment you already made elsewhere; payoutProvider="talentir" creates a Talentir payout that waits for approval by a member of your Talentir team in the dashboard — this route never approves one. Creators hired through the marketplace must be paid with payoutProvider="talentir" in every currency Talentir supports.

post/payouts/manual

Request

  • Base URL: https://viral.app/api/v1
  • URL: https://viral.app/api/v1/payouts/manual
  • Auth: API key in header x-api-key

Request body

idstring required

Payout id minted by the caller (orgpay_ plus 12 alphanumeric characters) — the idempotency key. Re-send the same id to retry: the same details return the original payout, different details are a 409.

creatorIdstring required

Organization creator ID with orgcre_ prefix

campaignIdstring nullable

Campaign ID with orgcamp_ prefix

amountnumber required

Amount in major units of currency, e.g. 150.5 for 150.50.

currency'USD' | 'EUR' | 'CHF' | 'GBP' | 'CNY' | 'JPY' | 'KRW' | 'THB' | 'IDR' | 'VND' | 'RUB' required
descriptionstring

Optional invoice description shown to the creator: the payout's single line-item title and quoted in their payout email. Defaults to "Manual Payout".

referencestring

Optional payout reference for reconciliation, invoicing, or external bookkeeping.

notesstring

Optional internal payout notes visible to organization members.

payoutProvider'manual' | 'talentir'

"manual" records a payment made outside viral.app; "talentir" creates a Talentir payout that waits for approval in the dashboard.

Example request

{
  "id": "orgpay_RwmraAffhMt9",
  "campaignId": "orgcamp_RwmraAffhMt9"
}

Response

OK

successunknown required
payoutIdstring required

Payout ID with orgpay_ prefix

providerPayoutIdstring nullable

Example response

{
  "payoutId": "orgpay_RwmraAffhMt9"
}

Changes

No recorded changes to this operation across all 1 revision of this API.