Complete API Reference · Visual HTTP Flows · Use Case Dictionary · AI / MCP / OpenClaw Integration Patterns
Every API domain with endpoints, methods, descriptions, and OAuth scopes
/api/v1/, and supports both OAuth 2.0 access tokens (recommended) and SSWS API tokens for authentication. All calls require HTTPS. Rate limits vary by endpoint (typically 600/min for users, 500/min for groups, 100/min for apps). Pagination uses cursor-based after parameters. Requests support If-Match ETags for optimistic concurrency on user profiles.Step-by-step HTTP request/response flows for common Okta operations
POST /api/v1/users?activate=true{"profile":{"firstName":"John","lastName":"Doe","email":"mailto:jdoe@corp.com","login":"mailto:jdoe@corp.com"}}201 Created → userId: 00u1abc...GET /api/v1/groups?q=Engineering200 OK → groupId: 00g5xyz...PUT /api/v1/groups/00g5xyz/users/00u1abc204 No Content — user is now a member of EngineeringPUT /api/v1/apps/0oa9jira/users/00u1abc{"id":"00u1abc","scope":"USER","profile":{"jiraUsername":"jdoe"}}200 OK — app user created with profile mappingGET /api/v1/users/00u1abc → status: ACTIVEGET /api/v1/users/00u1abc/groups → includes EngineeringGET /api/v1/users/00u1abc/appLinks → includes Jiracode_verifier = random(43-128 chars)code_challenge = BASE64URL(SHA256(code_verifier))GET /oauth2/default/v1/authorize?response_type=code&client_id=X&redirect_uri=Y&scope=openid profile&code_challenge=Z&code_challenge_method=S256&state=abc302 → https://app.com/callback?code=AUTH_CODE&state=abcPOST /oauth2/default/v1/tokengrant_type=authorization_code&code=AUTH_CODE&redirect_uri=Y&code_verifier=ORIGINAL_VERIFIERSHA256(code_verifier) and compares to stored challenge.200 OK → {"access_token":"eyJ...","id_token":"eyJ...","refresh_token":"..."}POST /api/v1/users/{userId}/lifecycle/deactivateDELETE /api/v1/apps/{appId}/users/{userId}. For non-SCIM apps: SSO session invalidated.DELETE /api/v1/users/{userId}/sessions — all active sessions terminated.user.lifecycle.deactivateReal-world identity use cases with the exact API calls required to implement each one
Model Context Protocol server for natural language identity management
okta.logs.read.get_system_logsGET /api/v1/logs?since=24h_ago&filter=outcome.result eq "FAILURE"create_user, get_user, list_users, update_user, deactivate_user, delete_user, create_group, list_groups, add_user_to_group, remove_user_from_group, list_applications, assign_user_to_app, get_system_logs, list_policies, and more. Destructive operations (delete, deactivate) now trigger the MCP Elicitation API requiring explicit human confirmation before execution.POST /api/v1/users/{uid}/lifecycle/deactivate then DELETE /api/v1/users/{uid}. Full audit trail logged. On "Decline": operation cancelled, agent notified.How AI orchestration platforms connect to Okta for identity automation
{"employee":"Jane Smith","dept":"Marketing","startDate":"2026-04-01","manager":"Bob Lee"}create_user → add_user_to_group → assign_user_to_app × 3okta.users.manage okta.groups.manage okta.apps.manage