Gravitee Certificate API

The Certificate API from Gravitee — 8 operation(s) for certificate.

Documentation

Specifications

SDKs

Schemas & Data

Other Resources

🔗
ChangeLog
https://documentation.gravitee.io/apim/release-information/changelog
🔗
License
https://github.com/gravitee-io/gravitee-api-management/blob/master/LICENSE.txt
🔗
SDKs
https://github.com/gravitee-io/gravitee-clients-sdk
🔗
SDKs
https://github.com/gravitee-io/terraform-provider-apim
🔗
CLI
https://github.com/gravitee-io/graviteeio-cli
🔗
KubernetesOperator
https://github.com/gravitee-io/gravitee-kubernetes-operator
🔗
HelmChart
https://github.com/gravitee-io/helm-charts
🔗
DockerImage
https://hub.docker.com/r/graviteeio/apim-gateway
🔗
JSONLDContext
https://raw.githubusercontent.com/api-evangelist/gravitee/refs/heads/main/json-ld/gravitee-context.jsonld
🔗
KubernetesCRD
https://raw.githubusercontent.com/api-evangelist/gravitee/refs/heads/main/crd/gravitee.io_apidefinitions.yaml
🔗
KubernetesCRD
https://raw.githubusercontent.com/api-evangelist/gravitee/refs/heads/main/crd/gravitee.io_apiv4definitions.yaml
🔗
KubernetesCRD
https://raw.githubusercontent.com/api-evangelist/gravitee/refs/heads/main/crd/gravitee.io_apiresources.yaml
🔗
KubernetesCRD
https://raw.githubusercontent.com/api-evangelist/gravitee/refs/heads/main/crd/gravitee.io_applications.yaml
🔗
KubernetesCRD
https://raw.githubusercontent.com/api-evangelist/gravitee/refs/heads/main/crd/gravitee.io_subscriptions.yaml
🔗
KubernetesCRD
https://raw.githubusercontent.com/api-evangelist/gravitee/refs/heads/main/crd/gravitee.io_managementcontexts.yaml
🔗
KubernetesCRD
https://raw.githubusercontent.com/api-evangelist/gravitee/refs/heads/main/crd/gravitee.io_sharedpolicygroups.yaml
🔗
KubernetesCRD
https://raw.githubusercontent.com/api-evangelist/gravitee/refs/heads/main/crd/gravitee.io_groups.yaml
🔗
KubernetesCRD
https://raw.githubusercontent.com/api-evangelist/gravitee/refs/heads/main/crd/gravitee.io_notifications.yaml
🔗
Plans
https://raw.githubusercontent.com/api-evangelist/gravitee/refs/heads/main/plans/gravitee-plans-pricing.yml
🔗
FinOps
https://raw.githubusercontent.com/api-evangelist/gravitee/refs/heads/main/finops/gravitee-finops.yml
🔗
Capabilities
https://raw.githubusercontent.com/api-evangelist/gravitee/refs/heads/main/capabilities/api-gateway-operations.yaml
🔗
Capabilities
https://raw.githubusercontent.com/api-evangelist/gravitee/refs/heads/main/capabilities/traffic-observability.yaml
🔗
GraphQL
https://raw.githubusercontent.com/api-evangelist/gravitee/refs/heads/main/graphql/gravitee-graphql.md
🔗
Reference
https://documentation.gravitee.io/am/reference/am-api-reference
🔗
ChangeLog
https://documentation.gravitee.io/am/releases-and-changelog/release-notes
🔗
License
https://github.com/gravitee-io/gravitee-access-management/blob/master/LICENSE
🔗
SDKs
https://github.com/gravitee-io/gravitee-access-management/tree/master/gravitee-am-management-api-sdk-java
🔗
HelmChart
https://github.com/gravitee-io/helm-charts/tree/master/helm/gravitee-am
🔗
DockerImage
https://hub.docker.com/r/graviteeio/am-gateway
🔗
Capabilities
https://raw.githubusercontent.com/api-evangelist/gravitee/refs/heads/main/capabilities/access-management.yaml

OpenAPI Specification

gravitee-certificate-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Gravitee.io - Access Management alerts Certificate API
  version: 4.12.0-alpha.3
servers:
- url: /management
security:
- gravitee-auth: []
tags:
- name: Certificate
paths:
  /platform/plugins/certificates:
    get:
      tags:
      - Certificate
      summary: List certificate plugins
      description: There is no particular permission needed. User must be authenticated.
      operationId: listCertificatesPlugins
      responses:
        default:
          description: default response
          content:
            application/json: {}
  /platform/plugins/certificates/{certificate}:
    get:
      tags:
      - Certificate
      summary: Get an certificate plugin
      description: There is no particular permission needed. User must be authenticated.
      operationId: getCertificatePlugin
      parameters:
      - name: certificate
        in: path
        required: true
        schema:
          type: string
      responses:
        default:
          description: default response
          content:
            application/json: {}
  /platform/plugins/certificates/{certificate}/schema:
    get:
      tags:
      - Certificate
      summary: Get an certificate's schema
      description: There is no particular permission needed. User must be authenticated.
      operationId: getCertificatePluginSchema
      parameters:
      - name: certificate
        in: path
        required: true
        schema:
          type: string
      responses:
        default:
          description: default response
          content:
            application/json: {}
  /organizations/{organizationId}/environments/{environmentId}/domains/{domain}/certificates:
    get:
      tags:
      - Certificate
      summary: List registered certificates for a security domain
      description: User must have the DOMAIN_CERTIFICATE[LIST] permission on the specified domain or DOMAIN_CERTIFICATE[LIST] permission on the specified environment or DOMAIN_CERTIFICATE[LIST] permission on the specified organization. Each returned certificate is filtered and contains only basic information such as id, name and type.
      operationId: listCertificates
      parameters:
      - name: organizationId
        in: path
        required: true
        schema:
          type: string
      - name: environmentId
        in: path
        required: true
        schema:
          type: string
      - name: domain
        in: path
        required: true
        schema:
          type: string
      - name: use
        in: query
        schema:
          type: string
      responses:
        '200':
          description: List registered certificates for a security domain
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CertificateEntity'
        '500':
          description: Internal server error
    post:
      tags:
      - Certificate
      summary: Create a certificate
      description: User must have the DOMAIN_CERTIFICATE[CREATE] permission on the specified domain or DOMAIN_CERTIFICATE[CREATE] permission on the specified environment or DOMAIN_CERTIFICATE[CREATE] permission on the specified organization
      operationId: createCertificate
      parameters:
      - name: organizationId
        in: path
        required: true
        schema:
          type: string
      - name: environmentId
        in: path
        required: true
        schema:
          type: string
      - name: domain
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewCertificate'
        required: true
      responses:
        '201':
          description: Certificate successfully created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModifiedCertificateEntity'
        '500':
          description: Internal server error
  /organizations/{organizationId}/environments/{environmentId}/domains/{domain}/certificates/rotate:
    post:
      tags:
      - Certificate
      summary: Generate a new System a certificate
      description: User must have the DOMAIN_CERTIFICATE[CREATE] permission on the specified domain or DOMAIN_CERTIFICATE[CREATE] permission on the specified environment or DOMAIN_CERTIFICATE[CREATE] permission on the specified organization
      operationId: rotateCertificate
      parameters:
      - name: organizationId
        in: path
        required: true
        schema:
          type: string
      - name: environmentId
        in: path
        required: true
        schema:
          type: string
      - name: domain
        in: path
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Certificate successfully created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CertificateEntity'
        '500':
          description: Internal server error
  /organizations/{organizationId}/environments/{environmentId}/domains/{domain}/certificates/{certificate}:
    get:
      tags:
      - Certificate
      summary: Get a certificate
      description: User must have the DOMAIN_CERTIFICATE[READ] permission on the specified domain or DOMAIN_CERTIFICATE[READ] permission on the specified environment or DOMAIN_CERTIFICATE[READ] permission on the specified organization
      operationId: findCertificate
      parameters:
      - name: organizationId
        in: path
        required: true
        schema:
          type: string
      - name: environmentId
        in: path
        required: true
        schema:
          type: string
      - name: domain
        in: path
        required: true
        schema:
          type: string
      - name: certificate
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Certificate successfully fetched
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CertificateEntity'
        '500':
          description: Internal server error
    put:
      tags:
      - Certificate
      summary: Update a certificate
      description: User must have the DOMAIN_CERTIFICATE[UPDATE] permission on the specified domain or DOMAIN_CERTIFICATE[UPDATE] permission on the specified environment or DOMAIN_CERTIFICATE[UPDATE] permission on the specified organization
      operationId: updateCertificate
      parameters:
      - name: organizationId
        in: path
        required: true
        schema:
          type: string
      - name: environmentId
        in: path
        required: true
        schema:
          type: string
      - name: domain
        in: path
        required: true
        schema:
          type: string
      - name: certificate
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateCertificate'
        required: true
      responses:
        '201':
          description: Certificate successfully updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModifiedCertificateEntity'
        '500':
          description: Internal server error
    delete:
      tags:
      - Certificate
      summary: Delete a certificate
      description: User must have the DOMAIN_CERTIFICATE[DELETE] permission on the specified domain or DOMAIN_CERTIFICATE[DELETE] permission on the specified environment or DOMAIN_CERTIFICATE[DELETE] permission on the specified organization
      operationId: deleteCertificate
      parameters:
      - name: organizationId
        in: path
        required: true
        schema:
          type: string
      - name: environmentId
        in: path
        required: true
        schema:
          type: string
      - name: domain
        in: path
        required: true
        schema:
          type: string
      - name: certificate
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Certificate successfully deleted
        '400':
          description: Certificate is bind to existing clients
        '500':
          description: Internal server error
  /organizations/{organizationId}/environments/{environmentId}/domains/{domain}/certificates/{certificate}/key:
    get:
      tags:
      - Certificate
      summary: Get the certificate public key
      description: User must have the DOMAIN[READ] permission on the specified domain or DOMAIN[READ] permission on the specified environment or DOMAIN[READ] permission on the specified organization
      operationId: getCertificatePublicKey
      parameters:
      - name: organizationId
        in: path
        required: true
        schema:
          type: string
      - name: environmentId
        in: path
        required: true
        schema:
          type: string
      - name: domain
        in: path
        required: true
        schema:
          type: string
      - name: certificate
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Certificate key successfully fetched
          content:
            application/json:
              schema:
                type: string
        '500':
          description: Internal server error
  /organizations/{organizationId}/environments/{environmentId}/domains/{domain}/certificates/{certificate}/keys:
    get:
      tags:
      - Certificate
      summary: Get the certificate public keys
      description: User must have the DOMAIN[READ] permission on the specified domain or DOMAIN[READ] permission on the specified environment or DOMAIN[READ] permission on the specified organization
      operationId: getCertificatePublicKeys
      parameters:
      - name: organizationId
        in: path
        required: true
        schema:
          type: string
      - name: environmentId
        in: path
        required: true
        schema:
          type: string
      - name: domain
        in: path
        required: true
        schema:
          type: string
      - name: certificate
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Certificate keys successfully fetched
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CertificateKey'
        '500':
          description: Internal server error
components:
  schemas:
    LoginSettings:
      type: object
      properties:
        certificateBasedAuthEnabled:
          type: boolean
        certificateBasedAuthUrl:
          type: string
        enforcePasswordPolicyEnabled:
          type: boolean
        forgotPasswordEnabled:
          type: boolean
        hideForm:
          type: boolean
        identifierFirstEnabled:
          type: boolean
        inherited:
          type: boolean
        magicLinkAuthEnabled:
          type: boolean
        passwordlessDeviceNamingEnabled:
          type: boolean
        passwordlessEnabled:
          type: boolean
        passwordlessEnforcePasswordEnabled:
          type: boolean
        passwordlessEnforcePasswordMaxAge:
          type: integer
          format: int32
        passwordlessRememberDeviceEnabled:
          type: boolean
        registerEnabled:
          type: boolean
        rememberMeEnabled:
          type: boolean
        resetPasswordOnExpiration:
          type: boolean
    TokenClaim:
      type: object
      properties:
        claimName:
          type: string
        claimValue:
          type: string
        tokenType:
          type: string
          enum:
          - ACCESS_TOKEN
          - REFRESH_TOKEN
          - ID_TOKEN
    ClientSecret:
      type: object
      properties:
        createdAt:
          type: string
          format: date-time
        expiresAt:
          type: string
          format: date-time
        id:
          type: string
        name:
          type: string
        secret:
          type: string
        settingsId:
          type: string
    RememberDeviceSettings:
      type: object
      properties:
        active:
          type: boolean
        deviceIdentifierId:
          type: string
        expirationTimeSeconds:
          type: integer
          format: int64
        skipChallengeWhenRememberDevice:
          type: boolean
        skipRememberDevice:
          type: boolean
    ApplicationSAMLSettings:
      type: object
      properties:
        assertionAttributes:
          type: array
          items:
            $ref: '#/components/schemas/SAMLAssertionAttribute'
        assertionValiditySeconds:
          type: integer
          format: int32
        attributeConsumeServiceUrl:
          type: string
        audiences:
          type: array
          items:
            type: string
        certificate:
          type: string
        dataEncryptionAlgorithm:
          type: string
        entityId:
          type: string
        includeAssertionConditions:
          type: boolean
        keyTransportEncryptionAlgorithm:
          type: string
        nameIdMapping:
          type: string
        notBeforeTimeSkewSeconds:
          type: integer
          format: int32
        notOnOrAfterTimeSkewSeconds:
          type: integer
          format: int32
        responseBinding:
          type: string
        singleLogoutServiceUrl:
          type: string
        wantAssertionsEncrypted:
          type: boolean
        wantAssertionsSigned:
          type: boolean
        wantResponseSigned:
          type: boolean
    NewCertificate:
      required:
      - configuration
      - name
      - type
      type: object
      properties:
        configuration:
          type: string
        name:
          minLength: 1
          type: string
        type:
          minLength: 1
          type: string
    EnrollSettings:
      type: object
      properties:
        active:
          type: boolean
        enrollmentRule:
          type: string
        enrollmentSkipActive:
          type: boolean
        enrollmentSkipRule:
          type: string
        forceEnrollment:
          type: boolean
        skipTimeSeconds:
          type: integer
          format: int64
        type:
          type: string
          enum:
          - OPTIONAL
          - REQUIRED
          - CONDITIONAL
    FormField:
      type: object
      properties:
        key:
          type: string
        label:
          type: string
        type:
          type: string
    AccountSettings:
      type: object
      properties:
        accountBlockedDuration:
          type: integer
          format: int32
        autoLoginAfterRegistration:
          type: boolean
        autoLoginAfterResetPassword:
          type: boolean
        botDetectionPlugin:
          type: string
        completeRegistrationWhenResetPassword:
          type: boolean
        defaultIdentityProviderForRegistration:
          type: string
        deletePasswordlessDevicesAfterResetPassword:
          type: boolean
        dynamicUserRegistration:
          type: boolean
        inherited:
          type: boolean
        loginAttemptsDetectionEnabled:
          type: boolean
        loginAttemptsResetTime:
          type: integer
          format: int32
        maxLoginAttempts:
          type: integer
          format: int32
        mfaChallengeAttemptsDetectionEnabled:
          type: boolean
        mfaChallengeAttemptsResetTime:
          type: integer
          format: int32
        mfaChallengeMaxAttempts:
          type: integer
          format: int32
        mfaChallengeSendVerifyAlertEmail:
          type: boolean
        redirectUriAfterRegistration:
          type: string
        redirectUriAfterResetPassword:
          type: string
        rememberMe:
          type: boolean
        rememberMeDuration:
          type: integer
          format: int32
        resetPasswordConfirmIdentity:
          type: boolean
        resetPasswordCustomForm:
          type: boolean
        resetPasswordCustomFormFields:
          type: array
          items:
            $ref: '#/components/schemas/FormField'
        resetPasswordInvalidateTokens:
          type: boolean
        sendRecoverAccountEmail:
          type: boolean
        sendVerifyRegistrationAccountEmail:
          type: boolean
        useBotDetection:
          type: boolean
    Application:
      type: object
      properties:
        certificate:
          type: string
        createdAt:
          type: string
          format: date-time
        description:
          type: string
        domain:
          type: string
        enabled:
          type: boolean
        factors:
          uniqueItems: true
          type: array
          items:
            type: string
        id:
          type: string
        identityProviders:
          uniqueItems: true
          type: array
          items:
            $ref: '#/components/schemas/ApplicationIdentityProvider'
        metadata:
          type: object
          additionalProperties:
            type: object
        name:
          type: string
        passwordSettings:
          $ref: '#/components/schemas/PasswordSettings'
        secretSettings:
          type: array
          items:
            $ref: '#/components/schemas/ApplicationSecretSettings'
        secrets:
          type: array
          items:
            $ref: '#/components/schemas/ClientSecret'
        settings:
          $ref: '#/components/schemas/ApplicationSettings'
        template:
          type: boolean
        type:
          type: string
          enum:
          - WEB
          - NATIVE
          - BROWSER
          - SERVICE
          - RESOURCE_SERVER
        updatedAt:
          type: string
          format: date-time
    CookieSettings:
      type: object
      properties:
        inherited:
          type: boolean
        session:
          $ref: '#/components/schemas/SessionSettings'
    ApplicationOAuthSettings:
      type: object
      properties:
        accessTokenValiditySeconds:
          type: integer
          format: int32
        applicationType:
          type: string
        authorizationEncryptedResponseAlg:
          type: string
        authorizationEncryptedResponseEnc:
          type: string
        authorizationSignedResponseAlg:
          type: string
        backchannelAuthRequestSignAlg:
          type: string
        backchannelClientNotificationEndpoint:
          type: string
        backchannelTokenDeliveryMode:
          type: string
        backchannelUserCodeParameter:
          type: boolean
        clientId:
          type: string
        clientIdIssuedAt:
          type: string
          format: date-time
        clientName:
          type: string
        clientSecret:
          type: string
        clientSecretExpiresAt:
          type: string
          format: date-time
        clientType:
          type: string
        clientUri:
          type: string
        contacts:
          type: array
          items:
            type: string
        defaultACRvalues:
          type: array
          items:
            type: string
        defaultMaxAge:
          type: integer
          format: int32
        defaultScopes:
          type: array
          items:
            type: string
        disableRefreshTokenRotation:
          type: boolean
        enhanceScopesWithUserPermissions:
          type: boolean
        forcePKCE:
          type: boolean
        forceS256CodeChallengeMethod:
          type: boolean
        grantTypes:
          type: array
          items:
            type: string
        idTokenEncryptedResponseAlg:
          type: string
        idTokenEncryptedResponseEnc:
          type: string
        idTokenSignedResponseAlg:
          type: string
        idTokenValiditySeconds:
          type: integer
          format: int32
        initiateLoginUri:
          type: string
        jwks:
          $ref: '#/components/schemas/JWKSet'
        jwksUri:
          type: string
        logoUri:
          type: string
        policyUri:
          type: string
        postLogoutRedirectUris:
          type: array
          items:
            type: string
        redirectUris:
          type: array
          items:
            type: string
        refreshTokenValiditySeconds:
          type: integer
          format: int32
        registrationAccessToken:
          type: string
        registrationClientUri:
          type: string
        requestObjectEncryptionAlg:
          type: string
        requestObjectEncryptionEnc:
          type: string
        requestObjectSigningAlg:
          type: string
        requestUris:
          type: array
          items:
            type: string
        requireAuthTime:
          type: boolean
        requireParRequest:
          type: boolean
        responseTypes:
          type: array
          items:
            type: string
        scopeApprovals:
          type: object
          additionalProperties:
            type: integer
            format: int32
        scopeSettings:
          type: array
          items:
            $ref: '#/components/schemas/ApplicationScopeSettings'
        scopes:
          type: array
          items:
            type: string
        sectorIdentifierUri:
          type: string
        silentReAuthentication:
          type: boolean
        singleSignOut:
          type: boolean
        softwareId:
          type: string
        softwareStatement:
          type: string
        softwareVersion:
          type: string
        subjectType:
          type: string
        tlsClientAuthSanDns:
          type: string
        tlsClientAuthSanEmail:
          type: string
        tlsClientAuthSanIp:
          type: string
        tlsClientAuthSanUri:
          type: string
        tlsClientAuthSubjectDn:
          type: string
        tlsClientCertificateBoundAccessTokens:
          type: boolean
        tokenCustomClaims:
          type: array
          items:
            $ref: '#/components/schemas/TokenClaim'
        tokenEndpointAuthMethod:
          type: string
        tokenEndpointAuthSigningAlg:
          type: string
        tokenExchangeOAuthSettings:
          $ref: '#/components/schemas/TokenExchangeOAuthSettings'
        tosUri:
          type: string
        userinfoCustomClaims:
          type: array
          items:
            $ref: '#/components/schemas/UserInfoClaim'
        userinfoEncryptedResponseAlg:
          type: string
        userinfoEncryptedResponseEnc:
          type: string
        userinfoSignedResponseAlg:
          type: string
    SessionSettings:
      type: object
      properties:
        persistent:
          type: boolean
    SecretExpirationSettings:
      type: object
      properties:
        enabled:
          type: boolean
        expiryTimeSeconds:
          type: integer
          format: int64
    StepUpAuthenticationSettings:
      type: object
      properties:
        active:
          type: boolean
        stepUpAuthenticationRule:
          type: string
    ApplicationIdentityProvider:
      type: object
      properties:
        identity:
          type: string
        priority:
          type: integer
          format: int32
        selectionRule:
          type: string
    PasswordSettings:
      type: object
      properties:
        excludePasswordsInDictionary:
          type: boolean
        excludeUserProfileInfoInPassword:
          type: boolean
        expiryDuration:
          type: integer
          format: int32
        includeNumbers:
          type: boolean
        includeSpecialCharacters:
          type: boolean
        inherited:
          type: boolean
        lettersInMixedCase:
          type: boolean
        maxConsecutiveLetters:
          type: integer
          format: int32
        maxLength:
          type: integer
          format: int32
        minLength:
          type: integer
          format: int32
        oldPasswords:
          type: integer
          format: int32
        passwordHistoryEnabled:
          type: boolean
    ApplicationSettings:
      type: object
      properties:
        account:
          $ref: '#/components/schemas/AccountSettings'
        advanced:
          $ref: '#/components/schemas/ApplicationAdvancedSettings'
        cookieSettings:
          $ref: '#/components/schemas/CookieSettings'
        login:
          $ref: '#/components/schemas/LoginSettings'
        mfa:
          $ref: '#/components/schemas/MFASettings'
        oauth:
          $ref: '#/components/schemas/ApplicationOAuthSettings'
        passwordSettings:
          $ref: '#/components/schemas/PasswordSettings'
        riskAssessment:
          $ref: '#/components/schemas/RiskAssessmentSettings'
        saml:
          $ref: '#/components/schemas/ApplicationSAMLSettings'
        secretExpirationSettings:
          $ref: '#/components/schemas/SecretExpirationSettings'
    UpdateCertificate:
      required:
      - configuration
      - name
      - type
      type: object
      properties:
        configuration:
          type: string
        name:
          minLength: 1
          type: string
        type:
          minLength: 1
          type: string
    AssessmentSettings:
      type: object
      properties:
        enabled:
          type: boolean
        thresholds:
          type: object
          additionalProperties:
            type: number
            format: double
    IdentityProvider:
      type: object
      properties:
        configuration:
          type: string
        createdAt:
          type: string
          format: date-time
        dataPlaneId:
          type: string
        domainWhitelist:
          type: array
          items:
            type: string
        external:
          type: boolean
        groupMapper:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
        id:
          type: string
        mappers:
          type: object
          additionalProperties:
            type: string
        name:
          type: string
        passwordPolicy:
          type: string
        referenceId:
          type: string
        referenceType:
          type: string
          enum:
          - PLATFORM
          - DOMAIN
          - APPLICATION
          - ORGANIZATION
          - ENVIRONMENT
          - PROTECTED_RESOURCE
        roleMapper:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
        system:
          type: boolean
        type:
          type: string
        updatedAt:
          type: string
          format: date-time
    MFASettings:
      type: object
      properties:
        adaptiveAuthenticationRule:
          type: string
        challenge:
          $ref: '#/components/schemas/ChallengeSettings'
        enroll:
          $ref: '#/components/schemas/EnrollSettings'
        enrollment:
          $ref: '#/components/schemas/EnrollmentSettings'
        factor:
          $ref: '#/components/schemas/FactorSettings'
        loginRule:
          type: string
        rememberDevice:
          $ref: '#/components/schemas/RememberDeviceSettings'
        stepUpAuthentication:
          $ref: '#/components/schemas/StepUpAuthenticationSettings'
        stepUpAuthenticationRule:
          type: string
    JWK:
      type: object
      properties:
        alg:
          type: string
        keyOps:
          uniqueItems: true
          type: array
          items:
            type: string
        kid:
          type: string
        kty:
          type: string
        use:
          type: string
        x5c:
          uniqueItems: true
          type: array
          items:
            type: string
        x5t:
          type: string
        x5tS256:
          type: string
        x5u:
          type: string
    ApplicationScopeSettings:
      type: object
      properties:
        defaultScope:
          type: boolean
        scope:
          type: string
        scopeApproval:
          type: integer
          format: int32
    CertificateEntity:
      type: object
      properties:
        applications:
          type: array
          items:
            $ref: '#/components/schemas/Application'
        createdAt:
          type: string
          format: date-time
        expiresAt:
          type: string
          format: date-time
        id:
          type: string
        identityProviders:
          type: array
          items:
            $ref: '#/components/schemas/IdentityProvider'
        name:
          type: string
        status:
          type: string
          enum:
          - VALID
          - WILL_EXPIRE
          - EXPIRED
          - RENEWED
        system:
          type: boolean
        type:
          type: string
        usage:
          type: array
          items:
            type: string
    CertificateKey:
      type: object
      properties:
        fmt:
          type: string
        metadata:
          type: object
          additionalProperties:
            type: object
        payload:
          type: string
    JWKSet:
      type: object
      properties:
        keys:
          type: array
          items:
            $ref: '#/components/schemas/JWK'
    ChallengeSettings:
      type: object
      properties:
        active:
          type: boolean
        challengeRule:
          type: string
        type:
          type: string
          enum:
          - REQUIRED
          - CONDITIONAL
          - RISK_BASED
    TokenExchangeOAuthSettings:
      type: object
      properties:
        inherited:
          type: boolean
        scopeHandling:
          type: string
          enum:
          - DOWNSCOPING
          - PERMISSIVE
    SAMLAssertionAttribute:
      required:
      - name
      - value
      type: object
      properties:
        name:
          type: string
        value:
          type: string
    UserInfoClaim:
      type: object
      properties:
        claimName:
          type: string
        claimValue:
          type: string
    ApplicationSecretSettings:
      type: object
      properties:
        algorithm:
          type: string
        id:
          type: string
    ModifiedCertificateEntity:
      type: object
      properties:
        configuration:
          type: string
        createdAt:
          type: string
          format: date-time
        domain:
          type: string
        expiresAt:
          type: string
          format: date-time
        id:
          type: string
        metadata:
          type: object
          additionalProperties:
            type: object
        name:
          type: string
        system:
          type: boolean
        type:
          type: string
        updatedAt:
          type: string
          format: date-time
    RiskAssessmentSettings:
      type: object
      properties:
        deviceAssessment:
          $ref: '#/components/schemas/AssessmentSettings'
        enabled:
          type: boolean
        geoVelocityAssessment:
          $ref: '#/components/schemas/AssessmentSettings'
        ipReputationAssessment:
          $ref: '#/components/schemas/AssessmentSettings'
    FactorSettings:
      type: object
      properties:
        applicationFactors:
          type: array
          items:
            $ref: '#/components/schemas/ApplicationFactorSettings'
        defaultFactorId:
          type: string
    ApplicationAdvancedSettings:
      type: object
      properties:
        flowsInherited:
          type: boolean
        skipConsent:
          type: boolean
    EnrollmentSettings:
      type: object
      properties:
        forceEnrollment:
          type: boolean
        skipTimeSeconds:
          type: integer
          format: int64
    ApplicationFactorSettings:
      type: object
      properties:
        id:
          type: string
        selectionRule:
          type: string
  securitySchemes:
    gravitee-auth:
      type: http
      scheme: Bearer