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

# List Agent Tools

> List agent tools for the authenticated organization, optionally filtered by agent.

### Authorizations

<ParamField header="Authorization" type="string" required>
  Bearer JWT used to authenticate the request for the organization scope.
</ParamField>

***

### Query Parameters

<ParamField query="limit" type="integer">
  Maximum number of records to return.
</ParamField>

<ParamField query="offset" type="integer">
  Number of records to skip before returning results.
</ParamField>

<ParamField query="agentId" type="string">
  Filter tools to one agent UUID. The API also accepts `agent_id`.
</ParamField>

***

### Response

<ResponseField name="success" type="boolean">
  Whether the request succeeded.
</ResponseField>

<ResponseField name="message" type="string">
  Human-readable status message.
</ResponseField>

<ResponseField name="data" type="object[]">
  Returned tools.

  <Expandable title="data[]">
    <ResponseField name="id" type="string">
      Tool UUID.
    </ResponseField>

    <ResponseField name="organizationId" type="string">
      Organization UUID.
    </ResponseField>

    <ResponseField name="name" type="string">
      Tool name.
    </ResponseField>

    <ResponseField name="description" type="string">
      Tool description.
    </ResponseField>

    <ResponseField name="type" type="string">
      Tool type.
    </ResponseField>

    <ResponseField name="definition" type="object">
      Tool definition payload.
    </ResponseField>

    <ResponseField name="isActive" type="boolean">
      Whether the tool is active.
    </ResponseField>

    <ResponseField name="agentId" type="string">
      Agent UUID attached to the tool.
    </ResponseField>

    <ResponseField name="enabledFunctions" type="object">
      Enabled tool functions.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="meta" type="object">
  Pagination metadata.

  <Expandable title="meta">
    <ResponseField name="total" type="string">
      Total number of matching tools.
    </ResponseField>

    <ResponseField name="limit" type="integer">
      Applied page size.
    </ResponseField>

    <ResponseField name="offset" type="integer">
      Applied pagination offset.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseExample>
  ```json 200 theme={null}
  {
    "success": true,
    "message": "Tools fetched successfully",
    "data": [
      {
        "id": "1a2b3c4d-1111-2222-3333-444455556666",
        "organizationId": "0b8e2f10-1234-4abc-9def-567890abcdef",
        "name": "book_appointment",
        "description": "Books an appointment in the connected calendar",
        "type": "custom",
        "definition": {
          "url": "https://example.com/book",
          "method": "POST",
          "parameters": {
            "type": "object",
            "properties": {
              "date": {
                "type": "string"
              }
            }
          }
        },
        "isActive": true,
        "agentId": "9f1c2b3a-4d5e-6f70-8190-a1b2c3d4e5f6",
        "enabledFunctions": {
          "values": [
            "book",
            "reschedule"
          ]
        }
      }
    ],
    "meta": {
      "total": "5",
      "limit": 20,
      "offset": 0
    }
  }
  ```
</ResponseExample>


## OpenAPI

````yaml GET /api/v1/tools/
openapi: 3.0.1
info:
  title: Agni API
  version: 1.0.0
  description: >-
    Agni API for managing agents, tools, widget settings, telephony, and
    integrations.
servers:
  - url: https://api.ravan.ai
security:
  - X-Api-Key: []
tags:
  - name: AgentService
  - name: AgentToolService
  - name: WidgetSettingsService
  - name: PhoneService
  - name: AppointmentService
  - name: GHLService
  - name: CalComService
  - name: CampaignService
  - name: ContactService
  - name: CallingService
  - name: RAGService
  - name: ModelService
  - name: HealthService
paths:
  /api/v1/tools/:
    get:
      tags:
        - AgentToolService
      summary: List Agent Tools
      description: >-
        List agent tools for the authenticated organization, optionally filtered
        by agent.
      operationId: ListAgentTools
      parameters:
        - name: limit
          in: query
          schema:
            type: integer
            format: int32
          description: Maximum number of records to return.
        - name: offset
          in: query
          schema:
            type: integer
            format: int32
          description: Number of records to skip before returning results.
        - name: agentId
          in: query
          schema:
            type: string
            format: uuid
          description: Filter tools to a single agent UUID.
        - name: agent_id
          in: query
          schema:
            type: string
            format: uuid
          description: Alias for agentId.
      responses:
        '200':
          description: Tools fetched successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListAgentToolsResponse'
              example:
                success: true
                message: Tools fetched successfully
                data:
                  - id: 1a2b3c4d-1111-2222-3333-444455556666
                    organizationId: 0b8e2f10-1234-4abc-9def-567890abcdef
                    name: book_appointment
                    description: Books an appointment in the connected calendar
                    type: custom
                    definition:
                      url: https://example.com/book
                      method: POST
                      parameters:
                        type: object
                        properties:
                          date:
                            type: string
                    isActive: true
                    agentId: 9f1c2b3a-4d5e-6f70-8190-a1b2c3d4e5f6
                    enabledFunctions:
                      values:
                        - book
                        - reschedule
                meta:
                  total: '5'
                  limit: 20
                  offset: 0
        '401':
          description: Unauthenticated
        '500':
          description: Internal server error
      security:
        - BearerAuth: []
components:
  schemas:
    ListAgentToolsResponse:
      type: object
      properties:
        success:
          type: boolean
          example: true
        message:
          type: string
          example: Tools fetched successfully
        data:
          type: array
          items:
            $ref: '#/components/schemas/AgentTool'
        meta:
          $ref: '#/components/schemas/AgentToolListMeta'
    AgentTool:
      type: object
      properties:
        id:
          type: string
          description: Tool UUID
        organizationId:
          type: string
          description: Organization UUID
        name:
          type: string
          description: Tool name
        description:
          type: string
          description: Tool description
        type:
          type: string
          description: Tool type
        definition:
          $ref: '#/components/schemas/AgentToolDefinition'
        isActive:
          type: boolean
          description: Whether the tool is active
        agentId:
          type: string
          description: Agent UUID attached to the tool
        enabledFunctions:
          $ref: '#/components/schemas/AgentToolEnabledFunctions'
    AgentToolListMeta:
      type: object
      properties:
        total:
          type: string
          example: '5'
        limit:
          type: integer
          format: int32
          example: 20
        offset:
          type: integer
          format: int32
          example: 0
    AgentToolDefinition:
      type: object
      description: Tool definition payload.
      properties:
        url:
          type: string
          example: https://example.com/book
        method:
          type: string
          example: POST
        parameters:
          type: object
          properties:
            type:
              type: string
              example: object
            properties:
              type: object
              additionalProperties:
                type: object
                properties:
                  type:
                    type: string
                    example: string
      additionalProperties: true
    AgentToolEnabledFunctions:
      type: object
      properties:
        values:
          type: array
          items:
            type: string
  securitySchemes:
    X-Api-Key:
      type: apiKey
      in: header
      name: X-Api-Key
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````