curl --request POST \
--url https://api.winwinkit.com/affiliates/{affiliate_id}/payouts \
--header 'Content-Type: application/json' \
--header 'x-api-key: <x-api-key>' \
--data '
{
"amount": 25000,
"description": "Launch campaign video",
"period_start": "2026-09-01",
"period_end": "2026-09-15",
"operation_id": "821fae4b5-0123-4567-9152-5297086a161c"
}
'const options = {
method: 'POST',
headers: {'x-api-key': '<x-api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
amount: 25000,
description: 'Launch campaign video',
period_start: '2026-09-01',
period_end: '2026-09-15',
operation_id: '821fae4b5-0123-4567-9152-5297086a161c'
})
};
fetch('https://api.winwinkit.com/affiliates/{affiliate_id}/payouts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": {
"payout": {
"id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"affiliate_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"type": "custom",
"status": "pending",
"amount": 25000,
"description": "Launch campaign video",
"period_start": "2026-09-01",
"period_end": "2026-09-15",
"created_at": "2026-09-29T10:15:00.000Z",
"completed_at": null
}
}
}{
"errors": [
{
"code": "<string>",
"status": 123,
"message": "<string>",
"source": "<string>"
}
]
}{
"errors": [
{
"code": "<string>",
"status": 123,
"message": "<string>",
"source": "<string>"
}
]
}{
"errors": [
{
"code": "<string>",
"status": 123,
"message": "<string>",
"source": "<string>"
}
]
}{
"errors": [
{
"code": "<string>",
"status": 123,
"message": "<string>",
"source": "<string>"
}
]
}{
"errors": [
{
"code": "<string>",
"status": 123,
"message": "<string>",
"source": "<string>"
}
]
}Create a Custom Payout
Creates a custom payout for the affiliate — an amount of the project’s own for the days it covers, outside the monthly payouts. It is pending right away and is never sent automatically: it must be sent from the dashboard. Note 1: custom payouts must be enabled for the project. Note 2: this endpoint is only accessible with a secret API key.
curl --request POST \
--url https://api.winwinkit.com/affiliates/{affiliate_id}/payouts \
--header 'Content-Type: application/json' \
--header 'x-api-key: <x-api-key>' \
--data '
{
"amount": 25000,
"description": "Launch campaign video",
"period_start": "2026-09-01",
"period_end": "2026-09-15",
"operation_id": "821fae4b5-0123-4567-9152-5297086a161c"
}
'const options = {
method: 'POST',
headers: {'x-api-key': '<x-api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
amount: 25000,
description: 'Launch campaign video',
period_start: '2026-09-01',
period_end: '2026-09-15',
operation_id: '821fae4b5-0123-4567-9152-5297086a161c'
})
};
fetch('https://api.winwinkit.com/affiliates/{affiliate_id}/payouts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": {
"payout": {
"id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"affiliate_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"type": "custom",
"status": "pending",
"amount": 25000,
"description": "Launch campaign video",
"period_start": "2026-09-01",
"period_end": "2026-09-15",
"created_at": "2026-09-29T10:15:00.000Z",
"completed_at": null
}
}
}{
"errors": [
{
"code": "<string>",
"status": 123,
"message": "<string>",
"source": "<string>"
}
]
}{
"errors": [
{
"code": "<string>",
"status": 123,
"message": "<string>",
"source": "<string>"
}
]
}{
"errors": [
{
"code": "<string>",
"status": 123,
"message": "<string>",
"source": "<string>"
}
]
}{
"errors": [
{
"code": "<string>",
"status": 123,
"message": "<string>",
"source": "<string>"
}
]
}{
"errors": [
{
"code": "<string>",
"status": 123,
"message": "<string>",
"source": "<string>"
}
]
}Headers
The secret API key.
Path Parameters
The id of the affiliate to pay.
Body
The amount to pay the affiliate, in USD cents — from 1000 ($10) to 1000000 ($10,000)
1000 <= x <= 100000025000
What the payout is for, from 10 to 200 characters. Shown to the affiliate
10 - 200"Launch campaign video"
The first day the payout covers, YYYY-MM-DD — from the first day of last month
"2026-09-01"
The last day the payout covers, YYYY-MM-DD — on or after period_start, and no later than the last day of next month. The same day as period_start for a single day
"2026-09-15"
An optional operation id that ensures the same payout won't be created again
"821fae4b5-0123-4567-9152-5297086a161c"
Response
The payout has been created.
Show child attributes
Show child attributes