API reference
One contract. Every endpoint.
The published OpenAPI 3.1 contract documents 603 operations across 38 API groups. Custom APIs use /api/v1/realms/{realm}; protocol endpoints use /realms/{realm}.
The explorer is a reference viewer. Request execution is disabled; use the documented HTTP examples in your trusted environment.
Contract for the ProudAuth custom HTTP API (/api/v1/realms/{realm}/...) and the protocol endpoints served under the path-based issuer (/realms/{realm}). Generated from the server code (internal/httpapi) and kept in sync by tests/contract.
Conventions (docs/plan.md section 25):
- Errors. Custom APIs return RFC 9457 problem details (
application/problem+json, schemaProblem) with a stablecodeand therequest_id. OAuth/OIDC endpoints return standard OAuth errors (OAuthError). - Strict JSON. Request bodies must be
application/json, are size-bounded, and are rejected when they contain duplicate or unknown members (additionalProperties: false). - Authentication. Bearer tokens only in the
Authorizationheader (never query strings). 401 for missing/invalid credentials, 403 for authenticated-but-disallowed, 404 where existence is concealed. - Idempotency. Every authenticated POST accepts
Idempotency-Key(24 hours, actor/realm/route-bound, matched on the exact path and body). Only successful responses are recorded, and responses that carried one-time secrets are never replayed. - One-time secrets. Fields marked
x-secret: true(client secrets, API keys, personal tokens, setup tokens, recovery codes, signing secrets, handoff codes, download tokens, continuation tokens) are returned exactly once. - Concurrency. Editable resources return a weak
ETag(W/"v{version}"); send it inIf-Match. Stale versions return 412; whereIf-Matchis required, omitting it returns 428. - Pagination. Cursor-paginated lists accept
cursorandlimitand returnnext_cursor(empty string on the last page). - Correlation.
X-Request-Idis accepted (printable ASCII, at most 64 characters) or generated, and echoed on every response. - Throttling. 429 and 503 responses include
Retry-After. - Trust classes and permissions.
x-trust-classrecords the section 25.2 trust class of each operation;x-permissionslists the permissions the server checks (any one suffices unless noted). Organization-scopedorg.*permissions are evaluated in the organization named by the path, whose existence is concealed (404) from callers without any permission in it.
Browse by area
Discovery
3 operations
→OAuth
11 operations
→OIDC
7 operations
→CORS
2 operations
→Interaction
36 operations
→Federation
27 operations
→Self-service
71 operations
→Organizations
64 operations
→Invitations
10 operations
→Audit
12 operations
→Users
40 operations
→Projects
9 operations
→Clients
30 operations
→Resources
7 operations
→Authorization
52 operations
→Machine identities
11 operations
→Realm
10 operations
→Jobs
4 operations
→Support access
7 operations
→Webhooks
10 operations
→Imports and exports
6 operations
→Configuration
3 operations
→Notifications
9 operations
→Health
2 operations
→Events
1 operations
→Extensions
37 operations
→Support
1 operations
→Machines
1 operations
→Authentication
2 operations
→Administration
2 operations
→Hooks
2 operations
→Provisioning
20 operations
→Authentication flows
7 operations
→Shared signals
27 operations
→SAML
22 operations
→Directory
28 operations
→Passkeys
4 operations
→Registry
6 operations
→Read public discovery
curl --fail https://identity.example.com/realms/main/.well-known/openid-configuration