{"openapi":"3.1.0","info":{"title":"Kynara API","description":"AI Agent permission system — control plane.","version":"0.1.0"},"paths":{"/api/v1/auth/login":{"post":{"tags":["auth"],"summary":"Login","operationId":"login_api_v1_auth_login_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/refresh":{"post":{"tags":["auth"],"summary":"Refresh","operationId":"refresh_api_v1_auth_refresh_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefreshIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/logout":{"post":{"tags":["auth"],"summary":"Logout","operationId":"logout_api_v1_auth_logout_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/me":{"get":{"tags":["auth"],"summary":"Me","operationId":"me_api_v1_auth_me_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MeOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["auth"],"summary":"Update Me","operationId":"update_me_api_v1_auth_me_patch","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMeIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MeOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/register":{"post":{"tags":["auth"],"summary":"Register","operationId":"register_api_v1_auth_register_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterIn"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/me/orgs":{"get":{"tags":["auth"],"summary":"Me Orgs","description":"List all orgs the current user belongs to (for org switching).","operationId":"me_orgs_api_v1_auth_me_orgs_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OrgOut"},"title":"Response Me Orgs Api V1 Auth Me Orgs Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/forgot-password":{"post":{"tags":["auth"],"summary":"Forgot Password","description":"Always returns 202 — we never reveal whether the email exists.","operationId":"forgot_password_api_v1_auth_forgot_password_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForgotPasswordIn"}}},"required":true},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/reset-password":{"post":{"tags":["auth"],"summary":"Reset Password","operationId":"reset_password_api_v1_auth_reset_password_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResetPasswordIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/orgs":{"get":{"tags":["superadmin"],"summary":"List All Orgs","operationId":"list_all_orgs_api_v1_admin_orgs_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AdminOrgOut"},"title":"Response List All Orgs Api V1 Admin Orgs Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["superadmin"],"summary":"Create Org","operationId":"create_org_api_v1_admin_orgs_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateOrgIn"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateOrgOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/orgs/{org_id}":{"patch":{"tags":["superadmin"],"summary":"Update Org","operationId":"update_org_api_v1_admin_orgs__org_id__patch","parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","title":"Org Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateOrgIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["superadmin"],"summary":"Delete Org","operationId":"delete_org_api_v1_admin_orgs__org_id__delete","parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","title":"Org Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/users":{"get":{"tags":["superadmin"],"summary":"List All Users","operationId":"list_all_users_api_v1_admin_users_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AdminUserOut"},"title":"Response List All Users Api V1 Admin Users Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/users/{user_id}":{"patch":{"tags":["superadmin"],"summary":"Update User","operationId":"update_user_api_v1_admin_users__user_id__patch","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateUserIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/orgs/{org_id}/members/{user_id}":{"patch":{"tags":["superadmin"],"summary":"Update Member Role","operationId":"update_member_role_api_v1_admin_orgs__org_id__members__user_id__patch","parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","title":"Org Id"}},{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_update_member_role_api_v1_admin_orgs__org_id__members__user_id__patch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["superadmin"],"summary":"Remove Member","operationId":"remove_member_api_v1_admin_orgs__org_id__members__user_id__delete","parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","title":"Org Id"}},{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/orgs/{org_id}/invites":{"post":{"tags":["superadmin"],"summary":"Admin Create Invite","description":"Super admin can create an invite link for any org, any role.","operationId":"admin_create_invite_api_v1_admin_orgs__org_id__invites_post","parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","title":"Org Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminInviteIn"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminInviteOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["superadmin"],"summary":"Admin List Invites","description":"List all invites for a given org (superadmin view).","operationId":"admin_list_invites_api_v1_admin_orgs__org_id__invites_get","parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","title":"Org Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","additionalProperties":true},"title":"Response Admin List Invites Api V1 Admin Orgs  Org Id  Invites Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/orgs/{org_id}/agents":{"get":{"tags":["superadmin"],"summary":"List Org Agents","description":"Read-only: view a customer org's agents for support. Access is audited.","operationId":"list_org_agents_api_v1_admin_orgs__org_id__agents_get","parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","title":"Org Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AdminAgentOut"},"title":"Response List Org Agents Api V1 Admin Orgs  Org Id  Agents Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/orgs/{org_id}/approvals":{"get":{"tags":["superadmin"],"summary":"List Org Approvals","description":"Read-only: view a customer org's approval requests for support. Access is audited.","operationId":"list_org_approvals_api_v1_admin_orgs__org_id__approvals_get","parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","title":"Org Id"}},{"name":"status_filter","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Filter"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":100,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AdminApprovalOut"},"title":"Response List Org Approvals Api V1 Admin Orgs  Org Id  Approvals Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/invites":{"post":{"tags":["invites"],"summary":"Create Invite","operationId":"create_invite_api_v1_invites_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteIn"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["invites"],"summary":"List Invites","operationId":"list_invites_api_v1_invites_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/InviteSummary"},"title":"Response List Invites Api V1 Invites Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/invites/{token}":{"get":{"tags":["invites"],"summary":"Get Invite","operationId":"get_invite_api_v1_invites__token__get","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteInfo"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/invites/accept":{"post":{"tags":["invites"],"summary":"Accept Invite","operationId":"accept_invite_api_v1_invites_accept_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcceptIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcceptOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/sso/okta/start":{"get":{"tags":["sso"],"summary":"Okta Start","operationId":"okta_start_api_v1_auth_sso_okta_start_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/auth/sso/okta/callback":{"get":{"tags":["sso"],"summary":"Okta Callback","operationId":"okta_callback_api_v1_auth_sso_okta_callback_get","parameters":[{"name":"code","in":"query","required":true,"schema":{"type":"string","title":"Code"}},{"name":"state_key","in":"query","required":true,"schema":{"type":"string","title":"State Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/sso/saml/start":{"post":{"tags":["sso"],"summary":"Saml Start","operationId":"saml_start_api_v1_auth_sso_saml_start_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SamlStartIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/sso/saml/acs":{"post":{"tags":["sso"],"summary":"Saml Acs","operationId":"saml_acs_api_v1_auth_sso_saml_acs_post","parameters":[{"name":"connection_id","in":"query","required":true,"schema":{"type":"string","title":"Connection Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/sso/saml/metadata":{"get":{"tags":["sso"],"summary":"Saml Metadata","description":"Return the SP metadata XML for upload into the IdP.","operationId":"saml_metadata_api_v1_auth_sso_saml_metadata_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/auth/sso/oidc/start":{"post":{"tags":["sso"],"summary":"Oidc Start","description":"Initiate OIDC login for any registered connection. Accepts connection_id or email.","operationId":"oidc_start_api_v1_auth_sso_oidc_start_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OidcStartIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/sso/oidc/callback":{"get":{"tags":["sso"],"summary":"Oidc Callback","description":"Handle callback for any OIDC connection (Auth0, Azure AD, Google, etc.).","operationId":"oidc_callback_api_v1_auth_sso_oidc_callback_get","parameters":[{"name":"code","in":"query","required":true,"schema":{"type":"string","title":"Code"}},{"name":"state","in":"query","required":true,"schema":{"type":"string","title":"State"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/sso/logout":{"get":{"tags":["sso"],"summary":"Sso Logout","description":"Redirect to the IdP's logout endpoint to clear the SSO browser session.\n\nCall this from the frontend when the user signs out, so Auth0 (or any OIDC\nIdP) doesn't silently reuse the existing session for the next SSO login.\nThe IdP will redirect back to `return_to` after clearing the session.","operationId":"sso_logout_api_v1_auth_sso_logout_get","parameters":[{"name":"return_to","in":"query","required":false,"schema":{"type":"string","default":"/login","title":"Return To"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/sso/lookup":{"get":{"tags":["sso"],"summary":"Lookup By Email","description":"Return the SSO connection(s) for the given email.\n\nLookup order:\n1. Find the user in Kynara → their org → that org's SSO connection (most precise).\n2. Fall back to email domain matching for users not yet in Kynara.\n\nThe login page calls this so it can show the SSO button and pass the right connection_id.","operationId":"lookup_by_email_api_v1_auth_sso_lookup_get","parameters":[{"name":"email","in":"query","required":true,"schema":{"type":"string","title":"Email"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/sso/connections":{"get":{"tags":["sso"],"summary":"List Connections","operationId":"list_connections_api_v1_sso_connections_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["sso"],"summary":"Create Connection","operationId":"create_connection_api_v1_sso_connections_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionIn"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/sso/connections/{connection_id}":{"put":{"tags":["sso"],"summary":"Update Connection","description":"Full update of a connection's config (owner or admin).","operationId":"update_connection_api_v1_sso_connections__connection_id__put","parameters":[{"name":"connection_id","in":"path","required":true,"schema":{"type":"string","title":"Connection Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["sso"],"summary":"Patch Connection","description":"Toggle is_enabled / enforce_for_org without touching other fields.","operationId":"patch_connection_api_v1_sso_connections__connection_id__patch","parameters":[{"name":"connection_id","in":"path","required":true,"schema":{"type":"string","title":"Connection Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionPatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["sso"],"summary":"Delete Connection","operationId":"delete_connection_api_v1_sso_connections__connection_id__delete","parameters":[{"name":"connection_id","in":"path","required":true,"schema":{"type":"string","title":"Connection Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/org":{"get":{"tags":["org"],"summary":"Get Org","description":"Return details of the current org.","operationId":"get_org_api_v1_org_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["org"],"summary":"Delete Org","description":"Permanently delete the organization and all associated data. Owner only.","operationId":"delete_org_api_v1_org_delete","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/org/members":{"get":{"tags":["org"],"summary":"List Members","description":"Return all members of the current org. Visible to all authenticated members.","operationId":"list_members_api_v1_org_members_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/org/members/{user_id}":{"patch":{"tags":["org"],"summary":"Update Member Role","description":"Change the seat role of an org member. Owner/admin only.\nAdmins cannot promote to owner.","operationId":"update_member_role_api_v1_org_members__user_id__patch","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_update_member_role_api_v1_org_members__user_id__patch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["org"],"summary":"Remove Member","description":"Remove a member from the org. Owner/admin only. Cannot remove yourself or the last owner.","operationId":"remove_member_api_v1_org_members__user_id__delete","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/org/rotate-api-keys":{"post":{"tags":["org"],"summary":"Rotate Api Keys","description":"Revoke every active API key for this org. Owner only.","operationId":"rotate_api_keys_api_v1_org_rotate_api_keys_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/org/revoke-sessions":{"post":{"tags":["org"],"summary":"Revoke All Sessions","description":"Revoke every active refresh session for all members of this org. Owner only.","operationId":"revoke_all_sessions_api_v1_org_revoke_sessions_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/agents":{"get":{"tags":["agents"],"summary":"List Agents","operationId":"list_agents_api_v1_agents_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AgentOut"},"title":"Response List Agents Api V1 Agents Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["agents"],"summary":"Create Agent","operationId":"create_agent_api_v1_agents_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentIn"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/agents/{agent_id}/policies":{"get":{"tags":["agents"],"summary":"List Agent Policies","operationId":"list_agent_policies_api_v1_agents__agent_id__policies_get","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/agents/{agent_id}/kill":{"post":{"tags":["agents"],"summary":"Kill Agent","operationId":"kill_agent_api_v1_agents__agent_id__kill_post","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/agents/{agent_id}/assignments":{"post":{"tags":["agents"],"summary":"Assign Agent","operationId":"assign_agent_api_v1_agents__agent_id__assignments_post","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssignmentIn"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["agents"],"summary":"List Assignments","operationId":"list_assignments_api_v1_agents__agent_id__assignments_get","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/agents/{agent_id}/assignments/{assignment_id}":{"delete":{"tags":["agents"],"summary":"Remove Assignment","operationId":"remove_assignment_api_v1_agents__agent_id__assignments__assignment_id__delete","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}},{"name":"assignment_id","in":"path","required":true,"schema":{"type":"string","title":"Assignment Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/agents/roles":{"get":{"tags":["agents"],"summary":"List Roles Alias","description":"Alias: returns org roles so the assignment form can populate a dropdown.","operationId":"list_roles_alias_api_v1_agents_roles_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/agents/{agent_id}/access-summary":{"get":{"tags":["agents"],"summary":"Get Access Summary","description":"Return the complete, denormalised access picture for a single agent.\n\nDesigned for agents to call once at initialisation and cache locally.\nResponse includes: agent metadata, every active role assignment with its\nfull scope list, and every policy that applies to this agent (either by\ndirect binding or via a wildcard binding).  A sha256 checksum covers\nthe permission-relevant fields so the caller can detect changes without\nre-parsing the full body.","operationId":"get_access_summary_api_v1_agents__agent_id__access_summary_get","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/agents/{agent_id}":{"patch":{"tags":["agents"],"summary":"Update Agent","operationId":"update_agent_api_v1_agents__agent_id__patch","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/agents/{agent_id}/risk":{"get":{"tags":["agents"],"summary":"Get Agent Risk","description":"Return the current computed risk score, contributing factors, and risk class.","operationId":"get_agent_risk_api_v1_agents__agent_id__risk_get","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RiskOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/agents/{agent_id}/reactivate":{"post":{"tags":["agents"],"summary":"Reactivate Agent","operationId":"reactivate_agent_api_v1_agents__agent_id__reactivate_post","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools":{"get":{"tags":["tools"],"summary":"List Tools","operationId":"list_tools_api_v1_tools_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ToolOut"},"title":"Response List Tools Api V1 Tools Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["tools"],"summary":"Create Tool","operationId":"create_tool_api_v1_tools_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolIn"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools/{tool_id}":{"put":{"tags":["tools"],"summary":"Update Tool","operationId":"update_tool_api_v1_tools__tool_id__put","parameters":[{"name":"tool_id","in":"path","required":true,"schema":{"type":"string","title":"Tool Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/catalog/scope-domains":{"get":{"tags":["catalog"],"summary":"List Scope Domains","description":"Return all pre-built scope domains grouped by industry.","operationId":"list_scope_domains_api_v1_catalog_scope_domains_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/catalog/scope-domains/{domain}":{"get":{"tags":["catalog"],"summary":"Get Scope Domain","description":"Return a single scope domain by its identifier.","operationId":"get_scope_domain_api_v1_catalog_scope_domains__domain__get","parameters":[{"name":"domain","in":"path","required":true,"schema":{"type":"string","title":"Domain"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/catalog/policy-templates":{"get":{"tags":["catalog"],"summary":"List Policy Templates","description":"Return all pre-built condition templates for bootstrapping new policies.","operationId":"list_policy_templates_api_v1_catalog_policy_templates_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/catalog/tool-templates":{"get":{"tags":["catalog"],"summary":"List Tool Templates","description":"Return all pre-built tool templates grouped by domain.","operationId":"list_tool_templates_api_v1_catalog_tool_templates_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/catalog/tool-templates/{domain}":{"get":{"tags":["catalog"],"summary":"Get Tool Templates By Domain","description":"Return pre-built tool templates for a specific domain.","operationId":"get_tool_templates_by_domain_api_v1_catalog_tool_templates__domain__get","parameters":[{"name":"domain","in":"path","required":true,"schema":{"type":"string","title":"Domain"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/roles":{"get":{"tags":["roles"],"summary":"List Roles","description":"List all roles in the org (readable by all seat roles).","operationId":"list_roles_api_v1_roles_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RoleOut"},"title":"Response List Roles Api V1 Roles Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["roles"],"summary":"Create Role","operationId":"create_role_api_v1_roles_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleIn"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/roles/{role_id}":{"get":{"tags":["roles"],"summary":"Get Role","operationId":"get_role_api_v1_roles__role_id__get","parameters":[{"name":"role_id","in":"path","required":true,"schema":{"type":"string","title":"Role Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["roles"],"summary":"Update Role","operationId":"update_role_api_v1_roles__role_id__put","parameters":[{"name":"role_id","in":"path","required":true,"schema":{"type":"string","title":"Role Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["roles"],"summary":"Delete Role","operationId":"delete_role_api_v1_roles__role_id__delete","parameters":[{"name":"role_id","in":"path","required":true,"schema":{"type":"string","title":"Role Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/policies":{"get":{"tags":["policies"],"summary":"List Policies","operationId":"list_policies_api_v1_policies_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PolicyOut"},"title":"Response List Policies Api V1 Policies Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["policies"],"summary":"Create Policy","operationId":"create_policy_api_v1_policies_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyIn"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/policies/{policy_id}":{"put":{"tags":["policies"],"summary":"Update Policy","operationId":"update_policy_api_v1_policies__policy_id__put","parameters":[{"name":"policy_id","in":"path","required":true,"schema":{"type":"string","title":"Policy Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/policies/{policy_id}/versions":{"get":{"tags":["policies"],"summary":"List Versions","description":"List all versions for a policy, newest first.","operationId":"list_versions_api_v1_policies__policy_id__versions_get","parameters":[{"name":"policy_id","in":"path","required":true,"schema":{"type":"string","title":"Policy Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PolicyVersionOut"},"title":"Response List Versions Api V1 Policies  Policy Id  Versions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/policies/{policy_id}/versions/{version_number}":{"get":{"tags":["policies"],"summary":"Get Version","description":"Return the full snapshot for a specific version.","operationId":"get_version_api_v1_policies__policy_id__versions__version_number__get","parameters":[{"name":"policy_id","in":"path","required":true,"schema":{"type":"string","title":"Policy Id"}},{"name":"version_number","in":"path","required":true,"schema":{"type":"integer","title":"Version Number"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyVersionDetailOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/policies/{policy_id}/rollback/{version_number}":{"post":{"tags":["policies"],"summary":"Rollback Policy","description":"Restore the policy to a prior version's snapshot.\n\nThe current state is snapshotted before overwriting (so rollback is itself\nversioned and reversible). An audit event policy.rolled_back is emitted.","operationId":"rollback_policy_api_v1_policies__policy_id__rollback__version_number__post","parameters":[{"name":"policy_id","in":"path","required":true,"schema":{"type":"string","title":"Policy Id"}},{"name":"version_number","in":"path","required":true,"schema":{"type":"integer","title":"Version Number"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RollbackIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/policies/{policy_id}/bindings":{"get":{"tags":["policies"],"summary":"List Bindings","operationId":"list_bindings_api_v1_policies__policy_id__bindings_get","parameters":[{"name":"policy_id","in":"path","required":true,"schema":{"type":"string","title":"Policy Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["policies"],"summary":"Bind Policy","operationId":"bind_policy_api_v1_policies__policy_id__bindings_post","parameters":[{"name":"policy_id","in":"path","required":true,"schema":{"type":"string","title":"Policy Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BindingIn"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/policies/{policy_id}/bindings/{binding_id}":{"delete":{"tags":["policies"],"summary":"Delete Binding","operationId":"delete_binding_api_v1_policies__policy_id__bindings__binding_id__delete","parameters":[{"name":"policy_id","in":"path","required":true,"schema":{"type":"string","title":"Policy Id"}},{"name":"binding_id","in":"path","required":true,"schema":{"type":"string","title":"Binding Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/decisions/check":{"post":{"tags":["decisions"],"summary":"Check","operationId":"check_api_v1_decisions_check_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DecisionIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DecisionOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/approvals":{"get":{"tags":["approvals"],"summary":"List Approvals","description":"List approval requests for the org. Defaults to pending + recent history.","operationId":"list_approvals_api_v1_approvals_get","parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by status: pending|approved|rejected|expired|all","title":"Status"},"description":"Filter by status: pending|approved|rejected|expired|all"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApprovalListOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/approvals/pending-count":{"get":{"tags":["approvals"],"summary":"Pending Count","description":"Lightweight endpoint for the nav badge — no auth admin check needed.","operationId":"pending_count_api_v1_approvals_pending_count_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/approvals/{approval_id}":{"get":{"tags":["approvals"],"summary":"Get Approval","operationId":"get_approval_api_v1_approvals__approval_id__get","parameters":[{"name":"approval_id","in":"path","required":true,"schema":{"type":"string","title":"Approval Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApprovalOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/audit/events":{"get":{"tags":["audit"],"summary":"List Events","operationId":"list_events_api_v1_audit_events_get","parameters":[{"name":"actor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Actor"}},{"name":"event_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Event Type"}},{"name":"since","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Since"}},{"name":"until","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Until"}},{"name":"outcome","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Outcome"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"return events with sequence < cursor (newest-first paging)","title":"Cursor"},"description":"return events with sequence < cursor (newest-first paging)"},{"name":"since_sequence","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"return events with sequence > this value (polling cursor, oldest-first)","title":"Since Sequence"},"description":"return events with sequence > this value (polling cursor, oldest-first)"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"default":50,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AuditEventOut"},"title":"Response List Events Api V1 Audit Events Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/audit/verify":{"post":{"tags":["audit"],"summary":"Verify","operationId":"verify_api_v1_audit_verify_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/audit/export":{"get":{"tags":["audit"],"summary":"Export Csv","description":"Export audit events as a CSV file (up to 10 000 rows).","operationId":"export_csv_api_v1_audit_export_get","parameters":[{"name":"actor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Actor"}},{"name":"event_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Event Type"}},{"name":"since","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Since"}},{"name":"until","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Until"}},{"name":"outcome","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Outcome"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":10000,"default":5000,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/audit/agent-report":{"get":{"tags":["audit"],"summary":"Agent Decisions Report","description":"Per-agent decision breakdown: autonomous (allow) vs human approval vs deny.\n\nGroups all ``policy.decision`` audit events by agent actor and outcome,\nreturning counts for allow / require_approval / deny alongside totals\nand an autonomous percentage.  Useful for governance reporting.","operationId":"agent_decisions_report_api_v1_audit_agent_report_get","parameters":[{"name":"since","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Since"}},{"name":"until","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Until"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/audit/compliance/soc2":{"get":{"tags":["audit"],"summary":"SOC 2 evidence pack (ZIP)","description":"Download a ZIP archive containing the audit log CSV, chain-integrity verification result, access review, and policy decision summary — suitable as evidence for a SOC 2 Type II audit.","operationId":"export_soc2_pack_api_v1_audit_compliance_soc2_get","parameters":[{"name":"since","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Since"}},{"name":"until","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Until"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/audit/compliance/hipaa":{"get":{"tags":["audit"],"summary":"HIPAA access report (CSV)","description":"Download a CSV of all access events (who accessed what resource and when) in the requested period. Required for HIPAA audit controls §164.312(b).","operationId":"export_hipaa_access_report_api_v1_audit_compliance_hipaa_get","parameters":[{"name":"since","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Since"}},{"name":"until","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Until"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/audit/compliance/access-review":{"get":{"tags":["audit"],"summary":"Quarterly access review (CSV)","description":"Current org members with roles, last-login timestamps, and active JIT grants. Designed to be sent to org owners for quarterly review.","operationId":"export_access_review_api_v1_audit_compliance_access_review_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/billing/subscription":{"get":{"tags":["billing"],"summary":"Get Sub","operationId":"get_sub_api_v1_billing_subscription_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/billing/usage":{"get":{"tags":["billing"],"summary":"Get Usage","operationId":"get_usage_api_v1_billing_usage_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsageOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/billing/attribution":{"get":{"tags":["billing"],"summary":"Decision cost attribution by project / team / cost_centre","description":"Return decision counts and estimated overage cost broken down by agent tag.\n\nUseful for internal chargeback: which project / team is consuming the most\ndecisions and driving overage costs this billing period?\n\nQuery params:\n    group_by: one of ``project``, ``team``, ``cost_centre`` (default: project)","operationId":"get_attribution_api_v1_billing_attribution_get","parameters":[{"name":"group_by","in":"query","required":false,"schema":{"type":"string","default":"project","title":"Group By"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/billing/invoices":{"get":{"tags":["billing"],"summary":"List Invoices","operationId":"list_invoices_api_v1_billing_invoices_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/billing/portal":{"post":{"tags":["billing"],"summary":"Customer Portal","description":"Return a Stripe Customer Portal URL so the user can manage their subscription.","operationId":"customer_portal_api_v1_billing_portal_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/billing/checkout":{"post":{"tags":["billing"],"summary":"Checkout","operationId":"checkout_api_v1_billing_checkout_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckoutIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/contact":{"post":{"tags":["contact"],"summary":"Submit Contact","description":"Accept a contact form submission and email it to the site owner.","operationId":"submit_contact_api_v1_contact_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactForm"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/api-keys":{"get":{"tags":["api-keys"],"summary":"List Keys","operationId":"list_keys_api_v1_api_keys_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ApiKeyOut"},"title":"Response List Keys Api V1 Api Keys Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["api-keys"],"summary":"Create Key","operationId":"create_key_api_v1_api_keys_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateKeyRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateKeyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/api-keys/{key_id}":{"delete":{"tags":["api-keys"],"summary":"Revoke Key","operationId":"revoke_key_api_v1_api_keys__key_id__delete","parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":"string","title":"Key Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/guardrails":{"get":{"tags":["guardrails"],"summary":"List Integrations","operationId":"list_integrations_api_v1_guardrails_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/IntegrationOut"},"title":"Response List Integrations Api V1 Guardrails Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["guardrails"],"summary":"Create Integration","operationId":"create_integration_api_v1_guardrails_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationIn"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/guardrails/{integration_id}":{"patch":{"tags":["guardrails"],"summary":"Update Integration","operationId":"update_integration_api_v1_guardrails__integration_id__patch","parameters":[{"name":"integration_id","in":"path","required":true,"schema":{"type":"string","title":"Integration Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["guardrails"],"summary":"Delete Integration","operationId":"delete_integration_api_v1_guardrails__integration_id__delete","parameters":[{"name":"integration_id","in":"path","required":true,"schema":{"type":"string","title":"Integration Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/guardrails/rules":{"get":{"tags":["guardrails"],"summary":"List Rules","operationId":"list_rules_api_v1_guardrails_rules_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RuleOut"},"title":"Response List Rules Api V1 Guardrails Rules Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["guardrails"],"summary":"Create Rule","operationId":"create_rule_api_v1_guardrails_rules_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RuleIn"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RuleOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/guardrails/rules/{rule_id}":{"patch":{"tags":["guardrails"],"summary":"Update Rule","operationId":"update_rule_api_v1_guardrails_rules__rule_id__patch","parameters":[{"name":"rule_id","in":"path","required":true,"schema":{"type":"string","title":"Rule Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RuleOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["guardrails"],"summary":"Delete Rule","operationId":"delete_rule_api_v1_guardrails_rules__rule_id__delete","parameters":[{"name":"rule_id","in":"path","required":true,"schema":{"type":"string","title":"Rule Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/guardrails/event-schema":{"get":{"tags":["guardrails"],"summary":"Get Event Schema","description":"Return the stable Kynara inbound event API contract.\n\nConfigure your monitoring platform's webhook to POST this JSON to\n/api/v1/guardrails/inbound/{integration_id}.\n\nKynara's format never changes to match provider-specific formats —\ninstead each platform uses its own webhook templating to produce this\nshape. Provider-specific template snippets are returned alongside the schema.","operationId":"get_event_schema_api_v1_guardrails_event_schema_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/guardrails/events":{"get":{"tags":["guardrails"],"summary":"List Events","operationId":"list_events_api_v1_guardrails_events_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/GuardrailEventOut"},"title":"Response List Events Api V1 Guardrails Events Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/guardrails/inbound/{integration_id}":{"post":{"tags":["guardrails"],"summary":"Inbound Guardrail Event","description":"Receive a guardrail violation webhook from Arize, Langfuse,\nWhyLabs, Fiddler, or a custom platform.\n\nExpected minimum payload:\n  {\n    \"agent_id\":  \"<agent UUID or slug>\",\n    \"rule_name\": \"toxicity_check\",\n    \"severity\":  \"critical\",\n    \"score\":     0.92,\n    \"trace_id\":  \"...\"\n  }\n\nAfter recording the event, Kynara evaluates all enabled GuardrailRules\nfor this org. Each rule fires when the event count within its time window\nreaches its threshold — e.g. \"suspend agent after 5 critical events in\n5 minutes\". Rules without a threshold (event_count_threshold=1) fire\nimmediately on every matching event, equivalent to the old behaviour.","operationId":"inbound_guardrail_event_api_v1_guardrails_inbound__integration_id__post","parameters":[{"name":"integration_id","in":"path","required":true,"schema":{"type":"string","title":"Integration Id"}},{"name":"x-kynara-signature","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Kynara-Signature"}},{"name":"x-arize-signature","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Arize-Signature"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/webhooks/event-types":{"get":{"tags":["webhooks"],"summary":"List Event Types","operationId":"list_event_types_api_v1_webhooks_event_types_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/webhooks":{"get":{"tags":["webhooks"],"summary":"List Endpoints","operationId":"list_endpoints_api_v1_webhooks_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/EndpointOut"},"title":"Response List Endpoints Api V1 Webhooks Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["webhooks"],"summary":"Create Endpoint","operationId":"create_endpoint_api_v1_webhooks_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EndpointIn"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FreshSecretOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/webhooks/{endpoint_id}":{"delete":{"tags":["webhooks"],"summary":"Delete Endpoint","operationId":"delete_endpoint_api_v1_webhooks__endpoint_id__delete","parameters":[{"name":"endpoint_id","in":"path","required":true,"schema":{"type":"string","title":"Endpoint Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/webhooks/{endpoint_id}/rotate-secret":{"post":{"tags":["webhooks"],"summary":"Rotate Secret","operationId":"rotate_secret_api_v1_webhooks__endpoint_id__rotate_secret_post","parameters":[{"name":"endpoint_id","in":"path","required":true,"schema":{"type":"string","title":"Endpoint Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FreshSecretOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/webhooks/{endpoint_id}/deliveries":{"get":{"tags":["webhooks"],"summary":"List Deliveries","operationId":"list_deliveries_api_v1_webhooks__endpoint_id__deliveries_get","parameters":[{"name":"endpoint_id","in":"path","required":true,"schema":{"type":"string","title":"Endpoint Id"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DeliveryOut"},"title":"Response List Deliveries Api V1 Webhooks  Endpoint Id  Deliveries Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/webhooks/{endpoint_id}/deliveries/{delivery_id}/replay":{"post":{"tags":["webhooks"],"summary":"Replay Delivery","description":"Re-queue a failed/dead delivery for another attempt.","operationId":"replay_delivery_api_v1_webhooks__endpoint_id__deliveries__delivery_id__replay_post","parameters":[{"name":"endpoint_id","in":"path","required":true,"schema":{"type":"string","title":"Endpoint Id"}},{"name":"delivery_id","in":"path","required":true,"schema":{"type":"string","title":"Delivery Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/webhooks/stats":{"get":{"tags":["webhooks"],"summary":"Stats","description":"Webhook health rollup for the dashboard.","operationId":"stats_api_v1_webhooks_stats_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/webhooks/{endpoint_id}/test":{"post":{"tags":["webhooks"],"summary":"Test Endpoint","description":"Enqueue a test event delivery to verify the endpoint is reachable.","operationId":"test_endpoint_api_v1_webhooks__endpoint_id__test_post","parameters":[{"name":"endpoint_id","in":"path","required":true,"schema":{"type":"string","title":"Endpoint Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/activity/stream":{"get":{"tags":["activity"],"summary":"Live SSE feed of policy decisions","description":"Stream policy decision events for the org as Server-Sent Events.\n\nConnect with:\n    const es = new EventSource('/activity/stream', { withCredentials: true });\n    es.addEventListener('decision', e => console.log(JSON.parse(e.data)));\n    es.addEventListener('heartbeat', e => console.log('ping'));","operationId":"activity_stream_api_v1_activity_stream_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/activity/summary":{"get":{"tags":["activity"],"summary":"Current-period agent activity summary","description":"Return aggregate decision stats for the last hour and last minute.","operationId":"activity_summary_api_v1_activity_summary_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/agents/{agent_id}/credentials":{"post":{"tags":["agent-credentials"],"summary":"Issue Credential","description":"Issue a new credential for an agent. The plaintext key is returned ONCE.","operationId":"issue_credential_api_v1_agents__agent_id__credentials_post","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CredentialIssueIn"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CredentialIssueOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["agent-credentials"],"summary":"List Credentials","description":"List credentials for an agent. Never returns the plaintext key.","operationId":"list_credentials_api_v1_agents__agent_id__credentials_get","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CredentialListItem"},"title":"Response List Credentials Api V1 Agents  Agent Id  Credentials Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/agents/{agent_id}/credentials/{credential_id}":{"delete":{"tags":["agent-credentials"],"summary":"Revoke Credential","description":"Revoke a credential — sets revoked_at and is_active=False.","operationId":"revoke_credential_api_v1_agents__agent_id__credentials__credential_id__delete","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}},{"name":"credential_id","in":"path","required":true,"schema":{"type":"string","title":"Credential Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/agents/{agent_id}/credentials/{credential_id}/rotate":{"post":{"tags":["agent-credentials"],"summary":"Rotate Credential","description":"Revoke old credential and issue a new one in a single atomic operation.","operationId":"rotate_credential_api_v1_agents__agent_id__credentials__credential_id__rotate_post","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}},{"name":"credential_id","in":"path","required":true,"schema":{"type":"string","title":"Credential Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CredentialIssueIn","default":{"credential_type":"api_key","metadata":{}}}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RotateResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/agents/{agent_id}/delegate":{"post":{"tags":["delegation"],"summary":"Create Delegation","description":"Delegate a subset of an agent's scopes to a child agent.\n\nThe delegated_scopes must be a subset of the parent agent's actual scopes.\nChain depth is checked to prevent recursive privilege escalation.","operationId":"create_delegation_api_v1_agents__agent_id__delegate_post","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DelegateIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DelegationOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/agents/{agent_id}/delegations":{"get":{"tags":["delegation"],"summary":"List Delegations From","description":"List active delegations FROM this agent (as parent).","operationId":"list_delegations_from_api_v1_agents__agent_id__delegations_get","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DelegationOut"},"title":"Response List Delegations From Api V1 Agents  Agent Id  Delegations Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/agents/{agent_id}/received-delegations":{"get":{"tags":["delegation"],"summary":"List Delegations To","description":"List active delegations TO this agent (as child).","operationId":"list_delegations_to_api_v1_agents__agent_id__received_delegations_get","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DelegationOut"},"title":"Response List Delegations To Api V1 Agents  Agent Id  Received Delegations Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/agents/{agent_id}/delegations/{grant_id}":{"delete":{"tags":["delegation"],"summary":"Revoke Delegation","description":"Revoke a delegation grant.","operationId":"revoke_delegation_api_v1_agents__agent_id__delegations__grant_id__delete","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}},{"name":"grant_id","in":"path","required":true,"schema":{"type":"string","title":"Grant Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/git/connect":{"post":{"tags":["git-sync"],"summary":"Connect Repo","description":"Register a git repo for policy-as-code sync.","operationId":"connect_repo_api_v1_git_connect_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GitConnectIn"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GitConnectOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/git/connections":{"get":{"tags":["git-sync"],"summary":"List Connections","operationId":"list_connections_api_v1_git_connections_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/GitConnectOut"},"title":"Response List Connections Api V1 Git Connections Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/git/connections/{connection_id}":{"delete":{"tags":["git-sync"],"summary":"Delete Connection","operationId":"delete_connection_api_v1_git_connections__connection_id__delete","parameters":[{"name":"connection_id","in":"path","required":true,"schema":{"type":"string","title":"Connection Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/git/connections/{connection_id}/sync":{"post":{"tags":["git-sync"],"summary":"Trigger Sync","description":"Manually trigger a sync from the registered repo.","operationId":"trigger_sync_api_v1_git_connections__connection_id__sync_post","parameters":[{"name":"connection_id","in":"path","required":true,"schema":{"type":"string","title":"Connection Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SyncResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/git/webhook":{"post":{"tags":["git-sync"],"summary":"Receive Webhook","description":"Receive GitHub/GitLab push webhooks. HMAC-verified; no auth token required.","operationId":"receive_webhook_api_v1_git_webhook_post","parameters":[{"name":"x-hub-signature-256","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Hub-Signature-256"}},{"name":"x-gitlab-token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Gitlab-Token"}}],"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/policies/simulate":{"post":{"tags":["policies"],"summary":"Simulate","description":"Dry-run a single request through the current policy engine.\n\nNo audit event is written and no usage record is incremented — this is a\npure read-path simulation for debugging and policy authoring.","operationId":"simulate_api_v1_policies_simulate_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SimulateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SimulateResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/policies/simulate/replay":{"post":{"tags":["policies"],"summary":"Replay Window","description":"Re-evaluate audit events from a time window against the current policy set.\n\nLoads up to ``max_events`` ``policy.decision`` audit events between\n``since`` and ``until`` (defaults to now), re-runs each through the *live*\npolicy engine, and reports which decisions would change.\n\nThe diff list is capped at 100 representative samples; the summary counts\nare always accurate.","operationId":"replay_window_api_v1_policies_simulate_replay_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReplayRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReplayResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/templates":{"get":{"tags":["policy-templates"],"summary":"List Templates","description":"List all published templates, optionally filtered by category.","operationId":"list_templates_api_v1_templates_get","parameters":[{"name":"category","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by category","title":"Category"},"description":"Filter by category"},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TemplateOut"},"title":"Response List Templates Api V1 Templates Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["policy-templates"],"summary":"Create Template","description":"Create a custom (org-private) template.\n\nThe template is published globally so other orgs can discover it.\nTo keep it private, extend this endpoint with an org_id foreign key.","operationId":"create_template_api_v1_templates_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateCreateIn"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateDetailOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/templates/{slug}":{"get":{"tags":["policy-templates"],"summary":"Get Template","description":"Get a single template including its full template_data.","operationId":"get_template_api_v1_templates__slug__get","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateDetailOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/templates/{slug}/install":{"post":{"tags":["policy-templates"],"summary":"Install Template","description":"Create Policy rows from a template for the calling org.\n\nPolicies that already exist (matching slug) are skipped rather than\noverwritten so existing customisations are preserved.\nIncrements the template's install_count.","operationId":"install_template_api_v1_templates__slug__install_post","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InstallResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/integrations/approvals/{approval_id}/approve-link":{"get":{"tags":["integrations"],"summary":"Approve Link","description":"One-click approve — requires authenticated session. Used in Teams/email buttons.","operationId":"approve_link_api_v1_integrations_approvals__approval_id__approve_link_get","parameters":[{"name":"approval_id","in":"path","required":true,"schema":{"type":"string","title":"Approval Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/integrations/approvals/{approval_id}/reject-link":{"get":{"tags":["integrations"],"summary":"Reject Link","description":"One-click reject — requires authenticated session.","operationId":"reject_link_api_v1_integrations_approvals__approval_id__reject_link_get","parameters":[{"name":"approval_id","in":"path","required":true,"schema":{"type":"string","title":"Approval Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/integrations/config":{"get":{"tags":["integrations"],"summary":"Get Config","description":"Return current integration settings for this org (sensitive values masked).","operationId":"get_config_api_v1_integrations_config_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationConfigOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["integrations"],"summary":"Upsert Config","description":"Save Slack and/or Teams integration settings for this org.","operationId":"upsert_config_api_v1_integrations_config_put","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationConfigIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationConfigOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/integrations/config/test":{"post":{"tags":["integrations"],"summary":"Test Integration","description":"Send a test notification to verify Slack/Teams config.","operationId":"test_integration_api_v1_integrations_config_test_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/integrations/config/slack":{"delete":{"tags":["integrations"],"summary":"Delete Slack Config","operationId":"delete_slack_config_api_v1_integrations_config_slack_delete","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/integrations/config/teams":{"delete":{"tags":["integrations"],"summary":"Delete Teams Config","operationId":"delete_teams_config_api_v1_integrations_config_teams_delete","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/mcp/servers":{"get":{"tags":["mcp-gateway"],"summary":"List Servers","operationId":"list_servers_api_v1_mcp_servers_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/McpServerOut"},"title":"Response List Servers Api V1 Mcp Servers Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["mcp-gateway"],"summary":"Create Server","operationId":"create_server_api_v1_mcp_servers_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/McpServerIn"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/McpServerOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/mcp/servers/{server_id}":{"get":{"tags":["mcp-gateway"],"summary":"Get Server","operationId":"get_server_api_v1_mcp_servers__server_id__get","parameters":[{"name":"server_id","in":"path","required":true,"schema":{"type":"string","title":"Server Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["mcp-gateway"],"summary":"Update Server","operationId":"update_server_api_v1_mcp_servers__server_id__patch","parameters":[{"name":"server_id","in":"path","required":true,"schema":{"type":"string","title":"Server Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/McpServerUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/McpServerOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["mcp-gateway"],"summary":"Delete Server","operationId":"delete_server_api_v1_mcp_servers__server_id__delete","parameters":[{"name":"server_id","in":"path","required":true,"schema":{"type":"string","title":"Server Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/mcp/tools/{tool_id}":{"patch":{"tags":["mcp-gateway"],"summary":"Update Tool","operationId":"update_tool_api_v1_mcp_tools__tool_id__patch","parameters":[{"name":"tool_id","in":"path","required":true,"schema":{"type":"string","title":"Tool Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/McpToolUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/McpToolOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/mcp/servers/{server_id}/tools/sync":{"post":{"tags":["mcp-gateway"],"summary":"Sync Tools","operationId":"sync_tools_api_v1_mcp_servers__server_id__tools_sync_post","parameters":[{"name":"server_id","in":"path","required":true,"schema":{"type":"string","title":"Server Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolSyncIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/mcp/servers/{server_id}/config":{"get":{"tags":["mcp-gateway"],"summary":"Server Config","operationId":"server_config_api_v1_mcp_servers__server_id__config_get","parameters":[{"name":"server_id","in":"path","required":true,"schema":{"type":"string","title":"Server Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/mcp/servers/{server_id}/allowed-tools":{"get":{"tags":["mcp-gateway"],"summary":"Allowed Tools","description":"Return only the tools a subject may see/invoke (allow or require_approval).\n\nDenied tools are omitted entirely — least-privilege discovery.","operationId":"allowed_tools_api_v1_mcp_servers__server_id__allowed_tools_get","parameters":[{"name":"server_id","in":"path","required":true,"schema":{"type":"string","title":"Server Id"}},{"name":"subject_type","in":"query","required":false,"schema":{"type":"string","default":"agent","title":"Subject Type"}},{"name":"subject_id","in":"query","required":false,"schema":{"type":"string","default":"","title":"Subject Id"}},{"name":"on_behalf_of_user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"On Behalf Of User Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/idp/providers":{"get":{"tags":["identity-providers"],"summary":"List Providers","operationId":"list_providers_api_v1_idp_providers_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["identity-providers"],"summary":"Create Provider","operationId":"create_provider_api_v1_idp_providers_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderIn"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/idp/providers/{pid}":{"get":{"tags":["identity-providers"],"summary":"Get Provider","operationId":"get_provider_api_v1_idp_providers__pid__get","parameters":[{"name":"pid","in":"path","required":true,"schema":{"type":"string","title":"Pid"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["identity-providers"],"summary":"Update Provider","operationId":"update_provider_api_v1_idp_providers__pid__patch","parameters":[{"name":"pid","in":"path","required":true,"schema":{"type":"string","title":"Pid"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["identity-providers"],"summary":"Delete Provider","operationId":"delete_provider_api_v1_idp_providers__pid__delete","parameters":[{"name":"pid","in":"path","required":true,"schema":{"type":"string","title":"Pid"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/idp/providers/{pid}/test":{"post":{"tags":["identity-providers"],"summary":"Test Provider","operationId":"test_provider_api_v1_idp_providers__pid__test_post","parameters":[{"name":"pid","in":"path","required":true,"schema":{"type":"string","title":"Pid"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/idp/providers/{pid}/sync":{"post":{"tags":["identity-providers"],"summary":"Sync Provider","operationId":"sync_provider_api_v1_idp_providers__pid__sync_post","parameters":[{"name":"pid","in":"path","required":true,"schema":{"type":"string","title":"Pid"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/subscribe":{"post":{"tags":["subscribe"],"summary":"Subscribe","description":"Capture a newsletter/waitlist signup. Idempotent on email.","operationId":"subscribe_api_v1_subscribe_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscribeIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/approvals/analytics":{"get":{"tags":["approvals"],"summary":"Approval Analytics","operationId":"approval_analytics_api_v1_approvals_analytics_get","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","default":30,"title":"Days"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/jit-grants":{"get":{"tags":["jit"],"summary":"List Grants","operationId":"list_grants_api_v1_jit_grants_get","parameters":[{"name":"active","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Active"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/GrantOut"},"title":"Response List Grants Api V1 Jit Grants Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["jit"],"summary":"Create Grant","operationId":"create_grant_api_v1_jit_grants_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrantIn"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrantOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/jit-grants/{grant_id}/revoke":{"post":{"tags":["jit"],"summary":"Revoke Grant","operationId":"revoke_grant_api_v1_jit_grants__grant_id__revoke_post","parameters":[{"name":"grant_id","in":"path","required":true,"schema":{"type":"string","title":"Grant Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrantOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/jit-grants/request":{"post":{"tags":["jit"],"summary":"Request Elevation","description":"Self-service JIT elevation request — any authenticated user.\n\nCreates a pending ApprovalRequest with request_type=\"jit_elevation\".  An\nadmin reviews it via the normal approvals queue; on approval the JitGrant\nis auto-created by ``auto_fulfill_jit_elevation``.","operationId":"request_elevation_api_v1_jit_grants_request_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ElevationRequestIn"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ElevationRequestOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/jit-grants/my-requests":{"get":{"tags":["jit"],"summary":"My Requests","description":"List the calling user's own JIT elevation requests (pending and recent).","operationId":"my_requests_api_v1_jit_grants_my_requests_get","parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MyRequestOut"},"title":"Response My Requests Api V1 Jit Grants My Requests Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/compliance/evidence":{"get":{"tags":["compliance"],"summary":"Compliance Evidence","operationId":"compliance_evidence_api_v1_compliance_evidence_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mcp/v1":{"post":{"tags":["mcp"],"summary":"Mcp Endpoint","description":"Streamable HTTP endpoint -- MCP 2025 spec (GET/POST/DELETE).","operationId":"mcp_endpoint_mcp_v1_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["mcp"],"summary":"Mcp Endpoint","description":"Streamable HTTP endpoint -- MCP 2025 spec (GET/POST/DELETE).","operationId":"mcp_endpoint_mcp_v1_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["mcp"],"summary":"Mcp Endpoint","description":"Streamable HTTP endpoint -- MCP 2025 spec (GET/POST/DELETE).","operationId":"mcp_endpoint_mcp_v1_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mcp/v1/sse":{"post":{"tags":["mcp"],"summary":"Mcp Endpoint Sse","description":"Legacy /sse path alias -- same Streamable HTTP handler.","operationId":"mcp_endpoint_sse_mcp_v1_sse_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["mcp"],"summary":"Mcp Endpoint Sse","description":"Legacy /sse path alias -- same Streamable HTTP handler.","operationId":"mcp_endpoint_sse_mcp_v1_sse_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["mcp"],"summary":"Mcp Endpoint Sse","description":"Legacy /sse path alias -- same Streamable HTTP handler.","operationId":"mcp_endpoint_sse_mcp_v1_sse_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/oauth/authorize":{"get":{"tags":["oauth"],"summary":"Authorize Get","description":"Validate params and serve the consent/login page.","operationId":"authorize_get_oauth_authorize_get","parameters":[{"name":"client_id","in":"query","required":true,"schema":{"type":"string","title":"Client Id"}},{"name":"redirect_uri","in":"query","required":true,"schema":{"type":"string","title":"Redirect Uri"}},{"name":"response_type","in":"query","required":true,"schema":{"type":"string","title":"Response Type"}},{"name":"scope","in":"query","required":false,"schema":{"type":"string","default":"read","title":"Scope"}},{"name":"state","in":"query","required":false,"schema":{"type":"string","default":"","title":"State"}},{"name":"code_challenge","in":"query","required":true,"schema":{"type":"string","title":"Code Challenge"}},{"name":"code_challenge_method","in":"query","required":false,"schema":{"type":"string","default":"S256","title":"Code Challenge Method"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["oauth"],"summary":"Authorize Post","description":"User approved — mint an auth code and redirect.\n\nAccepts the Kynara access token either from the Authorization header\n(fetch-based submit) or as a hidden form field (native form submit).\nReturns a proper 302 redirect so Claude's callback listener fires.","operationId":"authorize_post_oauth_authorize_post","requestBody":{"required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_authorize_post_oauth_authorize_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/oauth/token":{"post":{"tags":["oauth"],"summary":"Token Endpoint","description":"Exchange authorization code for an access token.","operationId":"token_endpoint_oauth_token_post","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_token_endpoint_oauth_token_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/oauth/userinfo":{"get":{"tags":["oauth"],"summary":"Userinfo","operationId":"userinfo_oauth_userinfo_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"AcceptIn":{"properties":{"token":{"type":"string","title":"Token"},"email":{"type":"string","format":"email","title":"Email"},"password":{"type":"string","title":"Password"},"display_name":{"type":"string","title":"Display Name"}},"type":"object","required":["token","email","password","display_name"],"title":"AcceptIn"},"AcceptOut":{"properties":{"access_token":{"type":"string","title":"Access Token"},"refresh_token":{"type":"string","title":"Refresh Token"},"token_type":{"type":"string","title":"Token Type","default":"Bearer"},"expires_in":{"type":"integer","title":"Expires In"}},"type":"object","required":["access_token","refresh_token","expires_in"],"title":"AcceptOut"},"AdminAgentOut":{"properties":{"id":{"type":"string","title":"Id"},"slug":{"type":"string","title":"Slug"},"display_name":{"type":"string","title":"Display Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"mode":{"type":"string","title":"Mode"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"is_active":{"type":"boolean","title":"Is Active"},"daily_action_budget":{"type":"integer","title":"Daily Action Budget"},"last_action_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Action At"},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created At"}},"type":"object","required":["id","slug","display_name","description","mode","model","is_active","daily_action_budget","last_action_at","created_at"],"title":"AdminAgentOut"},"AdminApprovalOut":{"properties":{"id":{"type":"string","title":"Id"},"subject_type":{"type":"string","title":"Subject Type"},"subject_id":{"type":"string","title":"Subject Id"},"on_behalf_of_user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"On Behalf Of User Id"},"action":{"type":"string","title":"Action"},"resource_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Resource Type"},"resource_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Resource Id"},"status":{"type":"string","title":"Status"},"matched_policy_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Matched Policy Id"},"reviewed_by_user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reviewed By User Id"},"reviewed_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reviewed At"},"expires_at":{"type":"string","title":"Expires At"},"created_at":{"type":"string","title":"Created At"}},"type":"object","required":["id","subject_type","subject_id","on_behalf_of_user_id","action","resource_type","resource_id","status","matched_policy_id","reviewed_by_user_id","reviewed_at","expires_at","created_at"],"title":"AdminApprovalOut"},"AdminInviteIn":{"properties":{"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"seat_role":{"type":"string","title":"Seat Role","default":"developer"}},"type":"object","title":"AdminInviteIn"},"AdminInviteOut":{"properties":{"invite_id":{"type":"string","title":"Invite Id"},"token":{"type":"string","title":"Token"},"expires_at":{"type":"string","title":"Expires At"},"seat_role":{"type":"string","title":"Seat Role"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"email_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email Error"}},"type":"object","required":["invite_id","token","expires_at","seat_role","email"],"title":"AdminInviteOut"},"AdminMemberOut":{"properties":{"user_id":{"type":"string","title":"User Id"},"email":{"type":"string","title":"Email"},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Name"},"seat_role":{"type":"string","title":"Seat Role"},"is_active":{"type":"boolean","title":"Is Active"},"is_superadmin":{"type":"boolean","title":"Is Superadmin"},"mfa_enrolled":{"type":"boolean","title":"Mfa Enrolled"},"last_login_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Login At"}},"type":"object","required":["user_id","email","display_name","seat_role","is_active","is_superadmin","mfa_enrolled","last_login_at"],"title":"AdminMemberOut"},"AdminOrgOut":{"properties":{"org_id":{"type":"string","title":"Org Id"},"name":{"type":"string","title":"Name"},"slug":{"type":"string","title":"Slug"},"plan":{"type":"string","title":"Plan"},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created At"},"member_count":{"type":"integer","title":"Member Count"},"members":{"items":{"$ref":"#/components/schemas/AdminMemberOut"},"type":"array","title":"Members"},"subscription":{"anyOf":[{"$ref":"#/components/schemas/AdminSubscriptionOut"},{"type":"null"}]}},"type":"object","required":["org_id","name","slug","plan","created_at","member_count","members","subscription"],"title":"AdminOrgOut"},"AdminSubscriptionOut":{"properties":{"plan":{"type":"string","title":"Plan"},"status":{"type":"string","title":"Status"},"seats_included":{"type":"integer","title":"Seats Included"},"decisions_included":{"type":"integer","title":"Decisions Included"},"current_period_end":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Current Period End"}},"type":"object","required":["plan","status","seats_included","decisions_included","current_period_end"],"title":"AdminSubscriptionOut"},"AdminUserOut":{"properties":{"user_id":{"type":"string","title":"User Id"},"email":{"type":"string","title":"Email"},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Name"},"is_active":{"type":"boolean","title":"Is Active"},"is_superadmin":{"type":"boolean","title":"Is Superadmin"},"mfa_enrolled":{"type":"boolean","title":"Mfa Enrolled"},"last_login_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Login At"},"orgs":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Orgs"},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created At"}},"type":"object","required":["user_id","email","display_name","is_active","is_superadmin","mfa_enrolled","last_login_at","orgs","created_at"],"title":"AdminUserOut"},"AgentIn":{"properties":{"slug":{"type":"string","maxLength":64,"minLength":2,"pattern":"^[a-z0-9][a-z0-9-_]*$","title":"Slug"},"display_name":{"type":"string","title":"Display Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"mode":{"type":"string","title":"Mode","default":"human_supervised"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"daily_action_budget":{"type":"integer","title":"Daily Action Budget","default":10000}},"type":"object","required":["slug","display_name"],"title":"AgentIn"},"AgentOut":{"properties":{"slug":{"type":"string","maxLength":64,"minLength":2,"pattern":"^[a-z0-9][a-z0-9-_]*$","title":"Slug"},"display_name":{"type":"string","title":"Display Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"mode":{"type":"string","title":"Mode","default":"human_supervised"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"daily_action_budget":{"type":"integer","title":"Daily Action Budget","default":10000},"id":{"type":"string","title":"Id"},"is_active":{"type":"boolean","title":"Is Active"},"last_action_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Action At"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["slug","display_name","id","is_active","last_action_at","created_at"],"title":"AgentOut"},"AgentUpdate":{"properties":{"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"mode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mode"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"daily_action_budget":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Daily Action Budget"}},"type":"object","title":"AgentUpdate"},"ApiKeyOut":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"prefix":{"type":"string","title":"Prefix"},"last_four":{"type":"string","title":"Last Four"},"scopes":{"items":{"type":"string"},"type":"array","title":"Scopes"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"last_used_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Used At"},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At"},"revoked":{"type":"boolean","title":"Revoked"}},"type":"object","required":["id","name","prefix","last_four","scopes","created_at","last_used_at","expires_at","revoked"],"title":"ApiKeyOut"},"ApprovalListOut":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ApprovalOut"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"pending_count":{"type":"integer","title":"Pending Count"}},"type":"object","required":["items","total","pending_count"],"title":"ApprovalListOut"},"ApprovalOut":{"properties":{"id":{"type":"string","title":"Id"},"organization_id":{"type":"string","title":"Organization Id"},"subject_type":{"type":"string","title":"Subject Type"},"subject_id":{"type":"string","title":"Subject Id"},"on_behalf_of_user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"On Behalf Of User Id"},"action":{"type":"string","title":"Action"},"resource_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Resource Type"},"resource_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Resource Id"},"resource_attrs":{"additionalProperties":true,"type":"object","title":"Resource Attrs"},"context":{"additionalProperties":true,"type":"object","title":"Context"},"matched_policy_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Matched Policy Id"},"status":{"type":"string","title":"Status"},"reviewed_by_user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reviewed By User Id"},"reviewed_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reviewed At"},"review_note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Review Note"},"expires_at":{"type":"string","title":"Expires At"},"created_at":{"type":"string","title":"Created At"},"risk":{"additionalProperties":true,"type":"object","title":"Risk"}},"type":"object","required":["id","organization_id","subject_type","subject_id","on_behalf_of_user_id","action","resource_type","resource_id","resource_attrs","context","matched_policy_id","status","reviewed_by_user_id","reviewed_at","review_note","expires_at","created_at","risk"],"title":"ApprovalOut"},"AssignmentIn":{"properties":{"user_id":{"type":"string","title":"User Id"},"role_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Role Id"},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At"}},"type":"object","required":["user_id"],"title":"AssignmentIn"},"AuditEventOut":{"properties":{"id":{"type":"string","title":"Id"},"sequence":{"type":"integer","title":"Sequence"},"ts":{"type":"string","format":"date-time","title":"Ts"},"event_type":{"type":"string","title":"Event Type"},"actor":{"type":"string","title":"Actor"},"on_behalf_of":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"On Behalf Of"},"resource_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Resource Type"},"resource_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Resource Id"},"outcome":{"type":"string","title":"Outcome"},"payload":{"additionalProperties":true,"type":"object","title":"Payload"},"ip_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ip Address"},"request_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Request Id"},"prev_hash":{"type":"string","title":"Prev Hash"},"entry_hash":{"type":"string","title":"Entry Hash"}},"type":"object","required":["id","sequence","ts","event_type","actor","on_behalf_of","resource_type","resource_id","outcome","payload","ip_address","request_id","prev_hash","entry_hash"],"title":"AuditEventOut"},"BindingIn":{"properties":{"subject_selector":{"type":"string","title":"Subject Selector","description":"e.g. 'agent:<uuid>', 'user:<uuid>', 'role:<slug>', or '*'"}},"type":"object","required":["subject_selector"],"title":"BindingIn"},"Body_authorize_post_oauth_authorize_post":{"properties":{"client_id":{"type":"string","title":"Client Id"},"redirect_uri":{"type":"string","title":"Redirect Uri"},"scope":{"type":"string","title":"Scope","default":"read"},"state":{"type":"string","title":"State","default":""},"code_challenge":{"type":"string","title":"Code Challenge"},"code_challenge_method":{"type":"string","title":"Code Challenge Method","default":"S256"},"access_token":{"type":"string","title":"Access Token"}},"type":"object","required":["client_id","redirect_uri","code_challenge"],"title":"Body_authorize_post_oauth_authorize_post"},"Body_token_endpoint_oauth_token_post":{"properties":{"grant_type":{"type":"string","title":"Grant Type"},"code":{"type":"string","title":"Code"},"redirect_uri":{"type":"string","title":"Redirect Uri"},"client_id":{"type":"string","title":"Client Id"},"code_verifier":{"type":"string","title":"Code Verifier"}},"type":"object","required":["grant_type","code","redirect_uri","client_id","code_verifier"],"title":"Body_token_endpoint_oauth_token_post"},"Body_update_member_role_api_v1_admin_orgs__org_id__members__user_id__patch":{"properties":{"seat_role":{"type":"string","title":"Seat Role"}},"type":"object","required":["seat_role"],"title":"Body_update_member_role_api_v1_admin_orgs__org_id__members__user_id__patch"},"Body_update_member_role_api_v1_org_members__user_id__patch":{"properties":{"seat_role":{"type":"string","title":"Seat Role"}},"type":"object","required":["seat_role"],"title":"Body_update_member_role_api_v1_org_members__user_id__patch"},"CheckoutIn":{"properties":{"plan":{"type":"string","title":"Plan"},"success_url":{"type":"string","title":"Success Url"},"cancel_url":{"type":"string","title":"Cancel Url"}},"type":"object","required":["plan","success_url","cancel_url"],"title":"CheckoutIn"},"ConnectionIn":{"properties":{"provider":{"type":"string","title":"Provider"},"protocol":{"type":"string","title":"Protocol"},"domain":{"type":"string","title":"Domain","default":""},"issuer":{"type":"string","title":"Issuer","default":""},"client_id":{"type":"string","title":"Client Id","default":""},"client_secret":{"type":"string","title":"Client Secret","default":""},"idp_entity_id":{"type":"string","title":"Idp Entity Id","default":""},"idp_sso_url":{"type":"string","title":"Idp Sso Url","default":""},"idp_x509":{"type":"string","title":"Idp X509","default":""},"attribute_mapping_email":{"type":"string","title":"Attribute Mapping Email","default":"email"},"attribute_mapping_name":{"type":"string","title":"Attribute Mapping Name","default":"name"},"attribute_mapping_groups":{"type":"string","title":"Attribute Mapping Groups","default":"groups"}},"type":"object","required":["provider","protocol"],"title":"ConnectionIn"},"ConnectionPatch":{"properties":{"is_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Enabled"},"enforce_for_org":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enforce For Org"}},"type":"object","title":"ConnectionPatch"},"ContactForm":{"properties":{"name":{"type":"string","title":"Name"},"email":{"type":"string","format":"email","title":"Email"},"message":{"type":"string","title":"Message"}},"type":"object","required":["name","email","message"],"title":"ContactForm"},"CreateKeyRequest":{"properties":{"name":{"type":"string","title":"Name"},"scopes":{"items":{"type":"string"},"type":"array","title":"Scopes","default":["audit.read"]},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At"}},"type":"object","required":["name"],"title":"CreateKeyRequest"},"CreateKeyResponse":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"prefix":{"type":"string","title":"Prefix"},"last_four":{"type":"string","title":"Last Four"},"scopes":{"items":{"type":"string"},"type":"array","title":"Scopes"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"last_used_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Used At"},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At"},"revoked":{"type":"boolean","title":"Revoked"},"secret":{"type":"string","title":"Secret"}},"type":"object","required":["id","name","prefix","last_four","scopes","created_at","last_used_at","expires_at","revoked","secret"],"title":"CreateKeyResponse"},"CreateOrgIn":{"properties":{"name":{"type":"string","title":"Name"},"plan":{"type":"string","title":"Plan","default":"free"}},"type":"object","required":["name"],"title":"CreateOrgIn"},"CreateOrgOut":{"properties":{"org_id":{"type":"string","title":"Org Id"},"name":{"type":"string","title":"Name"},"slug":{"type":"string","title":"Slug"},"plan":{"type":"string","title":"Plan"}},"type":"object","required":["org_id","name","slug","plan"],"title":"CreateOrgOut"},"CredentialIssueIn":{"properties":{"credential_type":{"type":"string","title":"Credential Type","default":"api_key"},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata","default":{}}},"type":"object","title":"CredentialIssueIn"},"CredentialIssueOut":{"properties":{"id":{"type":"string","title":"Id"},"credential_type":{"type":"string","title":"Credential Type"},"key_prefix":{"type":"string","title":"Key Prefix"},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"plaintext_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Plaintext Key"},"certificate_pem":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Certificate Pem"},"private_key_pem":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Private Key Pem"}},"type":"object","required":["id","credential_type","key_prefix","expires_at","created_at"],"title":"CredentialIssueOut"},"CredentialListItem":{"properties":{"id":{"type":"string","title":"Id"},"credential_type":{"type":"string","title":"Credential Type"},"key_prefix":{"type":"string","title":"Key Prefix"},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At"},"last_used_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Used At"},"revoked_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Revoked At"},"is_active":{"type":"boolean","title":"Is Active"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","credential_type","key_prefix","expires_at","last_used_at","revoked_at","is_active","created_at"],"title":"CredentialListItem"},"DecisionIn":{"properties":{"subject_type":{"type":"string","pattern":"^(agent|user|api_key)$","title":"Subject Type"},"subject_id":{"type":"string","title":"Subject Id"},"on_behalf_of_user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"On Behalf Of User Id"},"action":{"type":"string","title":"Action"},"resource":{"additionalProperties":true,"type":"object","title":"Resource"},"context":{"additionalProperties":true,"type":"object","title":"Context"}},"type":"object","required":["subject_type","subject_id","action"],"title":"DecisionIn"},"DecisionOut":{"properties":{"effect":{"type":"string","title":"Effect"},"reason":{"type":"string","title":"Reason"},"matched_policy_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Matched Policy Id"},"obligations":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Obligations"},"approval_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Approval Id"},"granted_scopes":{"items":{"type":"string"},"type":"array","title":"Granted Scopes","default":[]},"rbac_pass":{"type":"boolean","title":"Rbac Pass","default":true}},"type":"object","required":["effect","reason","matched_policy_id","obligations"],"title":"DecisionOut"},"DelegateIn":{"properties":{"child_agent_id":{"type":"string","title":"Child Agent Id"},"delegated_scopes":{"items":{"type":"string"},"type":"array","minItems":1,"title":"Delegated Scopes"},"max_chain_depth":{"type":"integer","maximum":3.0,"minimum":1.0,"title":"Max Chain Depth","default":1},"justification":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Justification"},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At"}},"type":"object","required":["child_agent_id","delegated_scopes"],"title":"DelegateIn"},"DelegationOut":{"properties":{"id":{"type":"string","title":"Id"},"parent_agent_id":{"type":"string","title":"Parent Agent Id"},"child_agent_id":{"type":"string","title":"Child Agent Id"},"delegated_scopes":{"items":{"type":"string"},"type":"array","title":"Delegated Scopes"},"chain_depth":{"type":"integer","title":"Chain Depth"},"max_chain_depth":{"type":"integer","title":"Max Chain Depth"},"justification":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Justification"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Expires At"},"is_active":{"type":"boolean","title":"Is Active"},"created_at":{"type":"string","title":"Created At"}},"type":"object","required":["id","parent_agent_id","child_agent_id","delegated_scopes","chain_depth","max_chain_depth","justification","expires_at","is_active","created_at"],"title":"DelegationOut"},"DeliveryOut":{"properties":{"id":{"type":"string","title":"Id"},"event_id":{"type":"string","title":"Event Id"},"event_type":{"type":"string","title":"Event Type"},"status":{"type":"string","title":"Status"},"attempts":{"type":"integer","title":"Attempts"},"last_response_status":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Last Response Status"},"last_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Error"},"last_attempt_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Attempt At"},"delivered_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Delivered At"},"created_at":{"type":"string","title":"Created At"}},"type":"object","required":["id","event_id","event_type","status","attempts","last_response_status","last_error","last_attempt_at","delivered_at","created_at"],"title":"DeliveryOut"},"ElevationRequestIn":{"properties":{"scopes":{"items":{"type":"string"},"type":"array","minItems":1,"title":"Scopes"},"duration_minutes":{"type":"integer","maximum":480.0,"minimum":5.0,"title":"Duration Minutes","default":60},"justification":{"type":"string","maxLength":2048,"minLength":10,"title":"Justification"},"ticket_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ticket Url"}},"type":"object","required":["scopes","justification"],"title":"ElevationRequestIn"},"ElevationRequestOut":{"properties":{"approval_request_id":{"type":"string","title":"Approval Request Id"},"status":{"type":"string","title":"Status"},"message":{"type":"string","title":"Message"}},"type":"object","required":["approval_request_id","status","message"],"title":"ElevationRequestOut"},"EmailConfigIn":{"properties":{"recipients":{"type":"string","title":"Recipients"},"enabled":{"type":"boolean","title":"Enabled","default":true}},"type":"object","required":["recipients"],"title":"EmailConfigIn"},"EndpointIn":{"properties":{"url":{"type":"string","maxLength":2083,"minLength":1,"format":"uri","title":"Url"},"event_types":{"items":{"type":"string"},"type":"array","title":"Event Types"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"}},"type":"object","required":["url","event_types"],"title":"EndpointIn"},"EndpointOut":{"properties":{"id":{"type":"string","title":"Id"},"url":{"type":"string","title":"Url"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"event_types":{"items":{"type":"string"},"type":"array","title":"Event Types"},"is_enabled":{"type":"boolean","title":"Is Enabled"},"secret_prefix":{"type":"string","title":"Secret Prefix"},"last_success_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Success At"},"last_failure_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Failure At"},"consecutive_failures":{"type":"integer","title":"Consecutive Failures"},"created_at":{"type":"string","title":"Created At"}},"type":"object","required":["id","url","description","event_types","is_enabled","secret_prefix","last_success_at","last_failure_at","consecutive_failures","created_at"],"title":"EndpointOut"},"ForgotPasswordIn":{"properties":{"email":{"type":"string","format":"email","title":"Email"}},"type":"object","required":["email"],"title":"ForgotPasswordIn"},"FreshSecretOut":{"properties":{"id":{"type":"string","title":"Id"},"url":{"type":"string","title":"Url"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"event_types":{"items":{"type":"string"},"type":"array","title":"Event Types"},"is_enabled":{"type":"boolean","title":"Is Enabled"},"secret_prefix":{"type":"string","title":"Secret Prefix"},"last_success_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Success At"},"last_failure_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Failure At"},"consecutive_failures":{"type":"integer","title":"Consecutive Failures"},"created_at":{"type":"string","title":"Created At"},"secret":{"type":"string","title":"Secret"}},"type":"object","required":["id","url","description","event_types","is_enabled","secret_prefix","last_success_at","last_failure_at","consecutive_failures","created_at","secret"],"title":"FreshSecretOut"},"GitConnectIn":{"properties":{"provider":{"type":"string","title":"Provider"},"repo_url":{"type":"string","title":"Repo Url"},"branch":{"type":"string","title":"Branch","default":"main"},"access_token":{"type":"string","title":"Access Token"}},"type":"object","required":["provider","repo_url","access_token"],"title":"GitConnectIn"},"GitConnectOut":{"properties":{"id":{"type":"string","title":"Id"},"provider":{"type":"string","title":"Provider"},"repo_url":{"type":"string","title":"Repo Url"},"branch":{"type":"string","title":"Branch"},"sync_status":{"type":"string","title":"Sync Status"},"last_sync_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Sync At"},"last_sync_sha":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Sync Sha"},"is_active":{"type":"boolean","title":"Is Active"},"webhook_secret":{"type":"string","title":"Webhook Secret"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","provider","repo_url","branch","sync_status","last_sync_at","last_sync_sha","is_active","webhook_secret","created_at"],"title":"GitConnectOut"},"GrantIn":{"properties":{"user_id":{"type":"string","title":"User Id"},"scopes":{"items":{"type":"string"},"type":"array","title":"Scopes"},"duration_minutes":{"type":"integer","maximum":480.0,"minimum":5.0,"title":"Duration Minutes","default":60},"justification":{"type":"string","maxLength":2048,"minLength":10,"title":"Justification"},"ticket_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ticket Url"}},"type":"object","required":["user_id","scopes","justification"],"title":"GrantIn"},"GrantOut":{"properties":{"id":{"type":"string","title":"Id"},"user_id":{"type":"string","title":"User Id"},"granted_by_user_id":{"type":"string","title":"Granted By User Id"},"scopes":{"items":{"type":"string"},"type":"array","title":"Scopes"},"justification":{"type":"string","title":"Justification"},"ticket_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ticket Url"},"expires_at":{"type":"string","title":"Expires At"},"revoked_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Revoked At"},"is_active":{"type":"boolean","title":"Is Active"},"created_at":{"type":"string","title":"Created At"}},"type":"object","required":["id","user_id","granted_by_user_id","scopes","justification","ticket_url","expires_at","revoked_at","is_active","created_at"],"title":"GrantOut"},"GuardrailEventOut":{"properties":{"id":{"type":"string","title":"Id"},"integration_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Integration Id"},"agent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Id"},"rule_name":{"type":"string","title":"Rule Name"},"severity":{"type":"string","title":"Severity"},"action_taken":{"type":"string","title":"Action Taken"},"action_detail":{"additionalProperties":true,"type":"object","title":"Action Detail"},"payload":{"additionalProperties":true,"type":"object","title":"Payload"},"created_at":{"type":"string","title":"Created At"}},"type":"object","required":["id","integration_id","agent_id","rule_name","severity","action_taken","action_detail","payload","created_at"],"title":"GuardrailEventOut"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"InstallResult":{"properties":{"template_slug":{"type":"string","title":"Template Slug"},"created_policy_ids":{"items":{"type":"string"},"type":"array","title":"Created Policy Ids"},"skipped_slugs":{"items":{"type":"string"},"type":"array","title":"Skipped Slugs"}},"type":"object","required":["template_slug","created_policy_ids","skipped_slugs"],"title":"InstallResult"},"IntegrationConfigIn":{"properties":{"slack":{"anyOf":[{"$ref":"#/components/schemas/SlackConfigIn"},{"type":"null"}]},"teams":{"anyOf":[{"$ref":"#/components/schemas/TeamsConfigIn"},{"type":"null"}]},"pagerduty":{"anyOf":[{"$ref":"#/components/schemas/PagerDutyConfigIn"},{"type":"null"}]},"email":{"anyOf":[{"$ref":"#/components/schemas/EmailConfigIn"},{"type":"null"}]}},"type":"object","title":"IntegrationConfigIn"},"IntegrationConfigOut":{"properties":{"slack_enabled":{"type":"boolean","title":"Slack Enabled"},"slack_channel_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Slack Channel Id"},"slack_bot_token_set":{"type":"boolean","title":"Slack Bot Token Set"},"slack_signing_secret_set":{"type":"boolean","title":"Slack Signing Secret Set"},"slack_webhook_url_set":{"type":"boolean","title":"Slack Webhook Url Set"},"teams_enabled":{"type":"boolean","title":"Teams Enabled"},"teams_webhook_url_set":{"type":"boolean","title":"Teams Webhook Url Set"},"teams_callback_secret_set":{"type":"boolean","title":"Teams Callback Secret Set"},"pagerduty_enabled":{"type":"boolean","title":"Pagerduty Enabled"},"pagerduty_routing_key_set":{"type":"boolean","title":"Pagerduty Routing Key Set"},"email_enabled":{"type":"boolean","title":"Email Enabled"},"email_recipients":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email Recipients"}},"type":"object","required":["slack_enabled","slack_channel_id","slack_bot_token_set","slack_signing_secret_set","slack_webhook_url_set","teams_enabled","teams_webhook_url_set","teams_callback_secret_set","pagerduty_enabled","pagerduty_routing_key_set","email_enabled","email_recipients"],"title":"IntegrationConfigOut"},"IntegrationIn":{"properties":{"name":{"type":"string","maxLength":200,"minLength":1,"title":"Name"},"provider":{"type":"string","title":"Provider"},"webhook_secret":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Secret"},"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Api Key"},"api_endpoint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Api Endpoint"},"default_action":{"type":"string","title":"Default Action","default":"alert_only"},"severity_action_map":{"additionalProperties":{"type":"string"},"type":"object","title":"Severity Action Map","default":{}},"agent_ids":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Agent Ids"},"monitored_rules":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Monitored Rules"},"is_enabled":{"type":"boolean","title":"Is Enabled","default":true}},"type":"object","required":["name","provider"],"title":"IntegrationIn"},"IntegrationOut":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"provider":{"type":"string","title":"Provider"},"default_action":{"type":"string","title":"Default Action"},"severity_action_map":{"additionalProperties":true,"type":"object","title":"Severity Action Map"},"agent_ids":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Agent Ids"},"monitored_rules":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Monitored Rules"},"is_enabled":{"type":"boolean","title":"Is Enabled"},"created_at":{"type":"string","title":"Created At"},"webhook_inbound_url":{"type":"string","title":"Webhook Inbound Url"}},"type":"object","required":["id","name","provider","default_action","severity_action_map","agent_ids","monitored_rules","is_enabled","created_at","webhook_inbound_url"],"title":"IntegrationOut"},"InviteIn":{"properties":{"email":{"anyOf":[{"type":"string","format":"email"},{"type":"null"}],"title":"Email"},"seat_role":{"type":"string","title":"Seat Role","default":"developer"}},"type":"object","title":"InviteIn"},"InviteInfo":{"properties":{"invite_id":{"type":"string","title":"Invite Id"},"org_name":{"type":"string","title":"Org Name"},"seat_role":{"type":"string","title":"Seat Role"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"valid":{"type":"boolean","title":"Valid"}},"type":"object","required":["invite_id","org_name","seat_role","email","valid"],"title":"InviteInfo"},"InviteOut":{"properties":{"invite_id":{"type":"string","title":"Invite Id"},"token":{"type":"string","title":"Token"},"expires_at":{"type":"string","title":"Expires At"},"seat_role":{"type":"string","title":"Seat Role"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"}},"type":"object","required":["invite_id","token","expires_at","seat_role","email"],"title":"InviteOut"},"InviteSummary":{"properties":{"invite_id":{"type":"string","title":"Invite Id"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"seat_role":{"type":"string","title":"Seat Role"},"expires_at":{"type":"string","title":"Expires At"},"created_at":{"type":"string","title":"Created At"},"invited_by_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Invited By Email"},"invited_by_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Invited By Name"},"used":{"type":"boolean","title":"Used"},"revoked":{"type":"boolean","title":"Revoked"}},"type":"object","required":["invite_id","email","seat_role","expires_at","created_at","invited_by_email","invited_by_name","used","revoked"],"title":"InviteSummary"},"LoginIn":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"password":{"type":"string","title":"Password"},"org_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Org Id"}},"type":"object","required":["email","password"],"title":"LoginIn"},"McpServerIn":{"properties":{"name":{"type":"string","maxLength":200,"minLength":1,"title":"Name"},"slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Slug"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"transport":{"type":"string","pattern":"^(sse|http|stdio)$","title":"Transport","default":"sse"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"stdio_cmd":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stdio Cmd"},"upstream_headers":{"additionalProperties":true,"type":"object","title":"Upstream Headers"},"scope_prefix":{"type":"string","maxLength":128,"title":"Scope Prefix","default":"mcp"},"fail_mode":{"type":"string","pattern":"^(open|closed)$","title":"Fail Mode","default":"closed"},"require_approval_default":{"type":"boolean","title":"Require Approval Default","default":false},"is_enabled":{"type":"boolean","title":"Is Enabled","default":true}},"type":"object","required":["name"],"title":"McpServerIn"},"McpServerOut":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"slug":{"type":"string","title":"Slug"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"transport":{"type":"string","title":"Transport"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"stdio_cmd":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stdio Cmd"},"scope_prefix":{"type":"string","title":"Scope Prefix"},"fail_mode":{"type":"string","title":"Fail Mode"},"require_approval_default":{"type":"boolean","title":"Require Approval Default"},"is_enabled":{"type":"boolean","title":"Is Enabled"},"last_synced_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Synced At"},"tool_count":{"type":"integer","title":"Tool Count"}},"type":"object","required":["id","name","slug","description","transport","url","stdio_cmd","scope_prefix","fail_mode","require_approval_default","is_enabled","last_synced_at","tool_count"],"title":"McpServerOut"},"McpServerUpdate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"transport":{"anyOf":[{"type":"string","pattern":"^(sse|http|stdio)$"},{"type":"null"}],"title":"Transport"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"stdio_cmd":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stdio Cmd"},"upstream_headers":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Upstream Headers"},"scope_prefix":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Scope Prefix"},"fail_mode":{"anyOf":[{"type":"string","pattern":"^(open|closed)$"},{"type":"null"}],"title":"Fail Mode"},"require_approval_default":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Require Approval Default"},"is_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Enabled"}},"type":"object","title":"McpServerUpdate"},"McpToolOut":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"scope":{"type":"string","title":"Scope"},"risk_class":{"type":"string","title":"Risk Class"},"effect_override":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Effect Override"},"is_enabled":{"type":"boolean","title":"Is Enabled"}},"type":"object","required":["id","name","description","scope","risk_class","effect_override","is_enabled"],"title":"McpToolOut"},"McpToolUpdate":{"properties":{"scope":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Scope"},"risk_class":{"anyOf":[{"type":"string","pattern":"^(low|medium|high|critical)$"},{"type":"null"}],"title":"Risk Class"},"effect_override":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Effect Override"},"is_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Enabled"}},"type":"object","title":"McpToolUpdate"},"MeOut":{"properties":{"user_id":{"type":"string","title":"User Id"},"email":{"type":"string","title":"Email"},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Name"},"org_id":{"type":"string","title":"Org Id"},"seat_role":{"type":"string","title":"Seat Role"},"scopes":{"items":{"type":"string"},"type":"array","title":"Scopes"},"mfa_enrolled":{"type":"boolean","title":"Mfa Enrolled"},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timezone"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"},"is_superadmin":{"type":"boolean","title":"Is Superadmin","default":false}},"type":"object","required":["user_id","email","display_name","org_id","seat_role","scopes","mfa_enrolled"],"title":"MeOut"},"MyRequestOut":{"properties":{"approval_request_id":{"type":"string","title":"Approval Request Id"},"status":{"type":"string","title":"Status"},"scopes":{"items":{"type":"string"},"type":"array","title":"Scopes"},"duration_minutes":{"type":"integer","title":"Duration Minutes"},"justification":{"type":"string","title":"Justification"},"ticket_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ticket Url"},"created_at":{"type":"string","title":"Created At"},"expires_at":{"type":"string","title":"Expires At"},"reviewed_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reviewed At"},"review_note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Review Note"}},"type":"object","required":["approval_request_id","status","scopes","duration_minutes","justification","ticket_url","created_at","expires_at","reviewed_at","review_note"],"title":"MyRequestOut"},"OidcStartIn":{"properties":{"connection_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Connection Id"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"}},"type":"object","title":"OidcStartIn"},"OrgOut":{"properties":{"org_id":{"type":"string","title":"Org Id"},"org_name":{"type":"string","title":"Org Name"},"slug":{"type":"string","title":"Slug"},"seat_role":{"type":"string","title":"Seat Role"},"plan":{"type":"string","title":"Plan"}},"type":"object","required":["org_id","org_name","slug","seat_role","plan"],"title":"OrgOut"},"PagerDutyConfigIn":{"properties":{"routing_key":{"type":"string","title":"Routing Key"},"enabled":{"type":"boolean","title":"Enabled","default":true}},"type":"object","required":["routing_key"],"title":"PagerDutyConfigIn"},"PolicyIn":{"properties":{"slug":{"type":"string","title":"Slug"},"display_name":{"type":"string","title":"Display Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"effect":{"type":"string","pattern":"^(allow|deny|require_approval)$","title":"Effect"},"priority":{"type":"integer","title":"Priority","default":500},"actions":{"items":{"type":"string"},"type":"array","title":"Actions"},"resource_types":{"items":{"type":"string"},"type":"array","title":"Resource Types"},"condition":{"additionalProperties":true,"type":"object","title":"Condition"},"is_enabled":{"type":"boolean","title":"Is Enabled","default":true},"approval_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Approval Email"}},"type":"object","required":["slug","display_name","effect"],"title":"PolicyIn"},"PolicyOut":{"properties":{"slug":{"type":"string","title":"Slug"},"display_name":{"type":"string","title":"Display Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"effect":{"type":"string","pattern":"^(allow|deny|require_approval)$","title":"Effect"},"priority":{"type":"integer","title":"Priority","default":500},"actions":{"items":{"type":"string"},"type":"array","title":"Actions"},"resource_types":{"items":{"type":"string"},"type":"array","title":"Resource Types"},"condition":{"additionalProperties":true,"type":"object","title":"Condition"},"is_enabled":{"type":"boolean","title":"Is Enabled","default":true},"approval_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Approval Email"},"id":{"type":"string","title":"Id"}},"type":"object","required":["slug","display_name","effect","id"],"title":"PolicyOut"},"PolicyVersionDetailOut":{"properties":{"id":{"type":"string","title":"Id"},"version_number":{"type":"integer","title":"Version Number"},"changed_by":{"type":"string","title":"Changed By"},"change_note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Change Note"},"created_at":{"type":"string","title":"Created At"},"snapshot":{"additionalProperties":true,"type":"object","title":"Snapshot"}},"type":"object","required":["id","version_number","changed_by","change_note","created_at","snapshot"],"title":"PolicyVersionDetailOut"},"PolicyVersionOut":{"properties":{"id":{"type":"string","title":"Id"},"version_number":{"type":"integer","title":"Version Number"},"changed_by":{"type":"string","title":"Changed By"},"change_note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Change Note"},"created_at":{"type":"string","title":"Created At"}},"type":"object","required":["id","version_number","changed_by","change_note","created_at"],"title":"PolicyVersionOut"},"ProviderIn":{"properties":{"name":{"type":"string","maxLength":200,"minLength":1,"title":"Name"},"provider":{"type":"string","pattern":"^okta$","title":"Provider","default":"okta"},"base_url":{"type":"string","maxLength":512,"minLength":1,"title":"Base Url"},"api_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Api Token"},"sync_mode":{"type":"string","pattern":"^(agents|group)$","title":"Sync Mode","default":"agents"},"group_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Group Id"},"default_mode":{"type":"string","pattern":"^(human_supervised|autonomous|read_only)$","title":"Default Mode","default":"human_supervised"},"role_mapping":{"additionalProperties":true,"type":"object","title":"Role Mapping"},"default_on_behalf_user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Default On Behalf User Id"},"deactivate_missing":{"type":"boolean","title":"Deactivate Missing","default":false},"is_enabled":{"type":"boolean","title":"Is Enabled","default":true}},"type":"object","required":["name","base_url"],"title":"ProviderIn"},"ProviderUpdate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"base_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Base Url"},"api_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Api Token"},"sync_mode":{"anyOf":[{"type":"string","pattern":"^(agents|group)$"},{"type":"null"}],"title":"Sync Mode"},"group_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Group Id"},"default_mode":{"anyOf":[{"type":"string","pattern":"^(human_supervised|autonomous|read_only)$"},{"type":"null"}],"title":"Default Mode"},"role_mapping":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Role Mapping"},"default_on_behalf_user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Default On Behalf User Id"},"deactivate_missing":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Deactivate Missing"},"is_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Enabled"}},"type":"object","title":"ProviderUpdate"},"RefreshIn":{"properties":{"refresh_token":{"type":"string","title":"Refresh Token"},"org_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Org Id"}},"type":"object","required":["refresh_token"],"title":"RefreshIn"},"RegisterIn":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"password":{"type":"string","title":"Password"},"display_name":{"type":"string","title":"Display Name"},"org_name":{"type":"string","title":"Org Name"}},"type":"object","required":["email","password","display_name","org_name"],"title":"RegisterIn"},"ReplayDiffItem":{"properties":{"audit_sequence":{"type":"integer","title":"Audit Sequence"},"ts":{"type":"string","title":"Ts"},"actor":{"type":"string","title":"Actor"},"action":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Action"},"original_effect":{"type":"string","title":"Original Effect"},"replayed_effect":{"type":"string","title":"Replayed Effect"},"matched_policy_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Matched Policy Id"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reason"}},"type":"object","required":["audit_sequence","ts","actor","action","original_effect","replayed_effect","matched_policy_id","reason"],"title":"ReplayDiffItem"},"ReplayRequest":{"properties":{"since":{"type":"string","format":"date-time","title":"Since"},"until":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Until"},"max_events":{"type":"integer","maximum":100000.0,"minimum":1.0,"title":"Max Events","default":5000}},"type":"object","required":["since"],"title":"ReplayRequest"},"ReplayResult":{"properties":{"window":{"additionalProperties":true,"type":"object","title":"Window"},"events_evaluated":{"type":"integer","title":"Events Evaluated"},"summary":{"additionalProperties":{"type":"integer"},"type":"object","title":"Summary"},"unchanged":{"type":"integer","title":"Unchanged"},"diffs":{"items":{"$ref":"#/components/schemas/ReplayDiffItem"},"type":"array","title":"Diffs"}},"type":"object","required":["window","events_evaluated","summary","unchanged","diffs"],"title":"ReplayResult"},"ResetPasswordIn":{"properties":{"token":{"type":"string","title":"Token"},"new_password":{"type":"string","title":"New Password"}},"type":"object","required":["token","new_password"],"title":"ResetPasswordIn"},"RiskOut":{"properties":{"agent_id":{"type":"string","title":"Agent Id"},"risk_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Risk Score"},"risk_class":{"type":"string","title":"Risk Class"},"risk_factors":{"additionalProperties":true,"type":"object","title":"Risk Factors"},"scored_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Scored At"}},"type":"object","required":["agent_id","risk_score","risk_class","risk_factors","scored_at"],"title":"RiskOut"},"RoleIn":{"properties":{"slug":{"type":"string","maxLength":64,"minLength":1,"title":"Slug"},"display_name":{"type":"string","maxLength":255,"minLength":1,"title":"Display Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"scopes":{"items":{"type":"string"},"type":"array","title":"Scopes"}},"type":"object","required":["slug","display_name"],"title":"RoleIn"},"RoleOut":{"properties":{"id":{"type":"string","title":"Id"},"slug":{"type":"string","title":"Slug"},"display_name":{"type":"string","title":"Display Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"scopes":{"items":{"type":"string"},"type":"array","title":"Scopes"},"is_system":{"type":"boolean","title":"Is System"}},"type":"object","required":["id","slug","display_name","description","scopes","is_system"],"title":"RoleOut"},"RoleUpdate":{"properties":{"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"scopes":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Scopes"}},"type":"object","title":"RoleUpdate"},"RollbackIn":{"properties":{"change_note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Change Note"}},"type":"object","title":"RollbackIn"},"RotateResult":{"properties":{"revoked_id":{"type":"string","title":"Revoked Id"},"new_credential":{"$ref":"#/components/schemas/CredentialIssueOut"}},"type":"object","required":["revoked_id","new_credential"],"title":"RotateResult"},"RuleIn":{"properties":{"name":{"type":"string","maxLength":200,"minLength":1,"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"integration_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Integration Id"},"event_count_threshold":{"type":"integer","minimum":1.0,"title":"Event Count Threshold","default":1},"time_window_seconds":{"type":"integer","maximum":86400.0,"minimum":10.0,"title":"Time Window Seconds","default":300},"filter_agent_ids":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Filter Agent Ids"},"filter_severities":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Filter Severities"},"filter_rule_names":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Filter Rule Names"},"action":{"type":"string","title":"Action","default":"alert_only"},"is_enabled":{"type":"boolean","title":"Is Enabled","default":true}},"type":"object","required":["name"],"title":"RuleIn"},"RuleOut":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"integration_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Integration Id"},"event_count_threshold":{"type":"integer","title":"Event Count Threshold"},"time_window_seconds":{"type":"integer","title":"Time Window Seconds"},"filter_agent_ids":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Filter Agent Ids"},"filter_severities":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Filter Severities"},"filter_rule_names":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Filter Rule Names"},"action":{"type":"string","title":"Action"},"is_enabled":{"type":"boolean","title":"Is Enabled"},"created_at":{"type":"string","title":"Created At"}},"type":"object","required":["id","name","description","integration_id","event_count_threshold","time_window_seconds","filter_agent_ids","filter_severities","filter_rule_names","action","is_enabled","created_at"],"title":"RuleOut"},"SamlStartIn":{"properties":{"connection_id":{"type":"string","title":"Connection Id"},"return_to":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Return To"}},"type":"object","required":["connection_id"],"title":"SamlStartIn"},"SimulateRequest":{"properties":{"agent_id":{"type":"string","title":"Agent Id"},"action":{"type":"string","title":"Action"},"resource":{"additionalProperties":true,"type":"object","title":"Resource"},"context":{"additionalProperties":true,"type":"object","title":"Context"}},"type":"object","required":["agent_id","action"],"title":"SimulateRequest"},"SimulateResult":{"properties":{"effect":{"type":"string","title":"Effect"},"matched_policy_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Matched Policy Id"},"matched_policy_slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Matched Policy Slug"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reason"}},"type":"object","required":["effect","matched_policy_id","matched_policy_slug","reason"],"title":"SimulateResult"},"SlackConfigIn":{"properties":{"bot_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bot Token"},"signing_secret":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Signing Secret"},"channel_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Channel Id"},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url"},"enabled":{"type":"boolean","title":"Enabled","default":true}},"type":"object","title":"SlackConfigIn"},"SubscribeIn":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"source":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Source"}},"type":"object","required":["email"],"title":"SubscribeIn"},"SubscriptionOut":{"properties":{"plan":{"type":"string","title":"Plan"},"status":{"type":"string","title":"Status"},"seats_included":{"type":"integer","title":"Seats Included"},"decisions_included":{"type":"integer","title":"Decisions Included"},"current_period_start":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Current Period Start"},"current_period_end":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Current Period End"}},"type":"object","required":["plan","status","seats_included","decisions_included","current_period_start","current_period_end"],"title":"SubscriptionOut"},"SyncResult":{"properties":{"sync_status":{"type":"string","title":"Sync Status"},"last_sync_sha":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Sync Sha"},"last_sync_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Sync At"},"diff":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Diff"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}},"type":"object","required":["sync_status","last_sync_sha","last_sync_at"],"title":"SyncResult"},"TeamsConfigIn":{"properties":{"webhook_url":{"type":"string","title":"Webhook Url"},"callback_secret":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Callback Secret"},"enabled":{"type":"boolean","title":"Enabled","default":true}},"type":"object","required":["webhook_url"],"title":"TeamsConfigIn"},"TemplateCreateIn":{"properties":{"slug":{"type":"string","title":"Slug"},"display_name":{"type":"string","title":"Display Name"},"description":{"type":"string","title":"Description","default":""},"category":{"type":"string","title":"Category","default":"general"},"template_data":{"additionalProperties":true,"type":"object","title":"Template Data"},"tags":{"items":{"type":"string"},"type":"array","title":"Tags","default":[]}},"type":"object","required":["slug","display_name","template_data"],"title":"TemplateCreateIn"},"TemplateDetailOut":{"properties":{"id":{"type":"string","title":"Id"},"slug":{"type":"string","title":"Slug"},"display_name":{"type":"string","title":"Display Name"},"description":{"type":"string","title":"Description"},"category":{"type":"string","title":"Category"},"author":{"type":"string","title":"Author"},"tags":{"items":{"type":"string"},"type":"array","title":"Tags"},"install_count":{"type":"integer","title":"Install Count"},"is_published":{"type":"boolean","title":"Is Published"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"template_data":{"additionalProperties":true,"type":"object","title":"Template Data"}},"type":"object","required":["id","slug","display_name","description","category","author","tags","install_count","is_published","created_at","template_data"],"title":"TemplateDetailOut"},"TemplateOut":{"properties":{"id":{"type":"string","title":"Id"},"slug":{"type":"string","title":"Slug"},"display_name":{"type":"string","title":"Display Name"},"description":{"type":"string","title":"Description"},"category":{"type":"string","title":"Category"},"author":{"type":"string","title":"Author"},"tags":{"items":{"type":"string"},"type":"array","title":"Tags"},"install_count":{"type":"integer","title":"Install Count"},"is_published":{"type":"boolean","title":"Is Published"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","slug","display_name","description","category","author","tags","install_count","is_published","created_at"],"title":"TemplateOut"},"TokenOut":{"properties":{"access_token":{"type":"string","title":"Access Token"},"refresh_token":{"type":"string","title":"Refresh Token"},"token_type":{"type":"string","title":"Token Type","default":"Bearer"},"expires_in":{"type":"integer","title":"Expires In"}},"type":"object","required":["access_token","refresh_token","expires_in"],"title":"TokenOut"},"ToolIn":{"properties":{"namespace":{"type":"string","pattern":"^[a-z0-9][a-z0-9_]*$","title":"Namespace"},"name":{"type":"string","pattern":"^[a-z0-9][a-z0-9_.]*$","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"risk_class":{"type":"string","pattern":"^(low|medium|high|critical)$","title":"Risk Class","default":"low"},"input_schema":{"additionalProperties":true,"type":"object","title":"Input Schema"},"scopes":{"items":{"type":"string"},"type":"array","title":"Scopes"}},"type":"object","required":["namespace","name"],"title":"ToolIn"},"ToolOut":{"properties":{"namespace":{"type":"string","pattern":"^[a-z0-9][a-z0-9_]*$","title":"Namespace"},"name":{"type":"string","pattern":"^[a-z0-9][a-z0-9_.]*$","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"risk_class":{"type":"string","pattern":"^(low|medium|high|critical)$","title":"Risk Class","default":"low"},"input_schema":{"additionalProperties":true,"type":"object","title":"Input Schema"},"scopes":{"items":{"type":"string"},"type":"array","title":"Scopes"},"id":{"type":"string","title":"Id"},"is_enabled":{"type":"boolean","title":"Is Enabled"}},"type":"object","required":["namespace","name","id","is_enabled"],"title":"ToolOut"},"ToolSyncIn":{"properties":{"tools":{"items":{"$ref":"#/components/schemas/ToolSyncItem"},"type":"array","title":"Tools"}},"type":"object","required":["tools"],"title":"ToolSyncIn"},"ToolSyncItem":{"properties":{"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"input_schema":{"additionalProperties":true,"type":"object","title":"Input Schema"}},"type":"object","required":["name"],"title":"ToolSyncItem"},"ToolUpdate":{"properties":{"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"risk_class":{"type":"string","pattern":"^(low|medium|high|critical)$","title":"Risk Class","default":"low"},"input_schema":{"additionalProperties":true,"type":"object","title":"Input Schema"},"scopes":{"items":{"type":"string"},"type":"array","title":"Scopes"},"is_enabled":{"type":"boolean","title":"Is Enabled","default":true}},"type":"object","title":"ToolUpdate"},"UpdateMeIn":{"properties":{"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Name"},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timezone"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"}},"type":"object","title":"UpdateMeIn"},"UpdateOrgIn":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"plan":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Plan"}},"type":"object","title":"UpdateOrgIn"},"UpdateUserIn":{"properties":{"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Name"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"},"is_superadmin":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Superadmin"}},"type":"object","title":"UpdateUserIn"},"UsageOut":{"properties":{"period_start":{"type":"string","format":"date-time","title":"Period Start"},"period_end":{"type":"string","format":"date-time","title":"Period End"},"decisions_used":{"type":"integer","title":"Decisions Used"},"decisions_included":{"type":"integer","title":"Decisions Included"},"overage_decisions":{"type":"integer","title":"Overage Decisions"},"overage_amount_cents":{"type":"integer","title":"Overage Amount Cents"}},"type":"object","required":["period_start","period_end","decisions_used","decisions_included","overage_decisions","overage_amount_cents"],"title":"UsageOut"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}