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

# List tools

> List the tools available to the caller, with optional filtering and pagination.



## OpenAPI

````yaml /api-reference/openapi.json get /v1/tools
openapi: 3.0.0
info:
  title: Engini DeveloperAPI
  version: v1
  description: 'Merged public developer API spec: Identity + WorkflowApi.'
servers:
  - url: https://api.engini.io
security:
  - Bearer: []
  - ApiKey: []
paths:
  /v1/tools:
    get:
      tags:
        - Tools
      summary: List tools
      description: >-
        List the tools available to the caller, with optional filtering and
        pagination.
      operationId: Tools_ListTools
      parameters:
        - name: search
          in: query
          description: Optional free-text search applied across tool fields.
          schema:
            type: string
            nullable: true
          x-position: 1
        - name: name
          in: query
          description: Optional exact-name filter.
          schema:
            type: string
            nullable: true
          x-position: 2
        - name: applicationSlug
          in: query
          description: Optional filter limiting results to tools of a specific application.
          schema:
            type: string
            nullable: true
          x-position: 3
        - name: category
          in: query
          description: Optional category filter.
          schema:
            type: string
            nullable: true
          x-position: 4
        - name: available
          in: query
          description: >-
            When true, returns only tools the caller can currently execute.
            Defaults to false.
          schema:
            type: boolean
            default: false
          x-position: 5
        - name: includeDeprecated
          in: query
          description: >-
            When true, includes deprecated tools in the results. Defaults to
            false.
          schema:
            type: boolean
            default: false
          x-position: 6
        - name: offset
          in: query
          description: Zero-based index of the first item to return. Defaults to 0.
          schema:
            type: integer
            format: int32
            default: 0
          x-position: 7
        - name: top
          in: query
          description: Maximum number of items to return. Defaults to 100.
          schema:
            type: integer
            format: int32
            default: 100
          x-position: 8
        - name: toolsetId
          in: query
          description: >-
            Optional toolset id; when supplied, the caller's workflow tools in
            that toolset are included alongside activity tools.
          schema:
            type: string
            nullable: true
          x-position: 9
      responses:
        '200':
          description: A paginated list of tools.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResponseOfToolDTO'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden — the caller lacks access to the resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found — the resource does not exist.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Too many requests — rate limit exceeded.
          headers:
            Retry-After:
              description: Number of seconds to wait before retrying.
              schema:
                type: integer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error — an unexpected error occurred.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - Bearer: []
        - ApiKey: []
components:
  schemas:
    PaginatedResponseOfToolDTO:
      type: object
      description: Offset-based paginated wrapper for a list of items.
      additionalProperties: false
      required:
        - items
        - totalCount
        - offset
        - top
      properties:
        items:
          type: array
          description: The items in the current page.
          items:
            $ref: '#/components/schemas/ToolDTO'
        totalCount:
          type: integer
          description: Total number of items available across all pages.
          format: int32
        offset:
          type: integer
          description: Number of items skipped before this page (the requested offset).
          format: int32
        top:
          type: integer
          description: Maximum number of items requested for this page.
          format: int32
    ErrorResponse:
      type: object
      description: >-
        Unified error envelope for every non-200 response from
        /api/DeveloperAPI/v1/*.

        See applications-tools-spec.md §"Error envelope".
      additionalProperties: false
      required:
        - errorCode
        - message
        - requestId
        - timestamp
        - path
      properties:
        errorCode:
          type: string
          description: Machine-readable error code identifying the failure.
        message:
          type: string
          description: Human-readable error message.
        requestId:
          type: string
          description: Identifier of the request, for support/correlation.
        timestamp:
          type: string
          description: Timestamp when the error occurred (ISO 8601).
        path:
          type: string
          description: Request path that produced the error.
        details:
          type: array
          description: Per-field validation details, when applicable.
          nullable: true
          items:
            $ref: '#/components/schemas/ErrorDetail'
    ToolDTO:
      type: object
      description: |-
        Public Developer API v1 representation of a tool (Activity).
        Returned by GET /api/DeveloperAPI/v1/tools.
      additionalProperties: false
      required:
        - toolSlug
        - category
        - applicationSlug
        - isDeprecated
      properties:
        toolSlug:
          type: string
          description: Public identifier, sourced from Activity.McpToolName.
        toolName:
          type: string
          description: Human-readable display name of the tool.
          nullable: true
        description:
          type: string
          description: Description of what the tool does.
          nullable: true
        category:
          type: string
          description: Category the tool belongs to.
        applicationSlug:
          type: string
          description: Slug of the application this tool belongs to.
        applicationName:
          type: string
          description: Display name of the application this tool belongs to.
          nullable: true
        version:
          type: string
          description: Version of the tool.
          nullable: true
        isDeprecated:
          type: boolean
          description: Whether the tool is deprecated.
    ErrorDetail:
      type: object
      description: A single field-level error detail within an ErrorResponse.
      additionalProperties: false
      required:
        - field
        - issue
      properties:
        field:
          type: string
          description: Name of the field the issue relates to.
        issue:
          type: string
          description: Description of the issue with the field.
  securitySchemes:
    Bearer:
      type: http
      description: Enter your JWT token
      scheme: bearer
      bearerFormat: JWT
    ApiKey:
      type: apiKey
      description: >-
        Opaque Developer API key (prefix `eng_`). Authenticates as the key's
        owner and resolves the account automatically — no Bearer or companytoken
        needed.
      name: x-api-key
      in: header

````