OAuth + OIDC
Token grants, userinfo, discovery, and delegation management endpoints.
Signing
Signature request lifecycle, verification, and key management.
Security
Hardening checklist for token handling, claims validation, and key safety.
Base URL
Use
api.aveid.net for all API calls. Use aveid.net for user-facing auth pages (sign-in, Connector consent). Never mix the two.Request conventions
All request bodies are JSON. The token endpoint accepts both OAuth-standardsnake_case fields and legacy camelCase fields.
Authentication by endpoint family
Public OAuth/OIDC endpoints — no auth required
Public OAuth/OIDC endpoints — no auth required
These endpoints are public and require no credentials:
GET /.well-known/openid-configuration— OIDC discovery metadataGET /.well-known/jwks.json— JWT verification keysGET /.well-known/webfinger— issuer discoveryGET /api/oauth/app/:clientId— app public metadataGET /api/oauth/resource/:resourceKey— Connector resource metadataPOST /api/oauth/token— token grants (credentials validated in request body)
GET /api/oauth/userinfo— requiresAuthorization: Bearer <access_token>
Session-authenticated OAuth management endpoints
Session-authenticated OAuth management endpoints
These require an authenticated Ave session (bearer session token or Ave session cookie):
POST /api/oauth/authorize— grant authorization and produce a redirect URLGET /api/oauth/authorizations— list active authorizationsGET /api/oauth/authorization/:clientId— get authorization for a specific appGET /api/oauth/delegations— list active Connector grantsDELETE /api/oauth/delegations/:delegationId— revoke a Connector grant
Signing endpoints — app credentials in body
Signing endpoints — app credentials in body
App-facing signing endpoints authenticate with
clientId + clientSecret in the request body:POST /api/signing/request— create a signing requestGET /api/signing/request/:requestId/status— poll request statusGET /api/signing/public-key/:handle— look up an identity’s public keyPOST /api/signing/verify— verify a signature
GET /api/signing/keys— list the user’s signing keysPOST /api/signing/keys/:identityId— create a signing keyPUT /api/signing/keys/:identityId— rotate a signing keyPOST /api/signing/requests/:requestId/sign— approve a requestPOST /api/signing/requests/:requestId/deny— deny a request
Identity key endpoints — unified with signing
Identity key endpoints — unified with signing
Identity keys are now the same keypair concept used by signing.Public lookup endpoints:
GET /api/signing/public-key/:handle— canonical identity public key lookupGET /api/encryption/public-key/:handle— compatibility alias
GET /api/signing/keys/:identityIdPOST /api/signing/keys/:identityIdPUT /api/signing/keys/:identityIdGET /api/encryption/keys/:identityId(alias)POST /api/encryption/keys/:identityId(alias)PUT /api/encryption/keys/:identityId(alias)
