Auth0 attack-protection API

The attack-protection API from Auth0 — 5 operation(s) for attack-protection.

Operations 10

GET /attack-protection/bot-detection Get Bot Detection Settings #
PATCH /attack-protection/bot-detection Update Bot Detection Settings #
GET /attack-protection/breached-password-detection Get Breached Password Detection Settings #
PATCH /attack-protection/breached-password-detection Update Breached Password Detection Settings #
GET /attack-protection/brute-force-protection Get Brute-force Settings #
PATCH /attack-protection/brute-force-protection Update Brute-force Settings #
GET /attack-protection/captcha Get the CAPTCHA Configuration for a Tenant #
PATCH /attack-protection/captcha Partial Update for CAPTCHA Configuration #
GET /attack-protection/suspicious-ip-throttling Get Suspicious IP Throttling Settings #
PATCH /attack-protection/suspicious-ip-throttling Update Suspicious IP Throttling Settings #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/auth0-attack-protection-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

auth0-attack-protection-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Auth0 Management Attack Protection API
  description: Auth0 Management API v2.
  termsOfService: https://auth0.com/web-terms/
  contact:
    name: Auth0 Support
    url: https://support.auth0.com
  version: '2.0'
servers:
- url: https://{tenantDomain}/api/v2
  variables:
    tenantDomain:
      default: '{TENANT}.auth0.com'
      description: Auth0 Tenant Domain
security:
- bearerAuth: []
tags:
- name: attack-protection
paths:
  /attack-protection/bot-detection:
    get:
      summary: Get Bot Detection Settings
      description: Get the Bot Detection configuration of your tenant.
      tags:
      - attack-protection
      responses:
        '200':
          description: Bot detection configuration retrieved successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetBotDetectionSettingsResponseContent'
        '401':
          description: Invalid token.
          x-description-1: Invalid signature received for JSON Web Token validation.
          x-description-2: Client is not global.
        '403':
          description: Please upgrade your subscription to use bot detection
          x-description-1: 'Insufficient scope; expected any of: read:attack_protection.'
        '404':
          description: Bot detection configuration not found.
        '429':
          description: Too many requests. Check the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers.
      operationId: get_bot-detection
      x-release-lifecycle: GA
      x-operation-name: get
      x-operation-group:
      - attackProtection
      - botDetection
      security:
      - bearerAuth: []
      - oAuth2ClientCredentials:
        - read:attack_protection
    patch:
      summary: Update Bot Detection Settings
      description: Update the Bot Detection configuration of your tenant.
      tags:
      - attack-protection
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateBotDetectionSettingsRequestContent'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdateBotDetectionSettingsRequestContent'
      responses:
        '200':
          description: Bot detection configuration successfully updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateBotDetectionSettingsResponseContent'
        '400':
          description: Invalid request body. The message will vary depending on the cause.
        '401':
          description: Invalid token.
          x-description-1: Invalid signature received for JSON Web Token validation.
          x-description-2: Client is not global.
        '403':
          description: Please upgrade your subscription to use bot detection
          x-description-1: 'Insufficient scope; expected any of: update:attack_protection.'
        '404':
          description: Bot detection configuration not found.
        '429':
          description: Too many requests. Check the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers.
      operationId: patch_bot-detection
      x-release-lifecycle: GA
      x-operation-name: update
      x-operation-group:
      - attackProtection
      - botDetection
      security:
      - bearerAuth: []
      - oAuth2ClientCredentials:
        - update:attack_protection
  /attack-protection/breached-password-detection:
    get:
      summary: Get Breached Password Detection Settings
      description: Retrieve details of the Breached Password Detection configuration of your tenant.
      tags:
      - attack-protection
      responses:
        '200':
          description: Breached password detection settings successfully retrieved.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetBreachedPasswordDetectionSettingsResponseContent'
        '401':
          description: Invalid token.
          x-description-1: Invalid signature received for JSON Web Token validation.
          x-description-2: Client is not global.
        '403':
          description: 'Insufficient scope; expected any of: read:attack_protection.'
        '429':
          description: Too many requests. Check the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers.
      operationId: get_breached-password-detection
      x-release-lifecycle: GA
      x-operation-name: get
      x-operation-group:
      - attackProtection
      - breachedPasswordDetection
      security:
      - bearerAuth: []
      - oAuth2ClientCredentials:
        - read:attack_protection
    patch:
      summary: Update Breached Password Detection Settings
      description: Update details of the Breached Password Detection configuration of your tenant.
      tags:
      - attack-protection
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateBreachedPasswordDetectionSettingsRequestContent'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdateBreachedPasswordDetectionSettingsRequestContent'
      responses:
        '200':
          description: Breached password detection settings successfully updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateBreachedPasswordDetectionSettingsResponseContent'
        '400':
          description: Invalid request body. The message will vary depending on the cause.
        '401':
          description: Invalid token.
          x-description-1: Invalid signature received for JSON Web Token validation.
          x-description-2: Client is not global.
        '403':
          description: 'Insufficient scope; expected any of: update:attack_protection.'
        '429':
          description: Too many requests. Check the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers.
      operationId: patch_breached-password-detection
      x-release-lifecycle: GA
      x-operation-name: update
      x-operation-group:
      - attackProtection
      - breachedPasswordDetection
      security:
      - bearerAuth: []
      - oAuth2ClientCredentials:
        - update:attack_protection
  /attack-protection/brute-force-protection:
    get:
      summary: Get Brute-force Settings
      description: Retrieve details of the Brute-force Protection configuration of your tenant.
      tags:
      - attack-protection
      responses:
        '200':
          description: Brute force configuration successfully retrieved.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetBruteForceSettingsResponseContent'
        '401':
          description: Invalid token.
          x-description-1: Invalid signature received for JSON Web Token validation.
          x-description-2: Client is not global.
        '403':
          description: 'Insufficient scope; expected any of: read:attack_protection.'
        '429':
          description: Too many requests. Check the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers.
      operationId: get_brute-force-protection
      x-release-lifecycle: GA
      x-operation-name: get
      x-operation-group:
      - attackProtection
      - bruteForceProtection
      security:
      - bearerAuth: []
      - oAuth2ClientCredentials:
        - read:attack_protection
    patch:
      summary: Update Brute-force Settings
      description: Update the Brute-force Protection configuration of your tenant.
      tags:
      - attack-protection
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateBruteForceSettingsRequestContent'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdateBruteForceSettingsRequestContent'
      responses:
        '200':
          description: Brute force configuration successfully updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateBruteForceSettingsResponseContent'
        '400':
          description: Invalid request body. The message will vary depending on the cause.
        '401':
          description: Invalid token.
          x-description-1: Invalid signature received for JSON Web Token validation.
          x-description-2: Client is not global.
        '403':
          description: 'Insufficient scope; expected any of: update:attack_protection.'
        '429':
          description: Too many requests. Check the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers.
      operationId: patch_brute-force-protection
      x-release-lifecycle: GA
      x-operation-name: update
      x-operation-group:
      - attackProtection
      - bruteForceProtection
      security:
      - bearerAuth: []
      - oAuth2ClientCredentials:
        - update:attack_protection
  /attack-protection/captcha:
    get:
      summary: Get the CAPTCHA Configuration for a Tenant
      description: Get the CAPTCHA configuration for your client.
      tags:
      - attack-protection
      responses:
        '200':
          description: Captcha configuration successfully retrieved.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAttackProtectionCaptchaResponseContent'
        '401':
          description: Invalid token.
          x-description-1: Invalid signature received for JSON Web Token validation.
          x-description-2: Client is not global.
        '403':
          description: Please upgrade your subscription to use bot detection
          x-description-1: 'Insufficient scope; expected any of: read:attack_protection.'
        '404':
          description: Captcha configuration not found.
        '429':
          description: Too many requests. Check the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers.
      operationId: get_captcha
      x-release-lifecycle: GA
      x-operation-name: get
      x-operation-group:
      - attackProtection
      - captcha
      security:
      - bearerAuth: []
      - oAuth2ClientCredentials:
        - read:attack_protection
    patch:
      summary: Partial Update for CAPTCHA Configuration
      description: Update existing CAPTCHA configuration for your client.
      tags:
      - attack-protection
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateAttackProtectionCaptchaRequestContent'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdateAttackProtectionCaptchaRequestContent'
      responses:
        '200':
          description: Captcha configuration successfully retrieved.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateAttackProtectionCaptchaResponseContent'
        '401':
          description: Invalid token.
          x-description-1: Invalid signature received for JSON Web Token validation.
          x-description-2: Client is not global.
        '403':
          description: Please upgrade your subscription to use bot detection
          x-description-1: 'Insufficient scope; expected any of: update:attack_protection.'
        '404':
          description: Captcha configuration not found.
        '429':
          description: Too many requests. Check the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers.
      operationId: patch_captcha
      x-release-lifecycle: GA
      x-operation-name: update
      x-operation-group:
      - attackProtection
      - captcha
      security:
      - bearerAuth: []
      - oAuth2ClientCredentials:
        - update:attack_protection
  /attack-protection/suspicious-ip-throttling:
    get:
      summary: Get Suspicious IP Throttling Settings
      description: Retrieve details of the Suspicious IP Throttling configuration of your tenant.
      tags:
      - attack-protection
      responses:
        '200':
          description: Suspicious IP throttling configuration successfully retrieved.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetSuspiciousIPThrottlingSettingsResponseContent'
        '401':
          description: Invalid token.
          x-description-1: Invalid signature received for JSON Web Token validation.
          x-description-2: Client is not global.
        '403':
          description: 'Insufficient scope; expected any of: read:attack_protection.'
        '429':
          description: Too many requests. Check the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers.
      operationId: get_suspicious-ip-throttling
      x-release-lifecycle: GA
      x-operation-name: get
      x-operation-group:
      - attackProtection
      - suspiciousIpThrottling
      security:
      - bearerAuth: []
      - oAuth2ClientCredentials:
        - read:attack_protection
    patch:
      summary: Update Suspicious IP Throttling Settings
      description: Update the details of the Suspicious IP Throttling configuration of your tenant.
      tags:
      - attack-protection
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateSuspiciousIPThrottlingSettingsRequestContent'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdateSuspiciousIPThrottlingSettingsRequestContent'
      responses:
        '200':
          description: Suspicious IP throttling configuration successfully updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateSuspiciousIPThrottlingSettingsResponseContent'
        '400':
          description: Invalid request body. The message will vary depending on the cause.
        '401':
          description: Invalid token.
          x-description-1: Invalid signature received for JSON Web Token validation.
          x-description-2: Client is not global.
        '403':
          description: 'Insufficient scope; expected any of: update:attack_protection.'
        '429':
          description: Too many requests. Check the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers.
      operationId: patch_suspicious-ip-throttling
      x-release-lifecycle: GA
      x-operation-name: update
      x-operation-group:
      - attackProtection
      - suspiciousIpThrottling
      security:
      - bearerAuth: []
      - oAuth2ClientCredentials:
        - update:attack_protection
components:
  schemas:
    SuspiciousIPThrottlingAllowlist:
      type: array
      description: List of trusted IP addresses that will not have attack protection enforced against them.
      items:
        $ref: '#/components/schemas/SuspiciousIPThrottlingAllowlistItem'
    BreachedPasswordDetectionPreUserRegistrationShieldsEnum:
      type: string
      enum:
      - block
      - admin_notification
    AttackProtectionUpdateCaptchaFriendlyCaptcha:
      type: object
      additionalProperties: false
      required:
      - site_key
      - secret
      properties:
        site_key:
          type: string
          description: The site key for the Friendly Captcha provider.
          maxLength: 100
        secret:
          type: string
          description: The secret key for the Friendly Captcha provider.
          maxLength: 100
    AttackProtectionCaptchaRecaptchaEnterpriseResponseContent:
      type: object
      additionalProperties: true
      properties:
        site_key:
          type: string
          description: The site key for the reCAPTCHA Enterprise provider.
        project_id:
          type: string
          description: The project ID for the reCAPTCHA Enterprise provider.
    BruteForceProtectionModeEnum:
      type: string
      description: "Account Lockout: Determines whether or not IP address is used when counting failed attempts.\n          Possible values: <code>count_per_identifier_and_ip</code>, <code>count_per_identifier</code>."
      default: count_per_identifier_and_ip
      enum:
      - count_per_identifier_and_ip
      - count_per_identifier
    BreachedPasswordDetectionPreUserRegistrationStage:
      type: object
      additionalProperties: false
      properties:
        shields:
          type: array
          description: "Action to take when a breached password is detected during a signup.\n              Possible values: <code>block</code>, <code>admin_notification</code>."
          items:
            $ref: '#/components/schemas/BreachedPasswordDetectionPreUserRegistrationShieldsEnum'
    BreachedPasswordDetectionPreChangePasswordShieldsEnum:
      type: string
      enum:
      - block
      - admin_notification
    UpdateBotDetectionSettingsRequestContent:
      type: object
      additionalProperties: false
      properties:
        bot_detection_level:
          $ref: '#/components/schemas/BotDetectionLevelEnum'
        challenge_password_policy:
          $ref: '#/components/schemas/BotDetectionChallengePolicyPasswordFlowEnum'
        challenge_passwordless_policy:
          $ref: '#/components/schemas/BotDetectionChallengePolicyPasswordlessFlowEnum'
        challenge_password_reset_policy:
          $ref: '#/components/schemas/BotDetectionChallengePolicyPasswordResetFlowEnum'
        allowlist:
          $ref: '#/components/schemas/BotDetectionAllowlist'
        monitoring_mode_enabled:
          $ref: '#/components/schemas/BotDetectionMonitoringModeEnabled'
    UpdateAttackProtectionCaptchaRequestContent:
      type: object
      additionalProperties: false
      properties:
        active_provider_id:
          $ref: '#/components/schemas/AttackProtectionCaptchaProviderId'
        arkose:
          $ref: '#/components/schemas/AttackProtectionUpdateCaptchaArkose'
        auth_challenge:
          $ref: '#/components/schemas/AttackProtectionCaptchaAuthChallengeRequest'
        hcaptcha:
          $ref: '#/components/schemas/AttackProtectionUpdateCaptchaHcaptcha'
        friendly_captcha:
          $ref: '#/components/schemas/AttackProtectionUpdateCaptchaFriendlyCaptcha'
        recaptcha_enterprise:
          $ref: '#/components/schemas/AttackProtectionUpdateCaptchaRecaptchaEnterprise'
        recaptcha_v2:
          $ref: '#/components/schemas/AttackProtectionUpdateCaptchaRecaptchaV2'
        simple_captcha:
          $ref: '#/components/schemas/AttackProtectionCaptchaSimpleCaptchaResponseContent'
    BreachedPasswordDetectionAdminNotificationFrequencyEnum:
      type: string
      enum:
      - immediately
      - daily
      - weekly
      - monthly
    SuspiciousIPThrottlingPreLoginStage:
      type: object
      description: Configuration options that apply before every login attempt.
      additionalProperties: false
      properties:
        max_attempts:
          type: integer
          description: Total number of attempts allowed per day.
          default: 100
          minimum: 1
          maximum: 2500
        rate:
          type: integer
          description: Interval of time, given in milliseconds, at which new attempts are granted.
          default: 864000
          minimum: 34560
          maximum: 86400000
    BruteForceProtectionShieldsEnum:
      type: string
      enum:
      - block
      - user_notification
    AttackProtectionUpdateCaptchaArkose:
      type: object
      additionalProperties: false
      required:
      - site_key
      - secret
      properties:
        site_key:
          type: string
          description: The site key for the Arkose captcha provider.
          maxLength: 100
        secret:
          type: string
          description: The secret key for the Arkose captcha provider.
          maxLength: 100
        client_subdomain:
          type: string
          description: The subdomain used for client requests to the Arkose captcha provider.
          maxLength: 100
        verify_subdomain:
          type: string
          description: The subdomain used for server-side verification requests to the Arkose captcha provider.
          maxLength: 100
        fail_open:
          type: boolean
          description: Whether the captcha should fail open.
    UpdateBotDetectionSettingsResponseContent:
      type: object
      additionalProperties: false
      properties:
        bot_detection_level:
          $ref: '#/components/schemas/BotDetectionLevelEnum'
        challenge_password_policy:
          $ref: '#/components/schemas/BotDetectionChallengePolicyPasswordFlowEnum'
        challenge_passwordless_policy:
          $ref: '#/components/schemas/BotDetectionChallengePolicyPasswordlessFlowEnum'
        challenge_password_reset_policy:
          $ref: '#/components/schemas/BotDetectionChallengePolicyPasswordResetFlowEnum'
        allowlist:
          $ref: '#/components/schemas/BotDetectionAllowlist'
        monitoring_mode_enabled:
          $ref: '#/components/schemas/BotDetectionMonitoringModeEnabled'
    BotDetectionCidrBlock:
      type: string
      description: CIDR block
      format: cidr
    AttackProtectionCaptchaAuthChallengeRequest:
      type: object
      additionalProperties: false
      required:
      - fail_open
      properties:
        fail_open:
          type: boolean
          description: Whether the auth challenge should fail open.
    BreachedPasswordDetectionPreChangePasswordStage:
      type: object
      additionalProperties: false
      properties:
        shields:
          type: array
          description: "Action to take when a breached password is detected during a password reset.\n              Possible values: <code>block</code>, <code>admin_notification</code>."
          items:
            $ref: '#/components/schemas/BreachedPasswordDetectionPreChangePasswordShieldsEnum'
    UpdateAttackProtectionCaptchaResponseContent:
      type: object
      additionalProperties: true
      properties:
        active_provider_id:
          type: string
        arkose:
          $ref: '#/components/schemas/AttackProtectionCaptchaArkoseResponseContent'
        auth_challenge:
          $ref: '#/components/schemas/AttackProtectionCaptchaAuthChallengeResponseContent'
        hcaptcha:
          $ref: '#/components/schemas/AttackProtectionCaptchaHcaptchaResponseContent'
        friendly_captcha:
          $ref: '#/components/schemas/AttackProtectionCaptchaFriendlyCaptchaResponseContent'
        recaptcha_enterprise:
          $ref: '#/components/schemas/AttackProtectionCaptchaRecaptchaEnterpriseResponseContent'
        recaptcha_v2:
          $ref: '#/components/schemas/AttackProtectionCaptchaRecaptchaV2ResponseContent'
        simple_captcha:
          $ref: '#/components/schemas/AttackProtectionCaptchaSimpleCaptchaResponseContent'
    GetBreachedPasswordDetectionSettingsResponseContent:
      type: object
      additionalProperties: false
      properties:
        enabled:
          type: boolean
          description: Whether or not breached password detection is active.
          default: true
        shields:
          type: array
          description: "Action to take when a breached password is detected during a login.\n      Possible values: <code>block</code>, <code>user_notification</code>, <code>admin_notification</code>."
          items:
            $ref: '#/components/schemas/BreachedPasswordDetectionShieldsEnum'
        admin_notification_frequency:
          type: array
          description: "When \"admin_notification\" is enabled, determines how often email notifications are sent.\n        Possible values: <code>immediately</code>, <code>daily</code>, <code>weekly</code>, <code>monthly</code>."
          items:
            $ref: '#/components/schemas/BreachedPasswordDetectionAdminNotificationFrequencyEnum'
        method:
          $ref: '#/components/schemas/BreachedPasswordDetectionMethodEnum'
        stage:
          $ref: '#/components/schemas/BreachedPasswordDetectionStage'
    SuspiciousIPThrottlingShieldsEnum:
      type: string
      enum:
      - block
      - admin_notification
    BotDetectionChallengePolicyPasswordlessFlowEnum:
      type: string
      description: The policy that defines how often to show CAPTCHA
      enum:
      - never
      - when_risky
      - always
    BotDetectionChallengePolicyPasswordFlowEnum:
      type: string
      description: The policy that defines how often to show CAPTCHA
      enum:
      - never
      - when_risky
      - always
    AttackProtectionCaptchaAuthChallengeResponseContent:
      type: object
      additionalProperties: true
      properties:
        fail_open:
          type: boolean
          description: Whether the auth challenge should fail open.
    BotDetectionAllowlist:
      type: array
      description: List of IP addresses or CIDR blocks to allowlist
      items:
        $ref: '#/components/schemas/BotDetectionIPAddressOrCidrBlock'
    AttackProtectionCaptchaArkoseResponseContent:
      type: object
      additionalProperties: true
      properties:
        site_key:
          type: string
          description: The site key for the Arkose captcha provider.
        fail_open:
          type: boolean
          description: Whether the captcha should fail open.
        client_subdomain:
          type: string
          description: The subdomain used for client requests to the Arkose captcha provider.
        verify_subdomain:
          type: string
          description: The subdomain used for server-side verification requests to the Arkose captcha provider.
    AttackProtectionUpdateCaptchaRecaptchaV2:
      type: object
      additionalProperties: false
      required:
      - site_key
      - secret
      properties:
        site_key:
          type: string
          description: The site key for the reCAPTCHA v2 provider.
          maxLength: 100
        secret:
          type: string
          description: The secret key for the reCAPTCHA v2 provider.
          maxLength: 100
    BotDetectionIPAddressOrCidrBlock:
      type: string
      description: IP address (IPv4 or IPv6) or CIDR block
      oneOf:
      - $ref: '#/components/schemas/BotDetectionIPv4'
      - $ref: '#/components/schemas/BotDetectionIPv6'
      - $ref: '#/components/schemas/BotDetectionCidrBlock'
      - $ref: '#/components/schemas/BotDetectionIPv6CidrBlock'
    BotDetectionIPv6:
      type: string
      description: IPv6 address
      format: ipv6
    BreachedPasswordDetectionShieldsEnum:
      type: string
      enum:
      - block
      - user_notification
      - admin_notification
    UpdateBruteForceSettingsResponseContent:
      type: object
      additionalProperties: false
      properties:
        enabled:
          type: boolean
          description: Whether or not brute force attack protections are active.
        shields:
          type: array
          description: "Action to take when a brute force protection threshold is violated.\n        Possible values: <code>block</code>, <code>user_notification</code>."
          items:
            $ref: '#/components/schemas/BruteForceProtectionShieldsEnum'
        allowlist:
          type: array
          description: List of trusted IP addresses that will not have attack protection enforced against them.
          items:
            type: string
            anyOf:
            - type: string
              format: ipv4
            - type: string
              format: cidr
            - type: string
              format: ipv6
            - type: string
              format: ipv6_cidr
        mode:
          $ref: '#/components/schemas/BruteForceProtectionModeEnum'
        max_attempts:
          type: integer
          description: Maximum number of unsuccessful attempts.
          default: 10
          minimum: 1
          maximum: 100
    AttackProtectionCaptchaFriendlyCaptchaResponseContent:
      type: object
      additionalProperties: true
      properties:
        site_key:
          type: string
          description: The site key for the Friendly Captcha provider.
    AttackProtectionCaptchaSimpleCaptchaResponseContent:
      type: object
      additionalProperties: true
      properties: {}
    GetBruteForceSettingsResponseContent:
      type: object
      additionalProperties: false
      properties:
        enabled:
          type: boolean
          description: Whether or not brute force attack protections are active.
        shields:
          type: array
          description: "Action to take when a brute force protection threshold is violated.\n        Possible values: <code>block</code>, <code>user_notification</code>."
          items:
            $ref: '#/components/schemas/BruteForceProtectionShieldsEnum'
        allowlist:
          type: array
          description: List of trusted IP addresses that will not have attack protection enforced against them.
          items:
            type: string
            anyOf:
            - type: string
              format: ipv4
            - type: string
              format: cidr
            - type: string
              format: ipv6
            - type: string
              format: ipv6_cidr
        mode:
          $ref: '#/components/schemas/BruteForceProtectionModeEnum'
        max_attempts:
          type: integer
          description: Maximum number of unsuccessful attempts.
          default: 10
          minimum: 1
          maximum: 100
    SuspiciousIPThrottlingAllowlistItem:
      type: string
      anyOf:
      - type: string
        format: ipv4
      - type: string
        format: cidr
      - type: string
        format: ipv6
      - type: string
        format: ipv6_cidr
    AttackProtectionUpdateCaptchaHcaptcha:
      type: object
      additionalProperties: false
      required:
      - site_key
      - secret
      properties:
        site_key:
          type: string
          description: The site key for the hCaptcha provider.
          maxLength: 100
        secret:
          type: string
          description: The secret key for the hCaptcha provider.
          maxLength: 100
    BotDetectionChallengePolicyPasswordResetFlowEnum:
      type: string
      description: The policy that defines how often to show CAPTCHA
      enum:
      - never
      - when_risky
      - always
    BotDetectionIPv4:
      type: string
      description: IPv4 address
      format: ipv4
    GetBotDetectionSettingsResponseContent:
      type: object
      additionalProperties: false
      required:
      - bot_detection_level
      - challenge_password_policy
      - challenge_passwordless_policy
      - challenge_password_reset_policy
      - allowlist
      - monitoring_mode_enabled
      properties:
        bot_detection_level:
          $ref: '#/components/schemas/BotDetectionLevelEnum'
        challenge_password_policy:
          $ref: '#/components/schemas/BotDetectionChallengePolicyPasswordFlowEnum'
        challenge_passwordless_policy:
          $ref: '#/components/schemas/BotDetectionChallengePolicyPasswordlessFlowEnum'
        challenge_password_reset_policy:
          $ref: '#/components/schemas/BotDetectionChallengePolicyPasswordResetFlowEnum'
        allowlist:
          $ref: '#/components/schemas/BotDetectionAllowlist'
        monitoring_mode_enabled:
          $ref: '#/components/schemas/BotDetectionMonitoringModeEnabled'
    AttackProtectionCaptchaRecaptchaV2ResponseContent:
      type: object
      additionalProperties: true
      properties:
        site_key:
          type: string
          description: The site key for the reCAPTCHA v2 provider.
    UpdateSuspiciousIPThrottlingSettingsResponseContent:
      type: object
      additionalProperties: false
      properties:
        enabled:
          type: boolean
          description: Whether or not suspicious IP throttling attack protections are active.
        shields:
          type: array
          description: "Action to take when a suspicious IP throttling threshold is violated.\n          Possible values: <code>block</code>, <code>admin_notification</code>."
          items:
            $ref: '#/components/schemas/SuspiciousIPThrottlingShieldsEnum'
        allowlist:
          $ref: '#/components/schemas/SuspiciousIPThrottlingAllowlist'
        stage:
          $ref: '#/components/schemas/SuspiciousIPThrottlingStage'
 

# --- truncated at 32 KB (53 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/auth0/refs/heads/main/openapi/auth0-attack-protection-api-openapi.yml