Every API here is available over the APIs.io API and to AI agents over MCP.
{"openapi":"3.1.0","info":{"title":"FastAPI","version":"0.1.0"},"paths":{"/oauth/.well-known/jwks":{"get":{"tags":["Authentication"],"summary":"Get Jwks","operationId":"get_jwks_oauth__well_known_jwks_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JWKS"}}}}}}},"/oauth/authorize":{"get":{"tags":["Authentication"],"summary":"Authorize","operationId":"authorize_oauth_authorize_get","parameters":[{"name":"response_type","in":"query","required":true,"schema":{"$ref":"#/components/schemas/ResponseType"}},{"name":"redirect_uri","in":"query","required":true,"schema":{"type":"string","title":"Redirect Uri"}},{"name":"state","in":"query","required":true,"schema":{"type":"string","title":"State"}},{"name":"scope","in":"query","required":true,"schema":{"type":"string","title":"Scope"}},{"name":"client_id","in":"query","required":true,"schema":{"type":"string","title":"Client Id"}},{"name":"code_challenge","in":"query","required":true,"schema":{"type":"string","minLength":43,"maxLength":128,"pattern":"^[A-Za-z0-9._~-]+$","title":"Code Challenge"}},{"name":"code_challenge_method","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SupportedCodeChallengeMethods"}},{"name":"kc_theme","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Kc Theme"}},{"name":"nonce","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nonce"}},{"name":"prompt","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt"}},{"name":"response_mode","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Response Mode"}},{"name":"login_hint","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Login Hint"}},{"name":"id_token_hint","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id Token Hint"}},{"name":"max_age","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Age"}},{"name":"acr_values","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Acr Values"}},{"name":"x-authenticated-user","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Authenticated-User"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/oauth/authorize/complete":{"get":{"tags":["Authentication"],"summary":"Authorize Complete","operationId":"authorize_complete_oauth_authorize_complete_get","parameters":[{"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"}}}}}}},"/oauth/token":{"post":{"tags":["Authentication"],"summary":"Get Access Token","description":"## This endpoint supports the following authorization flows:\n- Authorization Code Flow.\nExample of request body input:\n```\n{\n \"grant_type\": \"authorization_code\",\n \"client_id\": \"string\",\n \"code\": \"string\",\n \"redirect_uri\": \"string\",\n \"code_verifier\": \"string\"\n}\n```\n\n- Refresh Token FLow.\nExample of request body input:\n```\n{\n \"grant_type\": \"refresh_token\",\n \"client_id\": \"string\",\n \"refresh_token\": \"string\"\n}\n```\n\n- Client Credentials Flow.\nExample of request body input:\n```\n{\n \"grant_type\": \"client_credentials\",\n \"client_id\": \"string\",\n \"client_secret\": \"string\"\n}\n```\n\n- VP Flow.\nExample of request body input:\n```\n{\n \"grant_type\": \"vc\",\n \"vp\": \"dict\"\n}\n```\n\n- VP Refresh Token FLow.\nExample of request body input:\n```\n{\n \"grant_type\": \"vc_refresh_token\",\n \"refresh_token\": \"string\"\n}\n```\n\n## Returns:\n```\n{\n \"access_token\": \"string\",\n \"expires_at\": 0,\n \"token_type\": \"string\",\n \"scope\": \"string\",\n \"refresh_token\": \"string\",\n \"refresh_expires_at\": 0,\n \"id_token\": \"string\",\n \"id_expires_at\": 0\n}\n```","operationId":"get_access_token_oauth_token_post","parameters":[{"name":"dpop","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dpop"}},{"name":"jwt_fingerprint","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Jwt Fingerprint"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/AuthorizationCodeParams"},{"$ref":"#/components/schemas/RefreshTokenParams"},{"$ref":"#/components/schemas/ClientCredentialParams"},{"$ref":"#/components/schemas/VpParams"},{"$ref":"#/components/schemas/VpRefreshTokenParams"},{"type":"string"}],"title":"Params"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/oauth/vc-secure-session":{"post":{"tags":["Authentication"],"summary":"Get Vc Secure Session","operationId":"get_vc_secure_session_oauth_vc_secure_session_post","parameters":[{"name":"dpop","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dpop"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetVcSecureParams"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VPChallenge"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/oauth/validate{rest_of_path}":{"head":{"tags":["Authentication"],"summary":"Validate HEAD Request","operationId":"validate_external_token_oauth_validate_rest_of_path__head","parameters":[{"name":"rest_of_path","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rest Of Path"}},{"name":"x-authenticated-user","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Authenticated-User"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-request-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Request-Id"}},{"name":"dpop","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dpop"}},{"name":"jwt_fingerprint","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Jwt Fingerprint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"boolean","title":"Response Validate External Token Oauth Validate Rest Of Path Head"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-simba-api-regex-override":".*"},"patch":{"tags":["Authentication"],"summary":"Validate PATCH Request","operationId":"validate_external_token_oauth_validate_rest_of_path__patch","parameters":[{"name":"rest_of_path","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rest Of Path"}},{"name":"x-authenticated-user","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Authenticated-User"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-request-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Request-Id"}},{"name":"dpop","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dpop"}},{"name":"jwt_fingerprint","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Jwt Fingerprint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"boolean","title":"Response Validate External Token Oauth Validate Rest Of Path Patch"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-simba-api-regex-override":".*"},"delete":{"tags":["Authentication"],"summary":"Validate DELETE Request","operationId":"validate_external_token_oauth_validate_rest_of_path__delete","parameters":[{"name":"rest_of_path","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rest Of Path"}},{"name":"x-authenticated-user","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Authenticated-User"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-request-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Request-Id"}},{"name":"dpop","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dpop"}},{"name":"jwt_fingerprint","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Jwt Fingerprint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"boolean","title":"Response Validate External Token Oauth Validate Rest Of Path Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-simba-api-regex-override":".*"},"put":{"tags":["Authentication"],"summary":"Validate PUT Request","operationId":"validate_external_token_oauth_validate_rest_of_path__put","parameters":[{"name":"rest_of_path","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rest Of Path"}},{"name":"x-authenticated-user","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Authenticated-User"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-request-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Request-Id"}},{"name":"dpop","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dpop"}},{"name":"jwt_fingerprint","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Jwt Fingerprint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"boolean","title":"Response Validate External Token Oauth Validate Rest Of Path Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-simba-api-regex-override":".*"},"post":{"tags":["Authentication"],"summary":"Validate POST Request","operationId":"validate_external_token_oauth_validate_rest_of_path__post","parameters":[{"name":"rest_of_path","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rest Of Path"}},{"name":"x-authenticated-user","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Authenticated-User"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-request-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Request-Id"}},{"name":"dpop","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dpop"}},{"name":"jwt_fingerprint","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Jwt Fingerprint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"boolean","title":"Response Validate External Token Oauth Validate Rest Of Path Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-simba-api-regex-override":".*"},"get":{"tags":["Authentication"],"summary":"Validate GET Request","operationId":"validate_external_token_oauth_validate_rest_of_path__get","parameters":[{"name":"rest_of_path","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rest Of Path"}},{"name":"x-authenticated-user","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Authenticated-User"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-request-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Request-Id"}},{"name":"dpop","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dpop"}},{"name":"jwt_fingerprint","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Jwt Fingerprint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"boolean","title":"Response Validate External Token Oauth Validate Rest Of Path Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-simba-api-regex-override":".*"},"options":{"tags":["Authentication"],"summary":"Validate Options","operationId":"validate_options_oauth_validate_rest_of_path__options","parameters":[{"name":"rest_of_path","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rest Of Path"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"boolean","title":"Response Validate Options Oauth Validate Rest Of Path Options"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-simba-api-regex-override":".*"}},"/oauth/.well-known/openid-configuration":{"get":{"tags":["Authentication"],"summary":"Openid Configuration","description":"Return the OIDC discovery document.\n\nStatic-shape values for the frozen capability set; runtime-derived\nvalues (endpoint URLs, scope list) pulled from the ``AuthService``\n+ the request's resolved base URL + the sanitized\n``x-forwarded-path`` prefix (endpoints render with whichever prefix\nthe caller came in on; ``issuer`` is a URN and stays prefix-\nindependent).\n\nServes with ``Cache-Control: private, max-age=300,\nstale-while-revalidate=60`` (private because the response varies by\nprefix; a shared cache keyed only on Host would serve the wrong-\nprefix doc) + ``Vary: Host, x-forwarded-path`` + a weak ETag.\nHonours ``If-None-Match`` with a 304 — the ETag is computed over\nthe full doc (which already encodes the prefix), so a 304 cannot\nmistakenly return a stale wrong-prefix response.","operationId":"openid_configuration_oauth__well_known_openid_configuration_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/oauth/userinfo":{"get":{"tags":["Authentication"],"summary":"Userinfo","description":"Serve the user-subject claim intersection.","operationId":"userinfo_oauth_userinfo_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"jwt_fingerprint","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Jwt Fingerprint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Userinfo Oauth Userinfo Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/oauth/logout":{"get":{"tags":["Authentication"],"summary":"Logout Get","description":"GET ``/oauth/logout`` — OIDC RP-initiated logout.\n\nNo CSRF token required on GET because the action is bound to the\npresenter's ``id_token_hint``: only a party already in possession\nof a valid id_token (i.e. a recently-authenticated client) can\ncause the bump. Cross-origin forced-logout via GET is therefore\nbounded to the lifetime of the id_token, which OIDC clients\nrotate on every silent renew.","operationId":"logout_get_oauth_logout_get","parameters":[{"name":"id_token_hint","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id Token Hint"}},{"name":"post_logout_redirect_uri","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Post Logout Redirect Uri"}},{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Logout Get Oauth Logout Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Authentication"],"summary":"Logout Post","description":"POST ``/oauth/logout`` — OIDC RP-initiated logout via form POST.\n\nPOST additionally enforces a CSRF token bound to the session cookie\nso a same-site forced-logout form on a malicious page cannot end the\nuser's session via the implicit session cookie.","operationId":"logout_post_oauth_logout_post","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_logout_post_oauth_logout_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Logout Post Oauth Logout Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/identity_permissions/":{"get":{"tags":["Permissions"],"summary":"Get Identities Permissions","operationId":"get_identities_permissions_identity_permissions__get","parameters":[{"name":"service","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Service"}},{"name":"resource","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Resource"}},{"name":"action","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Action"}},{"name":"order_by","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"default":"created_at","title":"Order By"}},{"name":"simba_id","in":"query","required":true,"schema":{"type":"string","title":"Simba Id"}},{"name":"org_names__in","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"default":"","title":"Org Names In"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetIdentityPermissions"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sync_permissions/":{"post":{"tags":["Permissions"],"summary":"Sync Permission","operationId":"sync_permission_sync_permissions__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SyncServicePermissions"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/version":{"get":{"tags":["Probes"],"summary":"Get Version","operationId":"get_version_version_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"string","title":"Response Get Version Version Get"}}}}}}},"/healthz":{"get":{"tags":["Probes"],"summary":"Health","operationId":"health_healthz_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Health Healthz Get"}}}}}}},"/readiness":{"get":{"tags":["Probes"],"summary":"Readiness","operationId":"readiness_readiness_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PingResponses"}}}}}}},"/pingz":{"get":{"tags":["Probes"],"summary":"Ping","operationId":"ping_pingz_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PingResponses"}}}}}}}},"components":{"schemas":{"AuthorizationCodeParams":{"properties":{"grant_type":{"$ref":"#/components/schemas/GrantTypes"},"client_id":{"type":"string","title":"Client Id"},"code":{"type":"string","title":"Code"},"redirect_uri":{"type":"string","title":"Redirect Uri"},"code_verifier":{"type":"string","maxLength":128,"minLength":43,"pattern":"^[A-Za-z0-9._~-]+$","title":"Code Verifier"}},"type":"object","required":["grant_type","client_id","code","redirect_uri","code_verifier"],"title":"AuthorizationCodeParams"},"Body_logout_post_oauth_logout_post":{"properties":{"id_token_hint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id Token Hint"},"post_logout_redirect_uri":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Post Logout Redirect Uri"},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"},"csrf_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Csrf Token"}},"type":"object","title":"Body_logout_post_oauth_logout_post"},"ClientCredentialParams":{"properties":{"grant_type":{"$ref":"#/components/schemas/GrantTypes"},"client_id":{"type":"string","format":"uuid","title":"Client Id"},"client_secret":{"type":"string","title":"Client Secret"}},"type":"object","required":["grant_type","client_id","client_secret"],"title":"ClientCredentialParams"},"Effect":{"type":"string","enum":["allow"],"title":"Effect"},"GetIdentityPermissions":{"properties":{"identity":{"$ref":"#/components/schemas/Identity"},"permissions":{"items":{"$ref":"#/components/schemas/OrgScopedPermission"},"type":"array","title":"Permissions"}},"type":"object","required":["identity","permissions"],"title":"GetIdentityPermissions"},"GetVcSecureParams":{"properties":{"registrant_did_id":{"type":"string","title":"Registrant Did Id"}},"type":"object","required":["registrant_did_id"],"title":"GetVcSecureParams"},"GrantTypes":{"type":"string","enum":["authorization_code","refresh_token","client_credentials","vc","vc_refresh_token"],"title":"GrantTypes"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"Identity":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"simba_id":{"type":"string","title":"Simba Id"},"urn":{"type":"string","title":"Urn"},"email":{"anyOf":[{"type":"string","format":"email"},{"type":"null"}],"title":"Email"},"organisations":{"items":{"$ref":"#/components/schemas/Organisation"},"type":"array","title":"Organisations"}},"type":"object","required":["id","simba_id","urn","organisations"],"title":"Identity"},"JWKS":{"properties":{"keys":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Keys"}},"type":"object","required":["keys"],"title":"JWKS"},"OrgScopedPermission":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"service":{"type":"string","title":"Service"},"resource":{"type":"string","title":"Resource"},"action":{"type":"string","title":"Action"},"is_org_scoped":{"type":"boolean","title":"Is Org Scoped"},"resource_attributes":{"additionalProperties":true,"type":"object","title":"Resource Attributes"},"urls":{"items":{"type":"string"},"type":"array","title":"Urls","default":[]},"effect":{"$ref":"#/components/schemas/Effect"},"id":{"type":"string","format":"uuid","title":"Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"org_domain_name":{"type":"string","title":"Org Domain Name"}},"type":"object","required":["name","description","service","resource","action","is_org_scoped","resource_attributes","effect","org_domain_name"],"title":"OrgScopedPermission"},"Organisation":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"name":{"type":"string","title":"Name"},"display_name":{"type":"string","title":"Display Name"},"is_domain":{"type":"boolean","title":"Is Domain"},"system_type":{"anyOf":[{"$ref":"#/components/schemas/SystemTypes"},{"type":"null"}]}},"type":"object","required":["name","display_name","is_domain"],"title":"Organisation","description":"A model representing an organisation.\n\nThe field `name` is unique."},"PingResponse":{"properties":{"component":{"type":"string","title":"Component"},"success":{"type":"boolean","title":"Success"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}},"type":"object","required":["component","success"],"title":"PingResponse"},"PingResponses":{"properties":{"service":{"type":"string","title":"Service"},"responses":{"items":{"$ref":"#/components/schemas/PingResponse"},"type":"array","title":"Responses"}},"type":"object","required":["service","responses"],"title":"PingResponses"},"RefreshTokenParams":{"properties":{"grant_type":{"$ref":"#/components/schemas/GrantTypes"},"client_id":{"type":"string","title":"Client Id"},"refresh_token":{"type":"string","title":"Refresh Token"},"jwt_fingerprint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Jwt Fingerprint"}},"type":"object","required":["grant_type","client_id","refresh_token"],"title":"RefreshTokenParams"},"ResponseType":{"type":"string","enum":["code"],"title":"ResponseType"},"SupportedCodeChallengeMethods":{"type":"string","enum":["S256"],"title":"SupportedCodeChallengeMethods"},"SyncPermissionInput":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"service":{"type":"string","title":"Service"},"resource":{"type":"string","title":"Resource"},"action":{"type":"string","title":"Action"},"is_org_scoped":{"type":"boolean","title":"Is Org Scoped"},"resource_attributes":{"additionalProperties":true,"type":"object","title":"Resource Attributes"},"urls":{"items":{"type":"string"},"type":"array","title":"Urls","default":[]},"effect":{"$ref":"#/components/schemas/Effect"}},"type":"object","required":["name","description","service","resource","action","is_org_scoped","resource_attributes","effect"],"title":"SyncPermissionInput","description":"A model representing a permission to sync."},"SyncRoleInput":{"properties":{"is_org_role":{"type":"boolean","title":"Is Org Role"},"is_domain_role":{"type":"boolean","title":"Is Domain Role"},"name":{"type":"string","title":"Name"},"is_global":{"type":"boolean","title":"Is Global"},"inherits":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Inherits","default":[]},"permissions":{"items":{"type":"string"},"type":"array","title":"Permissions"}},"type":"object","required":["is_org_role","is_domain_role","name","is_global","permissions"],"title":"SyncRoleInput","description":"A model representing a role to sync."},"SyncServicePermissions":{"properties":{"service":{"type":"string","title":"Service"},"permissions":{"items":{"$ref":"#/components/schemas/SyncPermissionInput"},"type":"array","title":"Permissions"},"roles":{"items":{"$ref":"#/components/schemas/SyncRoleInput"},"type":"array","title":"Roles"}},"type":"object","required":["service","permissions","roles"],"title":"SyncServicePermissions","description":"A model representing a service roles and permission to sync."},"SystemTypes":{"type":"string","enum":["ensure","build","dpp","see"],"title":"SystemTypes"},"TokenResponse":{"properties":{"access_token":{"type":"string","title":"Access Token"},"expires_at":{"type":"integer","title":"Expires At"},"token_type":{"type":"string","title":"Token Type"},"scope":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Scope"},"refresh_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Refresh Token"},"refresh_expires_at":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Refresh Expires At"},"id_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id Token"},"id_expires_at":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Expires At"}},"type":"object","required":["access_token","expires_at","token_type"],"title":"TokenResponse"},"VPChallenge":{"properties":{"challenge":{"type":"string","title":"Challenge"}},"type":"object","required":["challenge"],"title":"VPChallenge"},"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"},"VpParams":{"properties":{"grant_type":{"$ref":"#/components/schemas/GrantTypes"},"vp":{"additionalProperties":true,"type":"object","title":"Vp"}},"type":"object","required":["grant_type","vp"],"title":"VpParams"},"VpRefreshTokenParams":{"properties":{"grant_type":{"$ref":"#/components/schemas/GrantTypes"},"refresh_token":{"type":"string","title":"Refresh Token"}},"type":"object","required":["grant_type","refresh_token"],"title":"VpRefreshTokenParams"}}}}