openapi: 3.2.0 info: title: Janssen Authorization Server UMA (User Managed Access) API description: Janssen Authorization Server - OAuth 2.0 server; OpenID Connect Provider (OP) & UMA Authorization Server (AS) contact: name: Contact url: https://github.com/JanssenProject/jans/discussions license: name: License url: https://github.com/JanssenProject/jans/blob/main/LICENSE version: OAS Version servers: - url: https://jans.local.io/jans-auth tags: - name: UMA (User Managed Access) paths: /restv1/uma/gather_claims: get: tags: - UMA (User Managed Access) summary: UMA Claims Gathering Endpoint description: UMA Claims Gathering Endpoint. operationId: get-uma-gather_claims parameters: - name: client_id in: query description: OAuth 2.0 Client Identifier valid at the Authorization Server. schema: type: string - name: ticket in: query schema: type: string - name: claims_redirect_uri in: query schema: type: string - name: state in: query schema: type: string - name: reset in: query schema: type: boolean - name: authentication in: query schema: type: boolean responses: 302: $ref: '#/components/responses/Found' 400: description: Invalid parameters provided to endpoint. content: application/json: schema: type: object required: - error - error_description properties: error: type: string format: enum example: - invalid_session - invalid_claims_gathering_script_name error_description: type: string details: type: string 500: description: Invalid parameters provided to endpoint. content: application/json: schema: type: object required: - error - error_description properties: error: type: string format: enum example: - server_error error_description: type: string details: type: string post: tags: - UMA (User Managed Access) summary: UMA Claims Gathering Endpoint operationId: post-uma-gather_claims requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: client_id: type: string description: OAuth 2.0 Client Identifier valid at the Authorization Server. ticket: type: string claims_redirect_uri: type: string state: type: string reset: type: boolean authentication: type: boolean responses: 302: $ref: '#/components/responses/Found' 400: description: Invalid parameters provided to endpoint. content: application/json: schema: type: object required: - error - error_description properties: error: type: string format: enum example: - invalid_session - invalid_claims_gathering_script_name error_description: type: string details: type: string 500: description: Invalid parameters provided to endpoint. content: application/json: schema: type: object required: - error - error_description properties: error: type: string format: enum example: - server_error error_description: type: string details: type: string /restv1/uma2-configuration: get: tags: - UMA (User Managed Access) summary: Gets UMA configuration data description: Gets UMA configuration data. operationId: uma2-configuration responses: 200: description: OK content: application/json: schema: type: object description: UmaMetadata required: - issuer - authorization_endpoint - token_endpoint - response_types_supported properties: issuer: type: string description: The authorization server's issuer identifier, which is\n a URL that uses the \"https\" scheme and has no query or fragment\n components. This is the location where \".well-known\" RFC 5785\n [RFC5785] resources containing information about the authorization\n server are published. Using these well-known resources is\n described in Section 3. The issuer identifier is used to prevent\n authorization server mix-up attacks, as described in \"OAuth 2.0 Mix-Up Mitigation\" example: https://sample.com authorization_endpoint: type: string description: URL of the authorization server's authorization endpoint. example: https://sample.com/jans-auth/restv1/authorize token_endpoint: type: string description: URL of the authorization server's token endpoint [RFC6749]. This is REQUIRED unless only the implicit grant type is used. example: https://sample.com/jans-auth/restv1/token jwks_uri: type: string description: URL of the authorization server's JWK Set [JWK] document. The referenced document contains the signing key(s) the client uses to validate signatures from the authorization server. This URL MUST use the \"https\" scheme. The JWK Set MAY also contain the server's encryption key(s), which are used by clients to encrypt requests to the server. When both signing and encryption keys are made available, a \"use\" (public key use) parameter value is REQUIRED for all keys in the referenced JWK Set to indicate each key's intended usage. example: https://sample.com/jans-auth/restv1/jwks registration_endpoint: type: string description: URL of the authorization server's OAuth 2.0 Dynamic Client Registration endpoint [RFC7591] example: https://sample.com/jans-auth/restv1/register response_types_supported: type: array items: type: string description: JSON array containing a list of the OAuth 2.0 \"response_type\" values that this authorization server supports. The array values used are the same as those used with the \"response_types\" parameter defined by \"OAuth 2.0 Dynamic Client Registration Protocol\" [RFC7591]. example: - code - id_token - token grant_types_supported: type: array items: type: string description: JSON array containing a list of the OAuth 2.0 grant type values that this authorization server supports. The array values used are the same as those used with the \"grant_types\" parameter defined by \"OAuth 2.0 Dynamic Client Registration Protocol\" [RFC7591]. If omitted, the default value is \"[\"authorization_code\", \"implicit\"]\". example: - authorization_code - implicit - client_credentials token_endpoint_auth_methods_supported: type: array items: type: string description: JSON array containing a list of client authentication methods supported by this token endpoint. Client authentication method values are used in the \"token_endpoint_auth_method\" parameter defined in Section 2 of [RFC7591]. If omitted, the default is \"client_secret_basic\" -- the HTTP Basic Authentication Scheme specified in Section 2.3.1 of OAuth 2.0 [RFC6749]. example: - client_secret_basic - client_secret_post - client_secret_jwt - private_key_jwt token_endpoint_auth_signing_alg_values_supported: type: array items: type: string description: JSON array containing a list of the JWS signing algorithms (\"alg\" values) supported by the token endpoint for the signature on the JWT [JWT] used to authenticate the client at the token endpoint for the \"private_key_jwt\" and \"client_secret_jwt\" authentication methods. Servers SHOULD support \"RS256\". The value \"none\" MUST NOT be used. example: - HS256 - HS384 - HS512 - RS256 - RS384 - RS512 - ES256 - ES384 - ES512 service_documentation: type: string description: URL of a page containing human-readable information that developers might want or need to know when using the authorization server. In particular, if the authorization server does not support Dynamic Client Registration, then information on how to register clients needs to be provided in this documentation. example: http:// ui_locales_supported: type: array items: type: string description: Languages and scripts supported for the user interface, represented as a JSON array of BCP47 [RFC5646] language tag values. example: - en - es op_policy_uri: type: string description: URL that the authorization server provides to the person registering the client to read about the authorization server's requirements on how the client can use the data provided by the authorization server. The registration process SHOULD display this URL to the person registering the client if it is given. As described in Section 5, despite the identifier \"op_policy_uri\", appearing to be OpenID-specific, its usage in this specification is actually referring to a general OAuth 2.0 feature that is not specific to OpenID Connect. example: http://gluu.sample.com/policy op_tos_uri: type: string description: URL that the authorization server provides to the person registering the client to read about the authorization server's terms of service. The registration process SHOULD display this URL to the person registering the client if it is given. As described in Section 5, despite the identifier \"op_tos_uri\", appearing to be OpenID-specific, its usage in this specification is actually referring to a general OAuth 2.0 feature that is not specific to OpenID Connect. example: http://gluu.sample.com/tos introspection_endpoint: type: string description: URL of the authorization server's OAuth 2.0 introspection endpoint [RFC7662]. example: https://sample.com/jans-auth/restv1/rpt/status code_challenge_methods_supported: type: array items: type: string description: JSON array containing a list of PKCE [RFC7636] code challenge methods supported by this authorization server. Code challenge method values are used in the \"code_challenge_method\" parameter defined in Section 4.3 of [RFC7636]. The valid code challenge method values are those registered in the IANA \"PKCE Code Challenge Methods\" registry [IANA.OAuth.Parameters] claims_interaction_endpoint: type: string description: Static endpoint URI at which the authorization server declares that it interacts with end-user requesting parties to gather claims. If the authorization server also provides a claims interaction endpoint URI as part of its redirect_user hint in a need_info response to a client on authorization failure (see Section 3.3.6), that value overrides this metadata value. Providing the static endpoint URI is useful for enabling interactive claims gathering prior to any pushed-claims flows taking place, so that, for example, it is possible to gather requesting party authorization interactively for collecting all other claims in a \"silent\" fashion." example: https://sample.com/jans-auth/restv1/uma/gather_claims uma_profiles_supported: type: array items: type: string description: UMA profiles supported by this authorization server. The value is an array of string values, where each string value is a URI identifying an UMA profile permission_endpoint: type: string description: The endpoint URI at which the resource server requests permissions on the client's behalf. example: https://sample.com/jans-auth/restv1/host/rsrc_pr resource_registration_endpoint: type: string description: The endpoint URI at which the resource server registers resources to put them under authorization manager protection. example: https://sample.com/jans-auth/restv1/host/rsrc/resource_set scope_endpoint: type: string description: The Scope endpoint URI. example: https://sample.com/jans-auth/restv1/uma/scopes 500: description: Invalid parameters provided to endpoint. content: application/json: schema: type: object required: - error - error_description properties: error: type: string format: enum example: - server_error error_description: type: string details: type: string /restv1/host/rsrc_pr: post: tags: - UMA (User Managed Access) summary: Registers permission description: Registers permission. operationId: host-rsrc_pr parameters: - name: Authorization in: header required: true description: Client Authorization details that contains the access token along with other details. schema: type: string requestBody: required: true content: application/x-www-form-urlencoded: schema: title: UmaPermissiona description: A permission is (requested or granted) authorized access to a particular resource with some number of scopes bound to that resource. type: object required: - resource_id - resource_scopes properties: resource_id: type: string description: The identifier for a resource to which this client is seeking access. The identifier MUST correspond to a resource that was previously registered. example: 112210f47de98100 resource_scopes: type: array description: An array referencing zero or more strings representing scopes to which access was granted for this resource. Each string MUST correspond to a scope that was registered by this resource server for the referenced resource. items: type: string params: type: object description: A key/value map that can contain custom parameters. additionalProperties: type: string responses: 201: description: OK content: application/json: schema: title: UmaPermissionList type: array description: List of Uma Permission. items: type: object required: - resource_id - resource_scopes properties: resource_id: type: string description: The identifier for a resource to which this client is seeking access. The identifier MUST correspond to a resource that was previously registered. example: 112210f47de98100 resource_scopes: type: array description: An array referencing zero or more strings representing scopes to which access was granted for this resource. Each string MUST correspond to a scope that was registered by this resource server for the referenced resource. items: type: string example: - http://photoz.example.com/dev/actions/add - http://photoz.example.com/dev/actions/internalClient params: type: object description: A key/value map that can contain custom parameters. additionalProperties: type: string exp: type: integer description: Number of seconds since January 1 1970 UTC, indicating when this token will expire. format: int64 example: 1256953732 500: description: Invalid parameters provided to endpoint. content: application/json: schema: type: object required: - error - error_description properties: error: type: string format: enum example: - server_error error_description: type: string details: type: string components: responses: Found: description: Resource Found. content: {} securitySchemes: bearer: type: http scheme: bearer