{"openapi":"3.1.0","info":{"title":"Orcherstrator Authentication services","version":"0.2.0-dev"},"paths":{"/auth/login/{idp}":{"get":{"tags":["Authentication"],"summary":"Login User","operationId":"login_user_auth_login__idp__get","parameters":[{"name":"idp","in":"path","required":true,"schema":{"$ref":"#/components/schemas/IdpType"}},{"name":"client","in":"query","required":false,"schema":{"$ref":"#/components/schemas/ClientType","title":"Hint to redirect users back to the client (cli or gui) the login request comes from","default":"gui"}},{"name":"client_id","in":"query","required":false,"schema":{"type":"string","title":"Oauth client ID to verify the MCP client is registered and valid"}},{"name":"state","in":"query","required":false,"schema":{"type":"string","title":"Oauth state to verify the MCP client is registered and valid"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/logout":{"get":{"tags":["Authentication"],"summary":"Logout User","operationId":"logout_user_auth_logout_get","parameters":[{"name":"client","in":"query","required":false,"schema":{"$ref":"#/components/schemas/ClientType","title":"Hint to redirect users back to the client (cli or gui) the logout request came from","default":"gui"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/validate_token":{"get":{"tags":["Authentication"],"summary":"Validate Auth Token","operationId":"validate_auth_token_auth_validate_token_get","requestBody":{"content":{"application/json":{"schema":{"type":"string","minLength":20,"title":"access token to be validated","description":"access token to authorize access to APIs and the web App. Token supplied in the body directly as a string or {token: str}"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserAccount"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Authentication"],"summary":"Validate Auth Token","operationId":"validate_auth_token_auth_validate_token_post","requestBody":{"content":{"application/json":{"schema":{"type":"string","minLength":20,"title":"access token to be validated","description":"access token to authorize access to APIs and the web App. Token supplied in the body directly as a string or {token: str}"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserAccount"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/client/register":{"post":{"tags":["Authentication"],"summary":"Register Oauth Client","description":"Dynamic Client Registration (DCR) endpoint as per RFC 7591","operationId":"register_oauth_client_auth_client_register_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientRegistration"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientRegistrationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/.well-known/oauth-authorization-server":{"get":{"summary":"Oauth Authorization Server","description":"Returns OAuth2 configuration\n\nReferences:\n    - RFC 8414 Section 2 https://datatracker.ietf.org/doc/html/rfc8414#section-2","operationId":"oauth_authorization_server__well_known_oauth_authorization_server_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}}},"components":{"schemas":{"ClientRegistration":{"properties":{"client_name":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Client Name"},"redirect_uris":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Redirect Uris"},"grant_types":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Grant Types","default":["authorization_code"]},"response_types":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Response Types","default":["code"]},"scope":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Scope"},"logo_uri":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo Uri"},"client_uri":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client Uri"},"contacts":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Contacts"},"tos_uri":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tos Uri"},"policy_uri":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Policy Uri"},"jwks_uri":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Jwks Uri"},"jwks":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Jwks"},"software_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Software Id"},"software_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Software Version"}},"type":"object","title":"ClientRegistration","description":"OAuth 2.0 Dynamic Client Registration request"},"ClientRegistrationResponse":{"properties":{"client_id":{"type":"string","title":"Client Id"},"client_secret":{"type":"string","title":"Client Secret"},"client_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client Name"},"redirect_uris":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Redirect Uris"},"grant_types":{"items":{"type":"string"},"type":"array","title":"Grant Types"},"response_types":{"items":{"type":"string"},"type":"array","title":"Response Types"},"scope":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Scope"},"client_secret_expires_at":{"type":"integer","title":"Client Secret Expires At","default":0}},"type":"object","required":["client_id","client_secret","grant_types","response_types"],"title":"ClientRegistrationResponse","description":"OAuth 2.0 Dynamic Client Registration response"},"ClientType":{"type":"string","enum":["cli","gui","react","mcp"],"title":"ClientType"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"IdpType":{"type":"string","enum":["microsoft","google"],"title":"IdpType"},"UserAccount":{"properties":{"email":{"type":"string","maxLength":200,"minLength":6,"pattern":"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$","title":"email of the user"},"first_name":{"type":"string","maxLength":200,"minLength":1,"title":"first name of the user"},"last_name":{"type":"string","maxLength":200,"minLength":1,"title":"last name of the user"},"type":{"type":"string","title":"User type, supported values: user,system","default":"user"},"permissions":{"type":"string","title":"user permissions: read,write,admin","default":"write"},"id":{"type":"string","maxLength":600,"minLength":6,"title":"internal only: unique identifier for a user (user email)"},"org_id":{"type":"string","maxLength":32,"minLength":32,"title":"Identifier for the organization the user belongs to"},"created":{"type":"string","format":"date-time","title":"internal only: last created date"},"modified":{"type":"string","format":"date-time","title":"internal only: last modified date"},"is_verified":{"type":"boolean","title":"user email verification status"},"is_active":{"type":"boolean","title":"user activation status"},"display_name":{"type":"string","title":"display name of the user"},"description":{"type":"string","title":"description of the user"},"idp":{"type":"string","title":"Identity provider used to authenticate the user"},"client":{"type":"string","title":"Client (cli or gui) the user requested authentication from"},"active":{"type":"boolean","title":"Used for compatibility with MCP TokenVerifier to indicate that the token is not valid (expired, revoked, etc)","default":false},"scopes":{"type":"string","title":"Used for compatibility with MCP TokenVerifier to capture the MCP scopes for the user","default":""}},"type":"object","required":["email","first_name","last_name","id","org_id","created","modified","is_verified","is_active","display_name","description"],"title":"UserAccount","description":"Internal attributes:\n\n    - id: str\n    - created: datetime\n    - modified : datetime\n\nPublic attributes (inherited from class `UserAccountNew`)\n\n    - type: str               must be a supported type (see UserType)\n    - display_name: str       max length: see DN_TEXT_LENGTH\n    - description: str        max length: see DS_TEXT_LENGTH\n    "},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}