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

# List applications

> Returns the applications the caller's account can browse, honoring the optional filters
and pagination. Set available=true to restrict results to applications the caller
can currently use - i.e. their connection requirement is already satisfied - otherwise the
full catalog is returned regardless of connection state. Account context is resolved from
the caller's authenticated account / API key.



## OpenAPI

````yaml /developers/api-reference/openapi.json get /v1/applications
openapi: 3.0.0
info:
  title: Engini API
  version: v1
  description: The Engini public API.
servers:
  - url: https://api.engini.io
security:
  - Bearer: []
  - ApiKey: []
tags:
  - name: Auth
    description: Identify the caller a Developer API request is authenticated as.
  - name: On-prem agents
    description: >-
      Provision and manage agents that run Engini tasks inside a customer's
      network.
  - name: Applications
    description: >-
      Discover the applications (toolkits) available in Engini and their
      connection requirements.
  - name: Tools
    description: Browse and execute the tools exposed by Engini applications.
  - name: Toolsets
    description: Manage toolsets - named groupings of connections and tools.
  - name: McpServers
    description: >-
      Inspect and maintain MCP servers - the account-wide endpoints that expose
      Engini tools and workflows over the Model Context Protocol. Distinct from
      the MCPClient connection kind, which is Engini consuming a third-party MCP
      server.
  - name: Connections
    description: >-
      Manage connections to applications, including OAuth sign-in and
      default-connection selection.
  - name: Triggers
    description: >-
      Create triggers that fire when something changes in a connected app, and
      manage the destinations their events are delivered to.
paths:
  /v1/applications:
    get:
      tags:
        - Applications
      summary: List applications
      description: >-
        Returns the applications the caller's account can browse, honoring the
        optional filters

        and pagination. Set available=true to restrict results to applications
        the caller

        can currently use - i.e. their connection requirement is already
        satisfied - otherwise the

        full catalog is returned regardless of connection state. Account context
        is resolved from

        the caller's authenticated account / API key.
      operationId: Applications_ListApplications
      parameters:
        - name: search
          in: query
          description: Optional free-text search applied across application 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: connectionRequirement
          in: query
          description: Optional filter on the application's connection requirement.
          schema:
            type: string
            nullable: true
          x-position: 3
        - name: category
          in: query
          style: form
          explode: true
          description: Optional list of categories to filter by.
          schema:
            type: array
            nullable: true
            items:
              type: string
          x-position: 4
        - name: kind
          in: query
          description: >-
            Optional filter on the application's connection kind: Regular, Key
            or MCPClient. Case-insensitive. Use Key to find the applications an
            API key can be created against. On-premise agents are served by
            /v1/on-prem-agents.
          schema:
            type: string
            nullable: true
          x-position: 5
        - name: available
          in: query
          description: >-
            When true, returns only applications the caller can currently use.
            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
      responses:
        '200':
          description: A paginated list of applications.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResponseOfApplicationDTO'
              example:
                items:
                  - slug: example-app
                    applicationName: Example App
                    description: An example application.
                    applicationLogo: https://example.com/logo.png
                    connectionRequirement: Required
                    categories:
                      - Communication
                    toolsCount: 5
                    triggersCount: 1
                totalCount: 1
                offset: 0
                top: 100
        '400':
          description: Bad request - malformed body or invalid parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized - missing or invalid bearer token or API key.
          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: []
      x-codeSamples:
        - lang: python
          label: Python
          source: |-
            from engini import Engini

            client = Engini()  # reads ENGINI_API_KEY

            apps = client.applications.list(search="crm", limit=10)
            for app in apps:
                print(app.slug, app.application_name)
        - lang: typescript
          label: TypeScript
          source: >-
            import { Engini } from "@engini/sdk";


            const client = new Engini(); // reads ENGINI_API_KEY


            const apps = await client.applications.list({ search: "crm", limit:
            10 });

            for (const app of apps) console.log(app.slug, app.applicationName);
        - lang: bash
          label: CLI
          source: engini applications list --search crm --json
components:
  schemas:
    PaginatedResponseOfApplicationDTO:
      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/ApplicationDTO'
        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 machine-readable error envelope returned by every non-200
        Developer API response.
      additionalProperties: false
      required:
        - errorCode
        - message
        - requestId
        - timestamp
      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).
        details:
          type: array
          description: Per-field validation details, when applicable.
          nullable: true
          items:
            $ref: '#/components/schemas/ErrorDetail'
    ApplicationDTO:
      type: object
      description: |-
        Public Developer API v1 representation of an Application.
        Returned by GET /v1/applications.
      additionalProperties: false
      required:
        - slug
        - description
        - connectionRequirement
        - kind
        - categories
        - toolsCount
        - triggersCount
      properties:
        slug:
          type: string
          description: Stable public slug identifying the application.
        applicationName:
          type: string
          description: Human-readable display name of the application.
          nullable: true
        description:
          type: string
          description: Description of what the application does.
        applicationLogo:
          type: string
          description: URL of the application's logo image.
          nullable: true
        connectionRequirement:
          type: string
          description: Whether and how a connection is required to use this application.
        kind:
          type: string
          description: >-
            Which kind of connection this application takes: Regular, Key or

            MCPClient. Filter the list with ?kind=Key to find the applications
            an API

            key can be created against. On-premise agents are served by
            /v1/on-prem-agents.
        categories:
          type: array
          description: Categories the application belongs to.
          items:
            type: string
        toolsCount:
          type: integer
          description: Number of tools (activities) the application exposes.
          format: int32
        triggersCount:
          type: integer
          description: Number of triggers the application exposes.
          format: int32
    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.
      name: x-api-key
      in: header

````

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