AXIOM Exchange API — Overview

What the API does, how to call it, and where the full reference lives. The complete reference — every route, request and response — is in the Developer Portal, behind your sign-in, along with the interactive Swagger UI and ReDoc.

Base URL: https://api.veritrisaxiom.energy/api/v1

What you can build with it

Area What it answers
Catalog and tariffs Which utilities serve where, their plans, and how rates have moved
Serviceability Which utility serves a point or an address, and the status of utilities across an area
Properties and geography Your sites and assets, with map-ready geometry for ArcGIS and GeoJSON clients
Customers and enrollment Accounts, enrollments and attribution, for partners who manage customers
Usage and forecasting Metered usage per premise, and forecasts from it
Usage wallet A prepaid balance for API usage: top-ups through billing, warnings as it runs low, monthly statements
County land records Oklahoma land records and the PLSS survey grid — see PLSS & Counties
Trading Order execution and settlement, for contracted partners

Which of these your account can reach depends on its plan — see Pricing and Licensing.

Authenticating

Every call except the health checks carries a credential, in one of two headers:

Header
API key X-API-Key: <your key>
Bearer token Authorization: Bearer <token>, from POST /auth/token with your key

A key beginning sk_test_ works against sandbox data; sk_live_ is production. Keys are issued in the Developer Portal, or with the service you ordered through billing, and are shown once. Keep them server-side: never in a browser, a mobile app or a repository. Revoke and rotate them from the portal.

Being authenticated is not the same as being allowed. Each operation needs a permission your credential was granted, and some need a production credential and a contract as well. The portal shows what your credentials can do.

Conventions

Usage and limits

Billable calls are metered and drawn from your usage wallet. You are warned by email at 80% and 90% of what you funded, and when it runs out. A refund is not counted as usage. What happens at zero depends on your plan: by default new billable calls are refused with 402 until usage is added, and nothing is charged for a refused call.

Errors

Status Meaning
401 No credential, or one that is not valid
403 The credential is valid but may not do this
404 Not found
402 usage_limit_reached: add usage to continue. No work was done
402 usage_wallet_missing: no usage wallet exists for this subscription. No work was done; contact support
422 The request did not validate; detail lists each field
503 usage_check_unavailable: your balance could not be checked. Nothing was done or charged; retry

Errors carry {"detail": ...}; the usage errors carry a stable error code and a message.

SDKs

Thin clients for Python, JavaScript/TypeScript and PHP. They hold no business logic and grant no access of their own: every call is the same authenticated, metered request.

from axiom_exchange import AxiomExchangeClient

client = AxiomExchangeClient(api_key="<your key>")
plans = client.plans.list()

Health

GET /healthz (the process is up) and GET /readyz (it can reach its database) need no credential. The status page shows both.

The full reference

Sign in to the Developer Portal for:

No account yet? Sign up.