Affiliate stats
id: affiliatewp-affiliates-stats owner: affiliatewp method: GET path: /wp-json/headlesswp/v1/affiliates/stats title: Affiliate stats usedBySite: true
GET /wp-json/headlesswp/v1/affiliates/stats
Returns aggregate affiliate statistics for the current user.
Auth + CSRF
- Auth: cookie session required.
- Proxy nonce required: yes.
Request schema
- Query params:
range(optional):7d|30d|90d|all(default30d).
Response schema
{
"data": {
"range": "string",
"startAtUtc": "string",
"endAtUtc": "string",
"clicks": "number",
"referrals": "number",
"conversions": "number",
"earningsMinor": "number",
"earningsPaidMinor": "number",
"earningsUnpaidMinor": "number",
"currency": "string"
}
}
Field semantics:
referrals: total referrals in range across all referral statuses.conversions: referrals in range wherestatusisunpaidorpaid.
Error codes
| Status | Code | Notes |
|---|---|---|
| 401 | NOT_AUTHENTICATED | Login required. |
| 403 | AFFILIATE_NOT_ACTIVE | Affiliate exists but is not active. |
| 403 | AFFILIATE_TERMS_REQUIRED | Terms acceptance required before stats access. |
| 404 | AFFILIATE_NOT_FOUND | No affiliate account for current user (or feature disabled upstream). |
| 422 | VALIDATION_FAILED | Invalid range or forbidden scope override parameters. |
| 500 | CONFIG_INVALID_AFFILIATE_TERMS_VERSION | Terms config invalid while gating active. |
| 500 | UPSTREAM_UNAVAILABLE | Dynamic passthrough fallback code from AffiliateStatsService failures. |