A REST and GraphQL API for every piece of your operation.
Versioned under /v1, with deprecation notices one full release ahead of removal.
Use REST for write paths and GraphQL for composable reads across the canonical ledger.
Contractually backed on Enterprise and Elite tiers, with financial credits on miss.
OAuth 2.0, short-lived tokens, SAML SSO on the human side.
- Client credentials grant
Server-to-server integrations exchange a client ID and secret for a bearer token with a 15-minute TTL.
- SAML 2.0 SSO for users
Human sessions authenticate through your IdP (Okta, Azure AD, Ping, Auth0) with SCIM 2.0 provisioning and group-scoped RBAC.
- Scoped API keys for CI
Long-lived keys scoped to a single capability (e.g. invoices:read) for build pipelines that can’t hold OAuth state.
curl -X POST https://api.ordentra.com/oauth/token \
-H "Content-Type: application/json" \
-d '{
"grant_type": "client_credentials",
"client_id": "cid_01J9ZQR...",
"client_secret": "sk_live_...",
"scope": "orders:write invoices:read analytics:read"
}'
# Response
{
"access_token": "eyJhbGciOiJFZERTQSIs...",
"token_type": "Bearer",
"expires_in": 900,
"scope": "orders:write invoices:read analytics:read"
}Eight capability groups, 240+ endpoints in total.
Every endpoint is versioned under /v1, documented with a request and response schema, and covered by at least one SDK example.
Clear limits, headers on every response.
Every response carries X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset headers. GraphQL node cost is returned under X-Query-Cost.
Growth
StandardStarting tier for single-entity operations and first integrations.
- REST requests
- 120 req/min
- Burst window
- Burst 240 req/min (60s)
- GraphQL cost
- 1,500 node cost/min
Enterprise
StandardMulti-entity, multi-region, with dedicated support and SSO.
- REST requests
- 1,200 req/min
- Burst window
- Burst 3,000 req/min (60s)
- GraphQL cost
- 15,000 node cost/min
Elite
CustomActive-active deployments with custom limits and dedicated capacity.
- REST requests
- Custom (10k+)
- Burst window
- Custom burst windows
- GraphQL cost
- Unmetered under contract
Four languages, all tracking the same version.
SDKs ship from the same generator that builds the reference docs — types, method signatures, and errors stay in lockstep with the API.
Push events when state changes, signed and replayable.
Subscribe any endpoint to the event bus. Deliveries are signed with HMAC-SHA256, retried with exponential backoff up to 24 hours, and replayable from the admin console for any 30-day window.
Fires when a purchase order clears the final approval stage.
Fires when three-way match succeeds against PO and receipt.
Fires when a vendor's risk score crosses a configured threshold.
Fires for regulated lots within the configured expiry window.
What shipped recently, breaking or not.
Every API change is published here first. Breaking changes announced one release ahead, with migration guides linked from the deprecation header.
- April 2, 2026v4.8.2
Cursor pagination on /v1/analytics/query
Non-breakingLarge analytical queries now return a cursor instead of a page offset. Offset pagination is deprecated and will be removed in v5.0.
- March 18, 2026v4.8.0
New webhook signature scheme (HMAC-SHA256)
BreakingWebhook payloads are now signed with a rotating HMAC-SHA256 key. The previous MD5 scheme is removed.
- March 4, 2026v4.7.3
GraphQL cost analysis in preview
Non-breakingQuery cost now returned in response headers for read-path tuning. No behavior change.
- February 20, 2026v4.7.0
/v1/payments/runs supports partial remittance
Non-breakingSettlement runs can now be partially remitted with explicit invoice scope.
- February 6, 2026v4.6.1
Deprecation: /v1/orders?legacy_format=true
BreakingLegacy order payload format removed. Migrate to the canonical schema documented under /v1/orders.
Talk to a solutions engineer who has built against it.
Get a working integration review with an engineer who ships against the API every day. Bring an endpoint, a payload, or an architecture question — we’ll write it on the call.