Add reward
curl --request POST \
--url https://api.example.com/v1/partners/{id}/rewardimport requests
url = "https://api.example.com/v1/partners/{id}/reward"
response = requests.post(url)
print(response.text)const options = {method: 'POST'};
fetch('https://api.example.com/v1/partners/{id}/reward', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/v1/partners/{id}/reward",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/v1/partners/{id}/reward"
req, _ := http.NewRequest("POST", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.example.com/v1/partners/{id}/reward")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v1/partners/{id}/reward")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
response = http.request(request)
puts response.read_body{
"data": {
"key": "manual-1f0a8b2c-3d4e-5f60-7a81-9b0c1d2e3f40",
"action": "manual_reward",
"status": "ok",
"customer": null,
"partner": "partner_123",
"amount": 100.0,
"amount_units": "USD",
"is_currency": true,
"credit": false,
"created_at": "2026-08-23T00:00:00.000000Z",
"deleted_at": null,
"product_type_data": []
}
}
Partners
Add reward
Give a partner a one-off manual reward for special cases — separate from your commission rules
POST
/
v1
/
partners
/
{id}
/
reward
Add reward
curl --request POST \
--url https://api.example.com/v1/partners/{id}/rewardimport requests
url = "https://api.example.com/v1/partners/{id}/reward"
response = requests.post(url)
print(response.text)const options = {method: 'POST'};
fetch('https://api.example.com/v1/partners/{id}/reward', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/v1/partners/{id}/reward",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/v1/partners/{id}/reward"
req, _ := http.NewRequest("POST", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.example.com/v1/partners/{id}/reward")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v1/partners/{id}/reward")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
response = http.request(request)
puts response.read_body{
"data": {
"key": "manual-1f0a8b2c-3d4e-5f60-7a81-9b0c1d2e3f40",
"action": "manual_reward",
"status": "ok",
"customer": null,
"partner": "partner_123",
"amount": 100.0,
"amount_units": "USD",
"is_currency": true,
"credit": false,
"created_at": "2026-08-23T00:00:00.000000Z",
"deleted_at": null,
"product_type_data": []
}
}
Endpoint
POST https://api.partnero.com/v1/partners/{id}/reward
This is not how regular commissions work. Partnero normally calculates rewards automatically from your program’s commission rules whenever a referred sale or signup happens — you don’t need this endpoint for that, and you shouldn’t use it to replicate it. This is purely for the special, manual cases above.
Affiliate programs only. Call it server-side — it needs your secret API key.
Custom action and won’t appear in your commission-based rewards distribution.
Path parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Partner’s unique ID. |
Request body
| Parameter | Type | Required | Description |
|---|---|---|---|
amount | number | Yes | Reward value. Must be greater than 0 (min 0.01). Issued in the partner’s commission currency. |
note | string | No | Free-text note, up to 1000 characters. HTML is stripped before storage. |
date | string | No | Reward date, e.g. 2026-08-23. Defaults to the current time. |
date sets when the reward is dated, so you can back-date (or future-date) it. Handy if you’re recording something that happened earlier — just note it changes where the reward shows up in the history and date filters.Request
cURL
curl --location 'https://api.partnero.com/v1/partners/partner_123/reward' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
"amount": 100,
"note": "Q3 performance bonus",
"date": "2026-08-23"
}'
Response
{
"data": {
"key": "manual-1f0a8b2c-3d4e-5f60-7a81-9b0c1d2e3f40",
"action": "manual_reward",
"status": "ok",
"customer": null,
"partner": "partner_123",
"amount": 100.0,
"amount_units": "USD",
"is_currency": true,
"credit": false,
"created_at": "2026-08-23T00:00:00.000000Z",
"deleted_at": null,
"product_type_data": []
}
}
| Field | Type | Description |
|---|---|---|
key | string | The reward’s unique identifier (manual-<uuid>). |
action | string | The reward’s origin key (manual_reward). |
status | string | Reward status (ok for a newly issued reward). |
partner | string | The partner’s identifier. |
customer | string | null | Always null for manual rewards. |
amount | number | The reward value. |
amount_units | string | Currency code of the reward. |
is_currency | boolean | Always true for manual rewards. |
credit | boolean | Always false for manual rewards. |
created_at | string | The reward date (from date, or the time of creation). |
deleted_at | string | null | Deletion timestamp, if any. |
product_type_data | object | Product metadata (empty for manual rewards). |
Error responses
| Status | Error | Solution |
|---|---|---|
| 404 | Partner not found | Check the id is correct for this program |
| 422 | Validation failed | amount is required and must be greater than 0; note max 1000 chars; date must be a valid date |
| 422 | Manual rewards are only available for affiliate programs | Use an affiliate program’s API key |
Was this page helpful?
