The Orenda API is one API. Some features are optional, and a few limits change from one program to another. You don’t need to know anything about how a program is powered — you just need to know what your program can do. This page shows how to find that out. The rule is simple: ask the API, don’t assume. If a feature isn’t listed here, it works the same for every program.

Optional features

Not every program has every feature. The safest way to check is to call the endpoint and look at the result.
Treat 501 not_available as “your program can’t do this.” It is not an outage or a bug — it means the feature is turned off for your program. Handle it the same way you’d handle a feature flag.

Limits and details that vary

A few values differ between programs. Read them from the data instead of hard-coding them.
The payment reference length is the one most likely to trip you up. The field allows up to 140 characters, but some programs accept fewer. If you go over your program’s limit, the payment is rejected.

A good habit

Write your integration so it reacts to the data and the API’s responses, rather than guessing in advance:
  • Read the fields that are present, instead of expecting a fixed shape.
  • Treat 501 not_available as “feature off for this program.”
  • Use GET /v1/payments/currencies for the live currency list.
Do that, and the same code works for every program with no special cases.
Coming improvement. To make this fully self-serve, we plan to add a single capabilities response you can read at the start — a simple list of what your program supports and its limits — so you won’t need to discover features by trial. Until then, the checks above are the way to find out.