Follow the setup process in the new developer portal Quick Start to register your organization and get access to the portal.
What's Changing & When
API functionality stays the same. Only how you authenticate and which domain you call changes.
In total, four settings change, in both stage and production. Every endpoint path, request payload, and response shape stays exactly as it is today.
- Auth URL
- Client credentials
- Scope
- API domain
- Every endpoint path
- Request payloads
- Response shapes
Update Settings
Start from the setup process in the Quick Start, then update the four values below. Do this in stage first, confirm, then repeat the same swaps in production.
| Setting | From (Classic) | To (new API) |
|---|---|---|
| Auth URL | https://vitu-stage.us.auth0.com/oauth/token?audience=https%3A%2F%2Fvitu.com%2Fnational-public-api | https://auth.stage.vitu.com/realms/api/protocol/openid-connect/token |
| API domain | https://proxy-stage-developer.vitu.com | https://api-stage.vitu.com |
| Client credentials | Existing stage clientId and secret | New stage clientId and secret, requested in the developer portal |
| Scope | Not used — access was scoped by the audience parameter | oneapi:access |
Note the shape of the new auth URL: the audience query parameter is gone. Token requests are now standard OAuth 2.0 client-credentials calls against a Keycloak endpoint, and they carry the scope oneapi:access in the request body.
Migration Checklist
On the developer portal's Key Management page, request credentials for stage and for production. These are new values; your Classic clientId and secret will not work against the new auth URL.
Point your token request at the new endpoint, drop the audience parameter, and send scope=oneapi:access.
Swap the domain your client points at. Everything after the domain — paths, query strings, bodies, headers — stays exactly as it is today.
Request a token, then run one read call and one write call you already rely on. Compare the responses with what Classic returns.
Apply the same four changes with your production credentials and domain, and retire the Classic values from your configuration.
Requesting a Token
Stage values shown. For production, use https://auth.secure.vitu.com/realms/api/protocol/openid-connect/token. The response is a standard bearer token; send it as Authorization: Bearer <access_token> exactly as you do today.
curl -X POST https://auth.stage.vitu.com/realms/api/protocol/openid-connect/token \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials" \
-d "client_id=$VITU_CLIENT_ID" \
-d "client_secret=$VITU_CLIENT_SECRET" \
-d "scope=oneapi:access"
Failures
401 invalid_client
400 invalid_request
invalid_scope
404 on a known path
401 on API calls
TLS or DNS errors
Getting Help
Credentials, portal access, and environment questions all start in the developer portal. If a call behaves differently on the new domain than it does on Classic, contact your Vitu account manager with the request, the response, and the environment, and we will trace it.