Errors reference
All MeerPartners error codes in one table: what a code means and what to do. Cabinet, payout, offer and team errors, and API errors for postback and authentication.
A full list of error codes with explanations and the action to take. The "Cabinet" section codes are real user-facing portal messages. The "API" section codes are returned on server endpoints (postback, authentication). Step-by-step scenarios — in Troubleshooting.
General errors
| Code | What it means | What to do |
|---|---|---|
UNAUTHENTICATED | You need to sign in | Sign in via MeerID |
FORBIDDEN | Insufficient permissions | The action is unavailable for your role/access |
VALIDATION_ERROR | Validation error | Check that the entered data is correct |
RATE_LIMITED | Too frequent, try later | Reduce the request rate and retry |
UPSTREAM_UNAVAILABLE | No connection to the server | Retry later; if it recurs — support |
UNKNOWN_ERROR | An error occurred | Refresh the page; on a repeat — support |
Payouts and balance
| Code | What it means | What to do |
|---|---|---|
BELOW_MIN_PAYOUT | Amount is below the minimum | Accumulate up to the threshold (RUB 500 / USD 10 / EUR 10) |
INSUFFICIENT_BALANCE | Not enough funds | Part of the commissions may be in hold |
PAYOUT_PENDING_EXISTS | There is already an unprocessed request | Wait for the current request to finish |
NO_PAYOUT_METHOD | Add a payout method | Specify details in payout methods |
PAYOUT_METHOD_NOT_FOUND | Payout method not found | Select or add a method again |
KYC_REQUIRED | Pass KYC to withdraw | Get verified — KYC and limits |
KYC_ALREADY_SUBMITTED | KYC is already submitted | Wait for the check result |
Business: top-up and payments
| Code | What it means | What to do |
|---|---|---|
DEPOSIT_BELOW_MIN | Minimum top-up amount | Increase the escrow top-up amount |
PAYMENT_PROVIDER_UNAVAILABLE | Payment provider unavailable | Retry later or switch the method |
Offers, links and the program
| Code | What it means | What to do |
|---|---|---|
OFFER_NOT_FOUND | Offer not found | Check the link/access to the offer |
OFFER_PAUSED | Offer is paused | Wait for the offer to resume |
LINK_LIMIT_REACHED | The link limit for this offer is reached | Use sub_id instead of new links |
MULTILEVEL_DISABLED | Multi-level program unavailable | Network levels are not enabled on this offer |
SELF_REFERRAL_FORBIDDEN | You cannot invite yourself | Use another influencer's code |
Team and invitations
| Code | What it means | What to do |
|---|---|---|
INVITE_NOT_FOUND | Invitation not found | Request a new invitation |
INVITE_EXPIRED | The invitation has expired | Request a new invitation |
INVITE_REVOKED | The invitation was revoked | Contact the inviter |
INVITE_EXHAUSTED | The invitation usage limit is exhausted | Request a new invitation |
ALREADY_MEMBER | You are already a member of this team | No action needed |
MEMBER_NOT_FOUND | Member not found | Refresh the member list |
CANNOT_REMOVE_SELF | You cannot remove yourself | Transfer rights or leave the team another way |
CANNOT_REMOVE_OWNER | You cannot remove the team owner | Change the owner first |
API: postback (S2S conversions)
Returned on the POST /api/v1/postback endpoint. More details — Postback and API error codes.
| Code | What it means | What to do |
|---|---|---|
POSTBACK_BAD_SIGNATURE | The HMAC signature did not match | Compare the signing algorithm and the request body |
POSTBACK_STALE | X-Timestamp is outside the ±300 s window (anti-replay) | Synchronize the server clock (NTP) |
POSTBACK_KEY_INVALID | API key not found or revoked | Check X-Api-Key-Id and the postback scope |
POSTBACK_DUPLICATE | Duplicate by external_order_id | Nothing; idempotent no-op ({duplicate:true}) |
OFFER_UNKNOWN | The offer from the postback is not found for the tenant | Check offer_code/offer_id and ownership |
OFFER_INACTIVE | The offer is archived/inactive | Activate the offer or check the code |
The postback responds 2xx on success and on a duplicate
An invalid signature, key or offer gives 4xx; successful and repeat (duplicate) processing — 2xx. This is intentional, so your server does not retry forever. Retries by external_order_id are safe.
API: authentication and access
Returned when working with JWT and an HMAC signature for S2S. Details — API authentication and API keys and signing.
| Code | What it means | What to do |
|---|---|---|
TOKEN_EXPIRED | The JWT has expired | Refresh the token (access 15 min / refresh 30 days) |
TOKEN_INVALID | The token is invalid or forged | Sign in again via MeerID |
TENANT_API_KEY_INVALID | The tenant API key is invalid | Check X-Api-Key-Id / issue a new one |
TENANT_API_KEY_SCOPE | The key lacks the required scope | The postback / sso / readonly scope is needed |
RATE_LIMIT_EXCEEDED | The request limit is exceeded | Reduce the rate, add backoff |
Authentication code names
For the exact codes and the server response format for authentication/postback, see the Integration and API section — it is the source of truth for server-side codes. The cabinet error texts (sections above) come from the portal interface.
Business account (creation)
| Code | What it means | What to do |
|---|---|---|
TENANT_SLUG_TAKEN | The business address (slug) is taken | Choose another unique slug |