tenant header naming that tenant. A few
endpoints are tenant-agnostic and take no tenant header; the reference shows which by not listing
it under Headers.
Get your credentials
Korint provisions a machine-to-machine client for your tenant and gives you:string
required
Public identifier for your client.
string
required
Secret for your client. Store it as you would a database password — never in frontend code or a
public repository.
string
required
Your tenant identifier. It also appears in your authorization server URL.
Request an access token
Korint uses the OAuth 2.0 client credentials grant. Each tenant has its own authorization server: replacetenant in the host below with your tenant identifier.
Call the API
Send the token as a bearer token and name your tenant:Scopes
Ask only for the scopes your integration needs. A token is granted the intersection of what you request and what your client is allowed.How a request is authorized
A valid token is necessary but not sufficient. Every request passes two checks in order:1
Scope check
Your token must carry the scope covering the area you are calling. Missing scope fails before any
business logic runs.
2
Permission check
Korint then evaluates permissions on the specific record — the policy, customer or firm you named —
for the identity behind the token. See Permissions.
Troubleshooting
401 on every request
401 on every request
The token is missing, malformed, expired, or was issued by a different tenant’s authorization server
than the
tenant header names. Confirm the host in your token URL matches the tenant you are calling.MISSING_TENANT
MISSING_TENANT
The
tenant header is absent. Every endpoint that touches tenant data requires it, reads
included; check the endpoint’s Headers section if you are unsure.403 although the token is valid
403 although the token is valid
Either the token lacks the scope for that area, or the identity behind it has no permission on the
record you named. Compare the scopes you requested against the table above first — that is the
cheaper of the two to rule out.
invalid_scope from the token endpoint
invalid_scope from the token endpoint
You requested a scope your client is not allowed. Request only the scopes your integration needs, or
ask your Korint contact to widen the client.

