Getting started
Versioning and conventions
How v1 changes
Within v1, changes are additive only: new endpoints, new optional request fields, new response fields, new error codes. So:
- Ignore response fields you do not recognize.
- We ignore request fields we do not recognize, so a newer client works against an older server.
- Handle an unknown error code by its HTTP status.
Changing the meaning of a field, removing one, or making an optional field required needs a new version (/v2), and v1 keeps working through a published notice period.
What produced a result
Every response carries X-KellyIQ-Api-Version (the capability set, 1.0) and X-KellyIQ-Engine-Version (the optimizer build). Optimize results repeat both in the body, with the seed used. Keep them with any result you store: with your request, they are enough to explain the result later, even after the engine changes.
Conventions
- Odds are American integers: at most -100 or at least +100.
- Probabilities and fractions are decimals rounded to 6 places.
- Money is USD, rounded to cents.
- Times are UTC with a trailing
Z; dates areYYYY-MM-DD. - Fields your plan does not include are present as
null, never missing. - Batch endpoints take at most 100 items.