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

# List Tools

> List your organisation's live tools. Each item carries its latest published version and a config_valid flag. Filter by name and page with limit and offset.



## OpenAPI

````yaml /api-reference/agents/tools.oas.yaml get /v1/agents/tools
openapi: 3.1.0
info:
  title: SLNG Agent Resources — Tools
  version: 1.0.0
  description: >-
    Public API for organisation tools, MCP servers, Vault entries, and BYOK
    client models.
  contact:
    name: SLNG Support
    email: support@slng.ai
servers:
  - url: https://api.agents.slng.ai
    description: Production
security:
  - bearerAuth: []
paths:
  /v1/agents/tools:
    get:
      summary: List Tools
      description: >-
        List your organisation's live tools. Each item carries its latest
        published version and a config_valid flag. Filter by name and page with
        limit and offset.
      operationId: listTools
      parameters:
        - name: limit
          in: query
          required: false
          description: Maximum number of items to return, from 1 to 200.
          schema:
            type: integer
            maximum: 200
            minimum: 1
            default: 100
            title: Limit
        - name: offset
          in: query
          required: false
          description: Number of items to skip before returning results.
          schema:
            type: integer
            maximum: 10000
            minimum: 0
            default: 0
            title: Offset
        - name: name
          in: query
          required: false
          description: >-
            Filter by exact, case-sensitive tool names. Repeat the parameter for
            OR matching. Pagination is applied after filtering.
          style: form
          explode: true
          example:
            - lookup_customer
          schema:
            type: array
            maxItems: 128
            example:
              - lookup_customer
            items:
              type: string
              example: lookup_customer
              minLength: 1
              maxLength: 200
              pattern: ^[A-Za-z0-9_-]+$
      responses:
        '200':
          description: >-
            The organisation's live tools, each with its latest published
            version and a config_valid flag. Paginated and ordered by name.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ToolListItem'
                title: Response V1 List Tools
                example:
                  - id: 7b2a1c34-5d6e-4f70-8a90-1b2c3d4e5f60
                    name: lookup_customer
                    tool_type: api_request
                    description: Look up a customer by id
                    last_run_status: succeeded
                    latest_version: 3
                    config_valid: true
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '422':
          $ref: '#/components/responses/ValidationError'
        '429':
          $ref: '#/components/responses/RateLimitError'
        '500':
          $ref: '#/components/responses/InternalServerError'
components:
  schemas:
    ToolListItem:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        name:
          type: string
          title: Name
        tool_type:
          type: string
          enum:
            - code
            - api_request
            - end_call
            - voicemail_detection
            - transfer_call
            - send_sms
            - current_datetime
            - user_phone_number
          title: Tool Type
          default: code
        description:
          type: string
          title: Description
        last_run_status:
          anyOf:
            - type: string
            - type: 'null'
          title: Last Run Status
        latest_version:
          anyOf:
            - type: integer
            - type: 'null'
          title: Latest Version
        config_valid:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Config Valid
        arg_schema:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          title: Arg Schema
      type: object
      required:
        - id
        - name
        - description
      title: ToolListItem
      description: A tool as it appears in the gallery listing.
      example:
        id: 7b2a1c34-5d6e-4f70-8a90-1b2c3d4e5f60
        name: lookup_customer
        tool_type: api_request
        description: Look up a customer by id
        last_run_status: succeeded
        latest_version: 3
        config_valid: true
    ApiErrorResponse:
      type: object
      required:
        - detail
        - error
      properties:
        detail:
          type: string
        error:
          $ref: '#/components/schemas/ApiErrorDetail'
      description: Standard error envelope returned for a failed request.
      example:
        detail: The tool is attached to an active agent.
        error:
          code: TOOL_DELETE_BLOCKED
          message: The tool is attached to an active agent.
          retryable: false
    ApiErrorDetail:
      type: object
      required:
        - code
        - message
      properties:
        code:
          type: string
          description: Stable machine-readable error code.
          example: TOOL_DELETE_BLOCKED
        message:
          type: string
          example: The tool is attached to an active agent.
        request_id:
          type:
            - string
            - 'null'
          example: req_01HZYABCDEF
        retryable:
          type: boolean
          example: false
        fields:
          type: array
          example: []
          items:
            type: object
            additionalProperties: true
      description: >-
        Structured error detail with a stable code, a human-readable message,
        and optional per-field errors.
      example:
        code: TOOL_DELETE_BLOCKED
        message: The tool is attached to an active agent.
        request_id: req_01HZYABCDEF
        retryable: false
        fields: []
  responses:
    UnauthorizedError:
      description: Missing or invalid API key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiErrorResponse'
    ForbiddenError:
      description: >-
        The caller cannot perform this operation, or public resource access is
        disabled for the organisation. Disabled access returns code
        PUBLIC_SHARED_RESOURCES_DISABLED with retryable set to false.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiErrorResponse'
    ValidationError:
      description: Request validation failed.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiErrorResponse'
    RateLimitError:
      description: The organisation's request limit was exceeded.
      headers:
        Retry-After:
          schema:
            type: integer
        X-RateLimit-Limit:
          schema:
            type: integer
        X-RateLimit-Remaining:
          schema:
            type: integer
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiErrorResponse'
    InternalServerError:
      description: The operation failed. The response does not expose secret values.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiErrorResponse'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: SLNG API key
      description: Your SLNG consumer API key.

````