Superfiliate

Partners API

Errors

Conventional status codes and a JSON envelope that always looks the same.

The error envelope

Every non-2xx response carries the same JSON shape: an errors array of human-readable strings. One request can fail for several reasons, so always treat it as a list:

Error envelopejson
{
  "errors": ["Email is invalid"]
}

Status codes

StatusMeaningWhat to do
200 OKThe request succeeded.Endpoints that create or update return the resulting resource.
401 UnauthorizedCredentials are missing or invalid.Check the Authorization header format and that your pair is active.
403 ForbiddenValid credentials, missing scope.Generate a new key with the scope shown on the endpoint's reference page.
404 Not FoundThe resource does not exist on your store.The envelope names the model, eg. { "errors": ["Customer not found"] }.
422 UnprocessableThe request was understood but failed validation.Fix the parameters named in the messages and retry.
429 Too Many RequestsYou went over the rate limit.Back off and retry — see Rate limiting.
5xxSomething went wrong on our side.Safe to retry with backoff; reach out if it persists.

Validation errors

422 messages are written to be actionable as-is. A few you may meet while integrating:

MessageCause
Missing customer paramsCreate customer called without an email.
Email is invalidThe email address failed format validation.
Value is invalidAdd balance takes a value between 0.01 and 99.99.
Unique source already usedThe unique_identifier was already spent for that customer — the reward was granted before, so this duplicate is safe to ignore.
Url is invalidCreate webhook needs a valid HTTPS URL.