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

# Inspect installations



## OpenAPI

````yaml /openapi.json get /api/v1/installations
openapi: 3.1.0
info:
  title: Galinum API
  version: '2026-08-22'
  description: >-
    Galinum's HTTP API. SDK endpoints power the browser SDK. Management
    endpoints use a project secret. The scoped hosted-agent credential writes
    only through lease-fenced evaluation and GitHub source endpoints.
    Managed-only operations return 501 on the self-host server.
servers:
  - url: https://galinum.com
    description: Production
security:
  - publishableKey: []
paths:
  /api/v1/installations:
    get:
      tags:
        - Installations
      summary: Inspect installations
      operationId: listInstallations
      parameters:
        - name: userId
          in: query
          schema:
            type: string
            minLength: 1
            maxLength: 256
        - name: page
          in: query
          schema:
            type: integer
            minimum: 1
            default: 1
        - name: perPage
          in: query
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 25
      responses:
        '200':
          description: Current installation state or replayed acknowledgement.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InstallationList'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                type: object
                additionalProperties: false
                properties:
                  error:
                    type: string
                    minLength: 1
                    maxLength: 256
                required:
                  - error
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                additionalProperties: false
                properties:
                  error:
                    type: string
                    minLength: 1
                    maxLength: 256
                required:
                  - error
        '404':
          description: Not found
          content:
            application/json:
              schema:
                type: object
                additionalProperties: false
                properties:
                  error:
                    type: string
                    minLength: 1
                    maxLength: 256
                required:
                  - error
        '409':
          description: Revision or replay conflict
          content:
            application/json:
              schema:
                type: object
                additionalProperties: false
                properties:
                  error:
                    type: string
                    minLength: 1
                    maxLength: 256
                required:
                  - error
        '413':
          description: Body too large
          content:
            application/json:
              schema:
                type: object
                additionalProperties: false
                properties:
                  error:
                    type: string
                    minLength: 1
                    maxLength: 256
                required:
                  - error
        '429':
          description: Rate limited
          content:
            application/json:
              schema:
                type: object
                additionalProperties: false
                properties:
                  error:
                    type: string
                    minLength: 1
                    maxLength: 256
                required:
                  - error
      security:
        - secretKey: []
components:
  schemas:
    InstallationList:
      type: object
      additionalProperties: false
      properties:
        installations:
          type: array
          items:
            $ref: '#/components/schemas/InstallationState'
        page:
          type: integer
          minimum: 1
        perPage:
          type: integer
          minimum: 1
        total:
          type: integer
          minimum: 0
          maximum: 9007199254740991
      required:
        - installations
        - page
        - perPage
        - total
    InstallationState:
      type: object
      additionalProperties: false
      properties:
        id:
          type: string
          minLength: 1
          maxLength: 128
        appId:
          type: string
          minLength: 1
          maxLength: 256
        platform:
          type: string
          enum:
            - ios
            - android
        environment:
          type: string
          enum:
            - development
            - production
        userId:
          type:
            - string
            - 'null'
          maxLength: 256
        bindingGeneration:
          type: integer
          minimum: 0
          maximum: 9007199254740991
        revision:
          type: integer
          minimum: 0
          maximum: 9007199254740991
        tokenRevision:
          type: integer
          minimum: 0
          maximum: 9007199254740991
        hasToken:
          type: boolean
        permission:
          type: string
          enum:
            - unknown
            - not_determined
            - denied
            - provisional
            - granted
        consent:
          type: boolean
        capabilities:
          $ref: '#/components/schemas/InstallationCapabilities'
        lastActiveAt:
          type:
            - integer
            - 'null'
          minimum: 0
        createdAt:
          type: integer
          minimum: 0
          maximum: 9007199254740991
      required:
        - id
        - appId
        - platform
        - environment
        - userId
        - bindingGeneration
        - revision
        - tokenRevision
        - hasToken
        - permission
        - consent
        - capabilities
        - lastActiveAt
        - createdAt
    InstallationCapabilities:
      type: object
      additionalProperties: false
      properties:
        actions:
          type: array
          maxItems: 32
          uniqueItems: true
          items:
            type: string
            minLength: 1
            maxLength: 64
        channels:
          type: array
          maxItems: 64
          uniqueItems: true
          items:
            type: string
            minLength: 1
            maxLength: 128
        richImages:
          type: boolean
        categories:
          type: array
          maxItems: 16
          items:
            type: object
            additionalProperties: false
            required:
              - id
              - actions
            properties:
              id:
                type: string
                minLength: 1
                maxLength: 128
              actions:
                type: array
                maxItems: 4
                items:
                  type: object
                  properties:
                    id:
                      type: string
                      minLength: 1
                      maxLength: 64
                      pattern: ^[a-zA-Z0-9_-]+$
                    title:
                      type: string
                      minLength: 1
                      maxLength: 64
                  required:
                    - id
                    - title
                  additionalProperties: false
      required:
        - actions
        - channels
        - richImages
  securitySchemes:
    publishableKey:
      type: http
      scheme: bearer
      description: >-
        Your project's publishable key (`pk_pub_…`). Safe to expose in the
        browser — it identifies the project and is rate-limited, not secret.
    secretKey:
      type: http
      scheme: bearer
      description: >-
        Your project's secret key (`pk_…`, without the `pub` segment).
        Server-side only — never ship it to a browser. Get it from Settings →
        Projects in the dashboard.

````

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