> ## Documentation Index
> Fetch the complete documentation index at: https://docs.opal.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Anthropic inference hook verdict

> **Prototype (AG-336).** The AI security server endpoint for Anthropic Inference hooks. Anthropic POSTs each governed frame here and waits for an allow or deny verdict. Configure it in claude.ai with this URL and a custom `Authorization: Bearer <Opal API key>` request header.

`tool_call` frames are evaluated against the organization's runtime policy rules. One verdict covers every tool call in the frame. Every other frame type, including `prompt`, is allowed without inspection. Any non-200 response is a webhook failure, so the organization's Anthropic failure-handling setting decides the outcome.



## OpenAPI

````yaml https://app.opal.dev/openapi.yaml post /inference-hooks/anthropic
openapi: 3.1.0
info:
  contact:
    email: hello@opal.dev
    name: Opal Team
    url: https://www.opal.dev/
  description: >-
    The Opal API is a RESTful API that allows you to interact with the Opal
    Security platform programmatically.
  title: Opal API
  version: '1.0'
servers:
  - description: Production
    url: https://api.opal.dev/v1
security: []
tags:
  - name: access-rules
    description: Operations related to access rules
  - name: agent-activity
    description: Operations related to agent activity telemetry
  - name: apps
    description: Operations related to apps
  - name: bundles
    description: Operations related to bundles
  - name: campaigns
    description: Operations related to access review campaigns
  - name: configuration-templates
    description: Operations related to configuration templates
  - name: delegations
    description: Operations related to request reviewer delegations
  - name: event-streams
    description: Operations related to event streaming connections
  - name: events
    description: Operations related to events
  - name: groups
    description: Operations related to groups
  - name: group-bindings
    description: Operations related to group bindings
  - name: idp-group-mappings
    description: Operations related to IDP group mappings
  - name: message-channels
    description: Operations related to message channels
  - name: non-human-identities
    description: Operations related to non-human identities
  - name: on-call-schedules
    description: Operations related to on-call schedules
  - name: opal-queries
    description: Operations related to OpalQuery
  - name: opal-scripts
    description: Operations related to OpalScripts
  - name: owners
    description: Operations related to owners
  - name: requests
    description: Operations related to requests
  - name: resources
    description: Operations related to resources
  - name: role-assignments
    description: >-
      Operations related to role assignments (general grants between an entity
      and a principal)
  - name: paladin
    description: Operations related to Paladin
  - name: sessions
    description: Operations related to sessions
  - name: tags
    description: Operations related to tags
  - name: tokens
    description: Operations related to API tokens
  - name: uars
    description: Operations related to UARs. Deprecated in favor of the `campaigns` API.
  - name: users
    description: Operations related to users
paths:
  /inference-hooks/anthropic:
    post:
      tags:
        - agent-activity
      summary: Anthropic inference hook verdict
      description: >-
        **Prototype (AG-336).** The AI security server endpoint for Anthropic
        Inference hooks. Anthropic POSTs each governed frame here and waits for
        an allow or deny verdict. Configure it in claude.ai with this URL and a
        custom `Authorization: Bearer <Opal API key>` request header.


        `tool_call` frames are evaluated against the organization's runtime
        policy rules. One verdict covers every tool call in the frame. Every
        other frame type, including `prompt`, is allowed without inspection. Any
        non-200 response is a webhook failure, so the organization's Anthropic
        failure-handling setting decides the outcome.
      operationId: anthropicInferenceHook
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AnthropicInferenceHookVerdict'
          description: The verdict for the frame.
        '500':
          description: >-
            The frame could not be evaluated. Anthropic applies the
            organization's failure handling.
      security:
        - BearerAuth: []
components:
  schemas:
    AnthropicInferenceHookVerdict:
      description: >-
        # AnthropicInferenceHookVerdict Object

        ### Description

        An Anthropic Inference hooks verdict. `deny_reason` is shown to the end
        user on a deny.
      properties:
        action:
          enum:
            - allow
            - deny
          type: string
        deny_reason:
          maxLength: 500
          type: string
        reference_id:
          maxLength: 50
          type: string
      required:
        - action
      type: object
  securitySchemes:
    BearerAuth:
      scheme: bearer
      type: http

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.