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

# List app installs

> Returns every app install visible to the caller in the workspace, including core
modules, marketplace apps, custom apps, embeds, and links. The set is scoped by the
caller's permissions: clients only receive installs whose visibility rules include them.



## OpenAPI

````yaml /api-reference/openapi.json get /v1/installs
openapi: 3.0.0
info:
  contact: {}
  title: Assembly API
  version: 0.0.1
servers:
  - url: https://api.assembly.com
security: []
paths:
  /v1/installs:
    get:
      tags:
        - Installs
      summary: List app installs
      description: >-
        Returns every app install visible to the caller in the workspace,
        including core

        modules, marketplace apps, custom apps, embeds, and links. The set is
        scoped by the

        caller's permissions: clients only receive installs whose visibility
        rules include them.
      operationId: list-app-installs
      parameters:
        - description: >-
            When true, an internal caller previews the install list as a client
            would see it.
          in: query
          name: previewAsClient
          schema:
            type: boolean
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/app_instance.AppInstall'
                type: array
          description: OK
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/dispatcher.Error'
          description: Missing or invalid API key
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/dispatcher.Error'
          description: Workspace app installs could not be found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/dispatcher.Error'
          description: Unexpected server error
      security:
        - APIKeyHeader: []
components:
  schemas:
    app_instance.AppInstall:
      properties:
        appBuilderId:
          type: string
        appId:
          description: >-
            AppID is the identifier of the backing application, and the same
            value notifications carry in their

            appId so callers can join the two. Empty for embed, link, and manual
            installs, which have no backing app.
          example: 7c9e6679-7425-40de-944b-e07fc1f90ae7
          format: uuid
          type: string
        autoSizeEmbed:
          type: boolean
        content:
          description: extension
          type: string
        disabled:
          description: |-
            internal-api only
            module
          type: boolean
        displayName:
          description: >-
            DisplayName is the human-readable label shown for the install in the
            sidebar.
          example: Billing Portal
          type: string
        embedCode:
          type: string
        embedCount:
          type: integer
        embedLink:
          type: string
        embedlyData:
          $ref: '#/components/schemas/embedly.OEmbedResponse'
        icon:
          description: >-
            Icon is the design-system icon name shown for the install; exposed
            on the public API.
          type: string
        id:
          description: >-
            ID is the unique identifier of the app install. For core modules
            this is a deterministic UUID derived from the workspace and module
            name.
          example: 550e8400-e29b-41d4-a716-446655440000
          format: uuid
          type: string
        isAuthenticated:
          type: boolean
        isDraft:
          description: >-
            app-builder drafts: when the install was created by the App Builder
            and

            has not yet been deployed, IsDraft is true and AppBuilderID points
            to the

            source builder so the sidebar can deep-link to its session.
          type: boolean
        isInternalApp:
          type: boolean
        isRoot:
          type: boolean
        iuSidebarHidden:
          type: boolean
        notificationConfig:
          allOf:
            - $ref: '#/components/schemas/marketplace_application.NotificationConfig'
          description: >-
            NotificationConfig carries the backing app's declared notification
            settings so the

            IU notifications page can render a row per setting. Internal-only
            for now (omitexternal);

            exposing it on the public installs API is handled separately.
        object:
          example: appInstall
          type: string
        path:
          type: string
        queryParams:
          items:
            additionalProperties:
              type: string
            type: object
          type: array
        sort:
          type: integer
        supportsExpiringTokens:
          type: boolean
        type:
          description: Type is the kind of install.
          enum:
            - core
            - custom
            - marketplace
            - embed
            - link
            - manual
          example: marketplace
          type: string
        visibilityConfig:
          items:
            $ref: '#/components/schemas/fields_models.VisibilityRule'
          type: array
      type: object
    dispatcher.Error:
      properties:
        code:
          type: string
        data: {}
        message:
          type: string
      type: object
    embedly.OEmbedResponse:
      properties:
        author_name:
          type: string
        author_url:
          type: string
        cache_age:
          type: integer
        description:
          type: string
        height:
          type: integer
        html:
          type: string
        provider_name:
          type: string
        provider_url:
          type: string
        thumbnail_height:
          type: integer
        thumbnail_url:
          type: string
        thumbnail_width:
          type: integer
        title:
          type: string
        type:
          type: string
        url:
          type: string
        version:
          type: string
        width:
          type: integer
      type: object
    marketplace_application.NotificationConfig:
      properties:
        actionLabel:
          $ref: '#/components/schemas/marketplace_application.NotificationActionLabel'
        notifications:
          items:
            $ref: '#/components/schemas/marketplace_application.NotificationSetting'
          type: array
      type: object
    fields_models.VisibilityRule:
      properties:
        comparator:
          $ref: '#/components/schemas/fields_models.VisibilityComparator'
        customFieldId:
          description: only needed when ruleType is CustomFieldVisibility
          type: string
        isCompanyCustomField:
          type: boolean
        ruleType:
          $ref: '#/components/schemas/fields_models.VisibilityRuleType'
        valueItems:
          description: used for client visibility rules with per-company granularity
          items:
            $ref: '#/components/schemas/fields_models.VisibilityRuleValueItem'
          type: array
        values:
          items:
            type: string
          nullable: true
          type: array
      type: object
    marketplace_application.NotificationActionLabel:
      properties:
        pluralNoun:
          type: string
        singularNoun:
          type: string
        verb:
          type: string
      type: object
    marketplace_application.NotificationSetting:
      properties:
        default:
          $ref: >-
            #/components/schemas/marketplace_application.NotificationSurfaceDefaults
        id:
          type: string
        label:
          type: string
        surfaces:
          items:
            type: string
          type: array
      type: object
    fields_models.VisibilityComparator:
      enum:
        - includesAnyOf
        - doesntContainAnyOf
        - includesAllOf
      type: string
      x-enum-varnames:
        - IncludesAnyOf
        - DoesntContainAnyOf
        - IncludesAllOf
    fields_models.VisibilityRuleType:
      enum:
        - client
        - company
        - customField
        - noVisibility
      type: string
      x-enum-varnames:
        - ClientVisibility
        - CompanyVisibility
        - CustomFieldVisibility
        - NoVisibility
    fields_models.VisibilityRuleValueItem:
      properties:
        companyId:
          type: string
        userId:
          type: string
      type: object
    marketplace_application.NotificationSurfaceDefaults:
      properties:
        email:
          type: boolean
        product:
          type: boolean
      type: object
  securitySchemes:
    APIKeyHeader:
      in: header
      name: X-API-KEY
      type: apiKey

````