Auth0 hooks API

The hooks API from Auth0 — 3 operation(s) for hooks.

Operations 9

GET /hooks Get Hooks #
POST /hooks Create a Hook #
GET /hooks/{id} Get a Hook #
DELETE /hooks/{id} Delete a Hook #
PATCH /hooks/{id} Update a Hook #
GET /hooks/{id}/secrets Get Hook Secrets #
DELETE /hooks/{id}/secrets Delete Hook Secrets #
PATCH /hooks/{id}/secrets Update Hook Secrets #
POST /hooks/{id}/secrets Add Hook Secrets #

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-hooks-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-hooks-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Auth0 Management Hooks 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: hooks
paths:
  /hooks:
    get:
      summary: Get Hooks
      description: 'Retrieve all <a href="https://auth0.com/docs/hooks">hooks</a>. Accepts a list of fields to include or exclude in the result.

        '
      tags:
      - hooks
      parameters:
      - name: page
        in: query
        description: Page index of the results to return. First page is 0.
        schema:
          type: integer
          minimum: 0
      - name: per_page
        in: query
        description: Number of results per page.
        schema:
          type: integer
          minimum: 0
          maximum: 100
      - name: include_totals
        in: query
        description: Return results inside an object that contains the total result count (true) or as a direct array of results (false, default).
        schema:
          type: boolean
      - name: enabled
        in: query
        description: Optional filter on whether a hook is enabled (true) or disabled (false).
        schema:
          type: boolean
      - name: fields
        in: query
        description: Comma-separated list of fields to include in the result. Leave empty to retrieve all fields.
        schema:
          type: string
          pattern: ^((id)|(name)|(script)|(dependencies)|(enabled)|(triggerId))(,((id)|(name)|(script)|(dependencies)|(enabled)|(triggerId)))*$
      - name: triggerId
        in: query
        description: Retrieves hooks that match the trigger
        schema:
          $ref: '#/components/schemas/HookTriggerIdEnum'
      responses:
        '200':
          description: Hooks successfully retrieved.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListHooksResponseContent'
        '400':
          description: Invalid request query string. The message will vary depending on the cause.
        '401':
          description: Invalid token.
          x-description-1: Client is not global.
          x-description-2: Invalid signature received for JSON Web Token validation.
        '403':
          description: 'Insufficient scope; expected any of: read:hooks.'
        '404':
          description: Hook not found.
        '429':
          description: Too many requests. Check the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers.
      operationId: get_hooks
      x-release-lifecycle: GA
      x-operation-name: list
      x-operation-request-parameters-name: ListHooksRequestParameters
      x-operation-group: hooks
      security:
      - bearerAuth: []
      - oAuth2ClientCredentials:
        - read:hooks
    post:
      summary: Create a Hook
      description: 'Create a new hook.

        '
      tags:
      - hooks
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateHookRequestContent'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreateHookRequestContent'
      responses:
        '201':
          description: Hook successfully created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateHookResponseContent'
        '400':
          description: Invalid request body. The message will vary depending on the cause.
        '401':
          description: Invalid token.
          x-description-1: Client is not global.
          x-description-2: Invalid signature received for JSON Web Token validation.
        '403':
          description: 'Insufficient scope; expected any of: create:hooks.'
          x-description-1: This endpoint is disabled for your tenant.
        '409':
          description: Hook with the same name already exists.
        '429':
          description: Too many requests. Check the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers.
      operationId: post_hooks
      x-release-lifecycle: GA
      x-operation-name: create
      x-operation-group: hooks
      security:
      - bearerAuth: []
      - oAuth2ClientCredentials:
        - create:hooks
  /hooks/{id}:
    get:
      summary: Get a Hook
      description: 'Retrieve <a href="https://auth0.com/docs/hooks">a hook</a> by its ID. Accepts a list of fields to include in the result.

        '
      tags:
      - hooks
      parameters:
      - name: id
        in: path
        description: ID of the hook to retrieve.
        required: true
        schema:
          type: string
          pattern: ^[A-Za-z0-9-]*$
      - name: fields
        in: query
        description: Comma-separated list of fields to include in the result. Leave empty to retrieve all fields.
        schema:
          type: string
          pattern: ^((id)|(name)|(script)|(dependencies)|(enabled)|(triggerId))(,((id)|(name)|(script)|(dependencies)|(enabled)|(triggerId)))*$
      responses:
        '200':
          description: Hook successfully retrieved.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetHookResponseContent'
        '400':
          description: Invalid request URI. The message will vary depending on the cause.
          x-description-1: Invalid request query string. The message will vary depending on the cause.
        '401':
          description: Invalid token.
          x-description-1: Client is not global.
          x-description-2: Invalid signature received for JSON Web Token validation.
        '403':
          description: 'Insufficient scope; expected any of: read:hooks.'
        '404':
          description: Hook not found.
        '429':
          description: Too many requests. Check the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers.
      operationId: get_hooks_by_id
      x-release-lifecycle: GA
      x-operation-name: get
      x-operation-request-parameters-name: GetHookRequestParameters
      x-operation-group: hooks
      security:
      - bearerAuth: []
      - oAuth2ClientCredentials:
        - read:hooks
    delete:
      summary: Delete a Hook
      description: 'Delete a hook.

        '
      tags:
      - hooks
      parameters:
      - name: id
        in: path
        description: ID of the hook to delete.
        required: true
        schema:
          type: string
          pattern: ^[A-Za-z0-9-]*$
      responses:
        '204':
          description: Hook successfully deleted.
        '400':
          description: Invalid request URI. The message will vary depending on the cause.
        '401':
          description: Invalid token.
          x-description-1: Invalid signature received for JSON Web Token validation.
        '403':
          description: 'Insufficient scope; expected any of: delete:hooks.'
        '429':
          description: Too many requests. Check the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers.
      operationId: delete_hooks_by_id
      x-release-lifecycle: GA
      x-operation-name: delete
      x-operation-group: hooks
      security:
      - bearerAuth: []
      - oAuth2ClientCredentials:
        - delete:hooks
    patch:
      summary: Update a Hook
      description: 'Update an existing hook.

        '
      tags:
      - hooks
      parameters:
      - name: id
        in: path
        description: ID of the hook to update.
        required: true
        schema:
          type: string
          pattern: ^[A-Za-z0-9-]*$
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateHookRequestContent'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdateHookRequestContent'
      responses:
        '201':
          description: Hook successfully created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateHookResponseContent'
        '400':
          description: Invalid request body. The message will vary depending on the cause.
        '401':
          description: Invalid token.
          x-description-1: Client is not global.
          x-description-2: Invalid signature received for JSON Web Token validation.
        '403':
          description: 'Insufficient scope; expected any of: create:hooks.'
          x-description-1: This endpoint is disabled for your tenant.
        '404':
          description: The hook does not exist
        '409':
          description: A hook with the same name already exists.
        '429':
          description: Too many requests. Check the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers.
      operationId: patch_hooks_by_id
      x-release-lifecycle: GA
      x-operation-name: update
      x-operation-group: hooks
      security:
      - bearerAuth: []
      - oAuth2ClientCredentials:
        - update:hooks
  /hooks/{id}/secrets:
    get:
      summary: Get Hook Secrets
      description: "Retrieve a hook's secrets by the ID of the hook. \n"
      tags:
      - hooks
      parameters:
      - name: id
        in: path
        description: ID of the hook to retrieve secrets from.
        required: true
        schema:
          type: string
          pattern: ^[A-Za-z0-9-]*$
      responses:
        '200':
          description: Hook secrets successfully retrieved.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetHookSecretResponseContent'
        '400':
          description: Invalid request URI. The message will vary depending on the cause.
          x-description-1: Invalid request query string. The message will vary depending on the cause.
        '401':
          description: Invalid token.
          x-description-1: Client is not global.
          x-description-2: Invalid signature received for JSON Web Token validation.
        '403':
          description: 'Insufficient scope; expected any of: read:hooks.'
        '404':
          description: Hook not found.
        '429':
          description: Too many requests. Check the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers.
      operationId: get_secrets
      x-release-lifecycle: GA
      x-operation-name: get
      x-operation-group:
      - hooks
      - secrets
      security:
      - bearerAuth: []
      - oAuth2ClientCredentials:
        - read:hooks
    delete:
      summary: Delete Hook Secrets
      description: 'Delete one or more existing secrets for a given hook. Accepts an array of secret names to delete. '
      tags:
      - hooks
      parameters:
      - name: id
        in: path
        description: ID of the hook whose secrets to delete.
        required: true
        schema:
          type: string
          pattern: ^[A-Za-z0-9-]*$
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteHookSecretRequestContent'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DeleteHookSecretRequestContent'
      responses:
        '204':
          description: Hook secrets successfully deleted.
        '400':
          description: Invalid request URI. The message will vary depending on the cause.
        '401':
          description: Invalid token.
          x-description-1: Invalid signature received for JSON Web Token validation.
        '403':
          description: 'Insufficient scope; expected any of: delete:hooks.'
        '429':
          description: Too many requests. Check the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers.
      operationId: delete_secrets
      x-release-lifecycle: GA
      x-operation-name: delete
      x-operation-group:
      - hooks
      - secrets
      security:
      - bearerAuth: []
      - oAuth2ClientCredentials:
        - delete:hooks
    patch:
      summary: Update Hook Secrets
      description: "Update one or more existing secrets for an existing hook. Accepts an object of key-value pairs, where the key is the name of the existing secret. \n"
      tags:
      - hooks
      parameters:
      - name: id
        in: path
        description: ID of the hook whose secrets to update.
        required: true
        schema:
          type: string
          pattern: ^[A-Za-z0-9-]*$
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateHookSecretRequestContent'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdateHookSecretRequestContent'
      responses:
        '201':
          description: Hook secrets successfully updated.
        '400':
          description: Invalid request body. The message will vary depending on the cause.
        '401':
          description: Invalid token.
          x-description-1: Client is not global.
          x-description-2: Invalid signature received for JSON Web Token validation.
        '403':
          description: 'Insufficient scope; expected any of: create:hooks.'
          x-description-1: This endpoint is disabled for your tenant.
        '404':
          description: Hook or secret not found.
        '409':
          description: Secret with the same name already exists.
        '429':
          description: Too many requests. Check the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers.
      operationId: patch_secrets
      x-release-lifecycle: GA
      x-operation-name: update
      x-operation-group:
      - hooks
      - secrets
      security:
      - bearerAuth: []
      - oAuth2ClientCredentials:
        - update:hooks
    post:
      summary: Add Hook Secrets
      description: "Add one or more secrets to an existing hook. Accepts an object of key-value pairs, where the key is the name of the secret. A hook can have a maximum of 20 secrets. \n"
      tags:
      - hooks
      parameters:
      - name: id
        in: path
        description: The id of the hook to retrieve
        required: true
        schema:
          type: string
          pattern: ^[A-Za-z0-9-]*$
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateHookSecretRequestContent'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreateHookSecretRequestContent'
      responses:
        '201':
          description: Hook secrets successfully added.
        '400':
          description: Invalid request body. The message will vary depending on the cause.
        '401':
          description: Invalid token.
          x-description-1: Client is not global.
          x-description-2: Invalid signature received for JSON Web Token validation.
        '403':
          description: 'Insufficient scope; expected any of: create:hooks.'
          x-description-1: This endpoint is disabled for your tenant.
        '409':
          description: Secret with the same name already exists.
        '429':
          description: Too many requests. Check the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers.
      operationId: post_secrets
      x-release-lifecycle: GA
      x-operation-name: create
      x-operation-group:
      - hooks
      - secrets
      security:
      - bearerAuth: []
      - oAuth2ClientCredentials:
        - update:hooks
components:
  schemas:
    HookTriggerIdEnum:
      type: string
      enum:
      - credentials-exchange
      - pre-user-registration
      - post-user-registration
      - post-change-password
      - send-phone-message
      description: Retrieves hooks that match the trigger
    DeleteHookSecretRequestContent:
      type: array
      description: Array of secret names to delete.
      minItems: 1
      items:
        type: string
    UpdateHookRequestContent:
      type: object
      additionalProperties: false
      minProperties: 1
      properties:
        name:
          type: string
          description: Name of this hook.
          default: my-hook
          pattern: ^[a-zA-Z0-9]([ \-a-zA-Z0-9]*[a-zA-Z0-9])?$
        script:
          type: string
          description: Code to be executed when this hook runs.
          default: module.exports = function(client, scope, audience, context, cb) cb(null, access_token); };
          minLength: 1
        enabled:
          type: boolean
          description: Whether this hook will be executed (true) or ignored (false).
          default: false
        dependencies:
          $ref: '#/components/schemas/HookDependencies'
    CreateHookResponseContent:
      type: object
      additionalProperties: false
      properties:
        triggerId:
          type: string
          description: Trigger ID
        id:
          type: string
          description: ID of this hook.
          default: '00001'
        name:
          type: string
          description: Name of this hook.
          default: hook
        enabled:
          type: boolean
          description: Whether this hook will be executed (true) or ignored (false).
          default: true
        script:
          type: string
          description: Code to be executed when this hook runs.
          default: module.exports = function(client, scope, audience, context, cb) cb(null, access_token); };
        dependencies:
          $ref: '#/components/schemas/HookDependencies'
    UpdateHookSecretRequestContent:
      type: object
      description: Hashmap of key-value pairs where the value must be a string.
      additionalProperties:
        type: string
      minProperties: 1
      maxProperties: 20
    GetHookResponseContent:
      type: object
      additionalProperties: false
      properties:
        triggerId:
          type: string
          description: Trigger ID
        id:
          type: string
          description: ID of this hook.
          default: '00001'
        name:
          type: string
          description: Name of this hook.
          default: hook
        enabled:
          type: boolean
          description: Whether this hook will be executed (true) or ignored (false).
          default: true
        script:
          type: string
          description: Code to be executed when this hook runs.
          default: module.exports = function(client, scope, audience, context, cb) cb(null, access_token); };
        dependencies:
          $ref: '#/components/schemas/HookDependencies'
    Hook:
      type: object
      additionalProperties: false
      properties:
        triggerId:
          type: string
          description: Trigger ID
        id:
          type: string
          description: ID of this hook.
          default: '00001'
        name:
          type: string
          description: Name of this hook.
          default: hook
        enabled:
          type: boolean
          description: Whether this hook will be executed (true) or ignored (false).
          default: true
        script:
          type: string
          description: Code to be executed when this hook runs.
          default: module.exports = function(client, scope, audience, context, cb) cb(null, access_token); };
        dependencies:
          $ref: '#/components/schemas/HookDependencies'
    CreateHookSecretRequestContent:
      type: object
      description: Hashmap of key-value pairs where the value must be a string.
      additionalProperties:
        type: string
      minProperties: 1
      maxProperties: 20
    GetHookSecretResponseContent:
      type: object
      description: Hashmap of key-value pairs where the value must be a string.
      additionalProperties:
        type: string
      minProperties: 1
      maxProperties: 20
    CreateHookRequestContent:
      type: object
      additionalProperties: false
      required:
      - name
      - script
      - triggerId
      properties:
        name:
          type: string
          description: Name of this hook.
          default: my-hook
          pattern: ^[a-zA-Z0-9]([ \-a-zA-Z0-9]*[a-zA-Z0-9])?$
        script:
          type: string
          description: Code to be executed when this hook runs.
          default: module.exports = function(client, scope, audience, context, cb) cb(null, access_token); };
          minLength: 1
        enabled:
          type: boolean
          description: Whether this hook will be executed (true) or ignored (false).
          default: false
        dependencies:
          $ref: '#/components/schemas/HookDependencies'
        triggerId:
          $ref: '#/components/schemas/HookTriggerIdEnum'
          description: Execution stage of this rule. Can be `credentials-exchange`, `pre-user-registration`, `post-user-registration`, `post-change-password`, or `send-phone-message`.
    ListHooksResponseContent:
      oneOf:
      - type: array
        items:
          $ref: '#/components/schemas/Hook'
      - $ref: '#/components/schemas/ListHooksOffsetPaginatedResponseContent'
    ListHooksOffsetPaginatedResponseContent:
      type: object
      additionalProperties: false
      properties:
        start:
          type: number
        limit:
          type: number
        total:
          type: number
        hooks:
          type: array
          items:
            $ref: '#/components/schemas/Hook'
    HookDependencies:
      type: object
      description: Dependencies of this hook used by webtask server.
      additionalProperties:
        type: string
    UpdateHookResponseContent:
      type: object
      additionalProperties: false
      properties:
        triggerId:
          type: string
          description: Trigger ID
        id:
          type: string
          description: ID of this hook.
          default: '00001'
        name:
          type: string
          description: Name of this hook.
          default: hook
        enabled:
          type: boolean
          description: Whether this hook will be executed (true) or ignored (false).
          default: true
        script:
          type: string
          description: Code to be executed when this hook runs.
          default: module.exports = function(client, scope, audience, context, cb) cb(null, access_token); };
        dependencies:
          $ref: '#/components/schemas/HookDependencies'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: jwt
    oAuth2ClientCredentials:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: /oauth/token/
          x-form-parameters:
            audience: /api/v2/
          scopes:
            create:actions: Create Actions
            read:actions: Read Actions
            update:actions: Update Actions
            delete:actions: Delete Actions
            read:anomaly_blocks: Read Anomaly Blocks
            delete:anomaly_blocks: Delete Anomaly Blocks
            read:attack_protection: Read Attack Protection
            update:attack_protection: Update Attack Protection
            create:authentication_methods: Create Authentication Methods
            read:authentication_methods: Read Authentication Methods
            update:authentication_methods: Update Authentication Methods
            delete:authentication_methods: Delete Authentication Methods
            read:branding: Read Branding
            update:branding: Update Branding
            delete:branding: Delete Branding
            create:client_credentials: Create Client Credentials
            read:client_credentials: Read Client Credentials
            update:client_credentials: Update Client Credentials
            delete:client_credentials: Delete Client Credentials
            create:client_grants: Create Client Grants
            read:client_grants: Read Client Grants
            update:client_grants: Update Client Grants
            delete:client_grants: Delete Client Grants
            read:client_keys: Read Client Keys
            update:client_keys: Update Client Keys
            read:client_summary: Read Client Summary
            update:client_token_vault_privileged_access: Update Client Token Vault Privileged Access
            create:clients: Create Clients
            read:clients: Read Clients
            update:clients: Update Clients
            delete:clients: Delete Clients
            create:connection_profiles: Create Connection Profiles
            read:connection_profiles: Read Connection Profiles
            update:connection_profiles: Update Connection Profiles
            delete:connection_profiles: Delete Connection Profiles
            create:connections: Create Connections
            read:connections: Read Connections
            update:connections: Update Connections
            delete:connections: Delete Connections
            create:connections_keys: Create Connections Keys
            read:connections_keys: Read Connections Keys
            update:connections_keys: Update Connections Keys
            read:current_user: Read Current User
            delete:current_user: Delete Current User
            create:current_user_device_credentials: Create Current User Device Credentials
            delete:current_user_device_credentials: Delete Current User Device Credentials
            update:current_user_identities: Update Current User Identities
            update:current_user_metadata: Update Current User Metadata
            create:custom_domains: Create Custom Domains
            read:custom_domains: Read Custom Domains
            update:custom_domains: Update Custom Domains
            delete:custom_domains: Delete Custom Domains
            create:custom_signing_keys: Create Custom Signing Keys
            read:custom_signing_keys: Read Custom Signing Keys
            update:custom_signing_keys: Update Custom Signing Keys
            delete:custom_signing_keys: Delete Custom Signing Keys
            read:device_credentials: Read Device Credentials
            delete:device_credentials: Delete Device Credentials
            create:directory_provisionings: Create Directory Provisionings
            read:directory_provisionings: Read Directory Provisionings
            update:directory_provisionings: Update Directory Provisionings
            delete:directory_provisionings: Delete Directory Provisionings
            create:email_provider: Create Email Provider
            read:email_provider: Read Email Provider
            update:email_provider: Update Email Provider
            delete:email_provider: Delete Email Provider
            create:email_templates: Create Email Templates
            read:email_templates: Read Email Templates
            update:email_templates: Update Email Templates
            create:encryption_keys: Create Encryption Keys
            read:encryption_keys: Read Encryption Keys
            update:encryption_keys: Update Encryption Keys
            delete:encryption_keys: Delete Encryption Keys
            read:event_deliveries: Read Event Deliveries
            update:event_deliveries: Update Event Deliveries
            create:event_streams: Create Event Streams
            read:event_streams: Read Event Streams
            update:event_streams: Update Event Streams
            delete:event_streams: Delete Event Streams
            read:events: Read Events
            read:federated_connections_tokens: Read Federated Connections Tokens
            delete:federated_connections_tokens: Delete Federated Connections Tokens
            create:flows: Create Flows
            read:flows: Read Flows
            update:flows: Update Flows
            delete:flows: Delete Flows
            read:flows_executions: Read Flows Executions
            delete:flows_executions: Delete Flows Executions
            create:flows_vault_connections: Create Flows Vault Connections
            read:flows_vault_connections: Read Flows Vault Connections
            update:flows_vault_connections: Update Flows Vault Connections
            delete:flows_vault_connections: Delete Flows Vault Connections
            create:forms: Create Forms
            read:forms: Read Forms
            update:forms: Update Forms
            delete:forms: Delete Forms
            read:grants: Read Grants
            delete:grants: Delete Grants
            read:group_members: Read Group Members
            read:groups: Read Groups
            delete:groups: Delete Groups
            create:guardian_enrollment_tickets: Create Guardian Enrollment Tickets
            read:guardian_enrollments: Read Guardian Enrollments
            delete:guardian_enrollments: Delete Guardian Enrollments
            read:guardian_factors: Read Guardian Factors
            update:guardian_factors: Update Guardian Factors
            create:hooks: Create Hooks
            read:hooks: Read Hooks
            update:hooks: Update Hooks
            delete:hooks: Delete Hooks
            create:log_streams: Create Log Streams
            read:log_streams: Read Log Streams
            update:log_streams: Update Log Streams
            delete:log_streams: Delete Log Streams
            read:logs: Read Logs
            read:logs_users: Read Logs Users
            read:mfa_policies: Read Mfa Policies
            update:mfa_policies: Update Mfa Policies
            create:network_acls: Create Network Acls
            read:network_acls: Read Network Acls
            update:network_acls: Update Network Acls
            delete:network_acls: Delete Network Acls
            create:organization_client_grants: Create Organization Client Grants
            read:organization_client_grants: Read Organization Client Grants
            delete:organization_client_grants: Delete Organization Client Grants
            create:organization_connections: Create Organization Connections
            read:organization_connections: Read Organization Connections
            update:organization_connections: Update Organization Connections
            delete:organization_connections: Delete Organization Connections
            create:organization_discovery_domains: Create Organization Discovery Domains
            read:organization_discovery_domains: Read Organization Discovery Domains
            update:organization_discovery_domains: Update Organization Discovery Domains
            delete:organization_discovery_domains: Delete Organization Discovery Domains
            create:organization_invitations: Create Organization Invitations
            read:organization_invitations: Read Organization Invitations
            delete:organization_invitations: Delete Organization Invitations
            create:organization_member_roles: Create Organization Member Roles
            read:organization_member_roles: Read Organization Member Roles
            delete:organization_member_roles: Delete Organization Member Roles
            create:organization_members: Create Organization Members
            read:organization_members: Read Organization Members
            delete:organization_members: Delete Organization Members
            create:organizations: Create Organizations
            read:organizations: Read Organizations
            update:organizations: Update Organizations
            delete:organizations: Delete Organizations
            read:organizations_summary: Read Organizations Summary
            create:phone_providers: Create Phone Providers
            read:phone_providers: Read Phone Providers
            update:phone_providers: Update Phone Providers
            delete:phone_providers: Delete Phone Providers
            create:phone_templates: Create Phone Templates
            read:phone_templates: Read Phone Templates
            update:phone_templates: Update Phone Templates
            delete:phone_templates: Delete Phone Templates
            read:prompts: Read Prompts
            update:prompts: Update Prompts
            read:refresh_tokens: Read Refresh Tokens
            update:refresh_tokens: Update Refresh Tokens
            delete:refresh_tokens: Delete Refresh Tokens
            create:resource_servers: Create Resource Servers
            read:resource_servers: Read Resource Servers
            update:resource_servers: Update Resource

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