Standard protocols
Your apps speak OIDC or SAML 2.0 to standard endpoints. Each tenant gets its own permanent issuer hostname.
Identify is built on Keycloak, the open-source identity server.
Every action in the Identify Console is an API call your automation can make too.
Your apps speak OIDC or SAML 2.0 to standard endpoints. Each tenant gets its own permanent issuer hostname.
Identify is built on Keycloak, the open-source identity server.
The OpenAPI description is generated from the live routes. Operations marked stable are a compatibility promise.
API credentials get the same roles and checks as people. Secrets are shown once, then only rotated.
TOKEN=$(curl -s -X POST \
https://northwind.auth.identify.example/realms/northwind/protocol/openid-connect/token \
-d grant_type=client_credentials \
-d client_id=identify-api-ci -d client_secret="$SECRET" | jq -r .access_token)
curl -s -H "Authorization: Bearer $TOKEN" \
https://northwind.console.identify.example/api/v1/openapi.jsonSmall, signed notifications that carry identifiers. You read the current state back through the API.
An endpoint that keeps failing suspends itself and says why.
Identify provisions the apps you point it at. It never deletes users, and deactivates nobody after an incomplete read.
Stream your full audit log as NDJSON, ready for your SIEM. The stream ends with an eof line, or it isn't finished.
curl -s -H "Authorization: Bearer $TOKEN" \
https://northwind.console.identify.example/api/v1/audit/export -o audit.ndjson
tail -1 audit.ndjson # {"type":"eof","rows":85,"cursor":"…"}Users authenticate at Microsoft Entra ID or Google Workspace and are linked by its stable user ID. Their upstream password is never collected.
The second factor follows your policy: TOTP, WebAuthn or a passwordless passkey.
Bring your platform team to the demo. We'll gladly answer the deep questions.
Request a demo