openapi: 3.1.0
info:
  title: Loams Connect API
  version: v1
  description: '**Implemented native RPCs.** Instance discovery and 18 namespace, collection, document
    and search RPCs run on the native port, using the same metastore and CollectionService as REST. Document
    writes support idempotency keys; reads carry consistency tokens. Hybrid Search is implemented; SQL
    and stream RPC migration remains in progress.


    **One port, three protocols.** Connect, gRPC and gRPC-Web share the native listener with health and
    optional reflection. This reference describes the Connect JSON mapping. `LOAMS_AUTH_MODE` picks authentication
    (`off` by default, loopback only; `apikey`, `oidc`, `tailscale` or a comma list); GetInstance and
    health need no credential, and WhoAmI reports the caller. Live calls on this main port return feature_not_in_variant;
    the Live engine in the default build has its own loopback listener on port 7710. `loams.graph.v1`
    (with the graph build feature) and `loams.house.v1` (proxied to a configured House front) are also
    served on this port but are not described by this schema.


    The original instance/Live schemas are generated from protobuf. Collection/document entries in this
    snapshot are derived from the current collection.proto, document.proto and query.proto and checked
    against the implemented handlers. Catalogue, methods and availability were checked against engine
    dev ce9e6811 on 2026-10-12. No stable release is published yet.'
servers:
- url: http://127.0.0.1:8080
  description: A local engine on its default port (loopback; authentication per LOAMS_AUTH_MODE)
tags:
- name: loams.instance.v1.InstanceService
  description: What this instance is, and who the caller is on it. The one package every build variant
    serves.
- name: loams.live.v1.LiveService
  description: Live sync and the tables facade. Registered on this port and refused with `feature_not_in_variant`;
    the Live engine is served on its own loopback listener (port 7710).
- name: grpc.health.v1.Health
  description: The standard gRPC health service. `SERVING` for the whole process and for each served service.
- name: grpc.reflection.v1.ServerReflection
  description: The standard gRPC server reflection service, so `grpcurl` and Postman can read the contract.
    Mounted in `loams dev`, off elsewhere.
- name: loams.collection.v1.NamespaceService
  description: Implemented native RPCs; audited against engine handlers.
- name: loams.collection.v1.CollectionService
  description: Implemented native RPCs; audited against engine handlers.
- name: loams.collection.v1.DocumentService
  description: Implemented native RPCs; audited against engine handlers.
- name: loams.collection.v1.QueryService
  description: Implemented native RPCs; audited against engine handlers.
paths:
  /loams.instance.v1.InstanceService/GetInstance:
    post:
      tags:
      - loams.instance.v1.InstanceService
      summary: GetInstance
      description: What this instance is and how to sign in to it. No auth.
      operationId: loams.instance.v1.InstanceService.GetInstance
      parameters:
      - name: Connect-Protocol-Version
        in: header
        description: Define the version of the Connect protocol
        schema:
          $ref: '#/components/schemas/connect-protocol-version'
        example: 1
      - name: Connect-Timeout-Ms
        in: header
        description: Define the timeout, in ms
        schema:
          $ref: '#/components/schemas/connect-timeout-header'
        example: 1000
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/loams.instance.v1.GetInstanceRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/loams.instance.v1.GetInstanceResponse'
              examples:
                default:
                  value:
                    instanceId: 01M41B4RP8BR7444NE7D61S0HN
                    name: Loams
                    edition: EDITION_OSS
                    serverVersion: 0.0.1
                    apiVersions:
                    - loams.instance.v1
                    signInMethods:
                    - kind: SIGN_IN_KIND_NONE
                      displayName: No sign-in
                    services:
                    - package: loams.instance.v1
                      version: v1
                      available: true
                      services:
                      - loams.instance.v1.InstanceService
                    - package: loams.live.v1
                      version: v1
                      services:
                      - loams.live.v1.LiveService
                      unstable: true
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
      x-badges:
      - name: Available
        color: '#5f8f3a'
  /loams.instance.v1.InstanceService/WhoAmI:
    post:
      tags:
      - loams.instance.v1.InstanceService
      summary: WhoAmI
      description: 'Who the caller is: the principal the request authenticated as (an OIDC user, an API
        key or a Tailscale user). With authentication off every caller is `dev-loopback`.'
      operationId: loams.instance.v1.InstanceService.WhoAmI
      parameters:
      - name: Connect-Protocol-Version
        in: header
        description: Define the version of the Connect protocol
        schema:
          $ref: '#/components/schemas/connect-protocol-version'
        example: 1
      - name: Connect-Timeout-Ms
        in: header
        description: Define the timeout, in ms
        schema:
          $ref: '#/components/schemas/connect-timeout-header'
        example: 1000
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/loams.instance.v1.WhoAmIRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/loams.instance.v1.WhoAmIResponse'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
              examples:
                default:
                  value:
                    code: unimplemented
                    message: loams.instance.v1.InstanceService/WhoAmI is not implemented by this build
                      yet
                    details:
                    - type: loams.errors.v1.ErrorInfo
                      value: Cg9ub3RfaW1wbGVtZW50ZWQ
      x-badges:
      - name: In progress
        color: '#c0842f'
  /loams.live.v1.LiveService/Query:
    post:
      tags:
      - loams.live.v1.LiveService
      summary: A one-shot query, at the latest tick or at a given timestamp.
      description: 'Exposed on `loams.tables`, not on `loams.live`: the service splits into the session
        half (`Watch`,

        `ModifyQuerySet`) and the table half (`Query`, `Mutate`, `Deploy`), and both module names are
        views

        of these RPCs.'
      operationId: loams.live.v1.LiveService.Query
      parameters:
      - name: Connect-Protocol-Version
        in: header
        description: Define the version of the Connect protocol
        schema:
          $ref: '#/components/schemas/connect-protocol-version'
        example: 1
      - name: Connect-Timeout-Ms
        in: header
        description: Define the timeout, in ms
        schema:
          $ref: '#/components/schemas/connect-timeout-header'
        example: 1000
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/loams.live.v1.QueryRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/loams.live.v1.QueryResponse'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
              examples:
                default:
                  value:
                    code: unimplemented
                    message: loams.live.v1.LiveService/Query is not in the standard variant
                    details:
                    - type: loams.errors.v1.ErrorInfo
                      value: ChZmZWF0dXJlX25vdF9pbl92YXJpYW50EhMKB3ZhcmlhbnQSCHN0YW5kYXJk
      x-badges:
      - name: Planned
        color: '#6b8a98'
  /loams.live.v1.LiveService/Mutate:
    post:
      tags:
      - loams.live.v1.LiveService
      summary: Mutate
      description: Runs a mutation; returns its commit timestamp and result.
      operationId: loams.live.v1.LiveService.Mutate
      parameters:
      - name: Connect-Protocol-Version
        in: header
        description: Define the version of the Connect protocol
        schema:
          $ref: '#/components/schemas/connect-protocol-version'
        example: 1
      - name: Connect-Timeout-Ms
        in: header
        description: Define the timeout, in ms
        schema:
          $ref: '#/components/schemas/connect-timeout-header'
        example: 1000
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/loams.live.v1.MutateRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/loams.live.v1.MutateResponse'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
      x-badges:
      - name: Planned
        color: '#6b8a98'
  /loams.live.v1.LiveService/Deploy:
    post:
      tags:
      - loams.live.v1.LiveService
      summary: Deploy
      description: 'Admin: deploys a function bundle and a schema.'
      operationId: loams.live.v1.LiveService.Deploy
      parameters:
      - name: Connect-Protocol-Version
        in: header
        description: Define the version of the Connect protocol
        schema:
          $ref: '#/components/schemas/connect-protocol-version'
        example: 1
      - name: Connect-Timeout-Ms
        in: header
        description: Define the timeout, in ms
        schema:
          $ref: '#/components/schemas/connect-timeout-header'
        example: 1000
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/loams.live.v1.DeployRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/loams.live.v1.DeployResponse'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
      x-badges:
      - name: Planned
        color: '#6b8a98'
  /loams.live.v1.LiveService/Watch:
    post:
      tags:
      - loams.live.v1.LiveService
      summary: Watch
      operationId: loams.live.v1.LiveService.Watch
      description: 'Server-streaming RPC. With Connect the request and every response message are enveloped

        (`content-type: application/connect+json` for the JSON mapping, `application/connect+proto` for
        the binary

        one). Use a Connect or gRPC client rather than a plain HTTP request.'
      responses:
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
      x-badges:
      - name: Planned
        color: '#6b8a98'
  /loams.live.v1.LiveService/ModifyQuerySet:
    post:
      tags:
      - loams.live.v1.LiveService
      summary: ModifyQuerySet
      description: "Adds and removes queries in an open session. The next Transition\n reflects the change."
      operationId: loams.live.v1.LiveService.ModifyQuerySet
      parameters:
      - name: Connect-Protocol-Version
        in: header
        description: Define the version of the Connect protocol
        schema:
          $ref: '#/components/schemas/connect-protocol-version'
        example: 1
      - name: Connect-Timeout-Ms
        in: header
        description: Define the timeout, in ms
        schema:
          $ref: '#/components/schemas/connect-timeout-header'
        example: 1000
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/loams.live.v1.ModifyQuerySetRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/loams.live.v1.ModifyQuerySetResponse'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
      x-badges:
      - name: Planned
        color: '#6b8a98'
  /grpc.health.v1.Health/Check:
    post:
      tags:
      - grpc.health.v1.Health
      summary: Check
      description: "Check returns the serving status of the requested service. If the\n service name is\
        \ empty, the response covers the whole server."
      operationId: grpc.health.v1.Health.Check
      parameters:
      - name: Connect-Protocol-Version
        in: header
        description: Define the version of the Connect protocol
        schema:
          $ref: '#/components/schemas/connect-protocol-version'
        example: 1
      - name: Connect-Timeout-Ms
        in: header
        description: Define the timeout, in ms
        schema:
          $ref: '#/components/schemas/connect-timeout-header'
        example: 1000
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/grpc.health.v1.HealthCheckRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/grpc.health.v1.HealthCheckResponse'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
      x-badges:
      - name: Available
        color: '#5f8f3a'
  /grpc.health.v1.Health/Watch:
    post:
      tags:
      - grpc.health.v1.Health
      summary: Watch
      operationId: grpc.health.v1.Health.Watch
      description: 'Server-streaming RPC. With Connect the request and every response message are enveloped

        (`content-type: application/connect+json` for the JSON mapping, `application/connect+proto` for
        the binary

        one). Use a Connect or gRPC client rather than a plain HTTP request.'
      responses:
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
      x-badges:
      - name: Available
        color: '#5f8f3a'
  /grpc.reflection.v1.ServerReflection/ServerReflectionInfo:
    post:
      tags:
      - grpc.reflection.v1.ServerReflection
      summary: ServerReflectionInfo
      operationId: grpc.reflection.v1.ServerReflection.ServerReflectionInfo
      description: 'Server-streaming RPC. With Connect the request and every response message are enveloped

        (`content-type: application/connect+json` for the JSON mapping, `application/connect+proto` for
        the binary

        one). Use a Connect or gRPC client rather than a plain HTTP request.'
      responses:
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
      x-badges:
      - name: In progress
        color: '#c0842f'
  /loams.collection.v1.NamespaceService/CreateNamespace:
    post:
      tags:
      - loams.collection.v1.NamespaceService
      summary: CreateNamespace
      description: Creates a namespace through the shared metastore.
      operationId: loams.collection.v1.NamespaceService.CreateNamespace
      parameters:
      - name: Connect-Protocol-Version
        in: header
        description: Define the version of the Connect protocol
        schema:
          $ref: '#/components/schemas/connect-protocol-version'
        example: 1
      - name: Connect-Timeout-Ms
        in: header
        description: Define the timeout, in ms
        schema:
          $ref: '#/components/schemas/connect-timeout-header'
        example: 1000
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/loams.collection.v1.CreateNamespaceRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/loams.collection.v1.CreateNamespaceResponse'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
      x-badges:
      - name: Available
      x-loams-source: proto/loams/collection/v1/collection.proto
  /loams.collection.v1.CollectionService/CreateCollection:
    post:
      tags:
      - loams.collection.v1.CollectionService
      summary: CreateCollection
      description: Creates a collection; replay by name returns the same collection when the schema agrees.
      operationId: loams.collection.v1.CollectionService.CreateCollection
      parameters:
      - name: Connect-Protocol-Version
        in: header
        description: Define the version of the Connect protocol
        schema:
          $ref: '#/components/schemas/connect-protocol-version'
        example: 1
      - name: Connect-Timeout-Ms
        in: header
        description: Define the timeout, in ms
        schema:
          $ref: '#/components/schemas/connect-timeout-header'
        example: 1000
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/loams.collection.v1.CreateCollectionRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/loams.collection.v1.CollectionInfo'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
      x-badges:
      - name: Available
      x-loams-source: proto/loams/collection/v1/collection.proto
  /loams.collection.v1.CollectionService/ListCollections:
    post:
      tags:
      - loams.collection.v1.CollectionService
      summary: ListCollections
      description: Lists namespace collections with page tokens.
      operationId: loams.collection.v1.CollectionService.ListCollections
      parameters:
      - name: Connect-Protocol-Version
        in: header
        description: Define the version of the Connect protocol
        schema:
          $ref: '#/components/schemas/connect-protocol-version'
        example: 1
      - name: Connect-Timeout-Ms
        in: header
        description: Define the timeout, in ms
        schema:
          $ref: '#/components/schemas/connect-timeout-header'
        example: 1000
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/loams.collection.v1.ListCollectionsRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/loams.collection.v1.ListCollectionsResponse'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
      x-badges:
      - name: Available
      x-loams-source: proto/loams/collection/v1/collection.proto
  /loams.collection.v1.CollectionService/GetCollection:
    post:
      tags:
      - loams.collection.v1.CollectionService
      summary: GetCollection
      description: Returns collection schema, manifest, hot tier and backpressure information; accepts
        aliases.
      operationId: loams.collection.v1.CollectionService.GetCollection
      parameters:
      - name: Connect-Protocol-Version
        in: header
        description: Define the version of the Connect protocol
        schema:
          $ref: '#/components/schemas/connect-protocol-version'
        example: 1
      - name: Connect-Timeout-Ms
        in: header
        description: Define the timeout, in ms
        schema:
          $ref: '#/components/schemas/connect-timeout-header'
        example: 1000
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/loams.collection.v1.GetCollectionRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/loams.collection.v1.CollectionInfo'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
      x-badges:
      - name: Available
      x-loams-source: proto/loams/collection/v1/collection.proto
  /loams.collection.v1.CollectionService/DropCollection:
    post:
      tags:
      - loams.collection.v1.CollectionService
      summary: DropCollection
      description: Drops a collection through the shared service.
      operationId: loams.collection.v1.CollectionService.DropCollection
      parameters:
      - name: Connect-Protocol-Version
        in: header
        description: Define the version of the Connect protocol
        schema:
          $ref: '#/components/schemas/connect-protocol-version'
        example: 1
      - name: Connect-Timeout-Ms
        in: header
        description: Define the timeout, in ms
        schema:
          $ref: '#/components/schemas/connect-timeout-header'
        example: 1000
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/loams.collection.v1.DropCollectionRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/loams.collection.v1.DropCollectionResponse'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
      x-badges:
      - name: Available
      x-loams-source: proto/loams/collection/v1/collection.proto
  /loams.collection.v1.CollectionService/AddFields:
    post:
      tags:
      - loams.collection.v1.CollectionService
      summary: AddFields
      description: Adds schema fields with version validation.
      operationId: loams.collection.v1.CollectionService.AddFields
      parameters:
      - name: Connect-Protocol-Version
        in: header
        description: Define the version of the Connect protocol
        schema:
          $ref: '#/components/schemas/connect-protocol-version'
        example: 1
      - name: Connect-Timeout-Ms
        in: header
        description: Define the timeout, in ms
        schema:
          $ref: '#/components/schemas/connect-timeout-header'
        example: 1000
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/loams.collection.v1.AddFieldsRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/loams.collection.v1.AddFieldsResponse'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
      x-badges:
      - name: Available
      x-loams-source: proto/loams/collection/v1/collection.proto
  /loams.collection.v1.CollectionService/ListVersions:
    post:
      tags:
      - loams.collection.v1.CollectionService
      summary: ListVersions
      description: Lists retained collection manifest versions.
      operationId: loams.collection.v1.CollectionService.ListVersions
      parameters:
      - name: Connect-Protocol-Version
        in: header
        description: Define the version of the Connect protocol
        schema:
          $ref: '#/components/schemas/connect-protocol-version'
        example: 1
      - name: Connect-Timeout-Ms
        in: header
        description: Define the timeout, in ms
        schema:
          $ref: '#/components/schemas/connect-timeout-header'
        example: 1000
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/loams.collection.v1.ListVersionsRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/loams.collection.v1.ListVersionsResponse'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
      x-badges:
      - name: Available
      x-loams-source: proto/loams/collection/v1/collection.proto
  /loams.collection.v1.CollectionService/Scan:
    post:
      tags:
      - loams.collection.v1.CollectionService
      summary: Scan
      description: Pins a Lance scan plan for external readers, including its consistency token.
      operationId: loams.collection.v1.CollectionService.Scan
      parameters:
      - name: Connect-Protocol-Version
        in: header
        description: Define the version of the Connect protocol
        schema:
          $ref: '#/components/schemas/connect-protocol-version'
        example: 1
      - name: Connect-Timeout-Ms
        in: header
        description: Define the timeout, in ms
        schema:
          $ref: '#/components/schemas/connect-timeout-header'
        example: 1000
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/loams.collection.v1.ScanRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/loams.collection.v1.ScanPlan'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
      x-badges:
      - name: Available
      x-loams-source: proto/loams/collection/v1/collection.proto
  /loams.collection.v1.CollectionService/UpdateAliases:
    post:
      tags:
      - loams.collection.v1.CollectionService
      summary: UpdateAliases
      description: Applies collection alias actions.
      operationId: loams.collection.v1.CollectionService.UpdateAliases
      parameters:
      - name: Connect-Protocol-Version
        in: header
        description: Define the version of the Connect protocol
        schema:
          $ref: '#/components/schemas/connect-protocol-version'
        example: 1
      - name: Connect-Timeout-Ms
        in: header
        description: Define the timeout, in ms
        schema:
          $ref: '#/components/schemas/connect-timeout-header'
        example: 1000
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/loams.collection.v1.UpdateAliasesRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/loams.collection.v1.UpdateAliasesResponse'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
      x-badges:
      - name: Available
      x-loams-source: proto/loams/collection/v1/collection.proto
  /loams.collection.v1.CollectionService/SetHot:
    post:
      tags:
      - loams.collection.v1.CollectionService
      summary: SetHot
      description: Sets collection hot-tier configuration and returns local status.
      operationId: loams.collection.v1.CollectionService.SetHot
      parameters:
      - name: Connect-Protocol-Version
        in: header
        description: Define the version of the Connect protocol
        schema:
          $ref: '#/components/schemas/connect-protocol-version'
        example: 1
      - name: Connect-Timeout-Ms
        in: header
        description: Define the timeout, in ms
        schema:
          $ref: '#/components/schemas/connect-timeout-header'
        example: 1000
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/loams.collection.v1.SetHotRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/loams.collection.v1.SetHotResponse'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
      x-badges:
      - name: Available
      x-loams-source: proto/loams/collection/v1/collection.proto
  /loams.collection.v1.CollectionService/WarmCollection:
    post:
      tags:
      - loams.collection.v1.CollectionService
      summary: WarmCollection
      description: Starts warming the collection on its owner.
      operationId: loams.collection.v1.CollectionService.WarmCollection
      parameters:
      - name: Connect-Protocol-Version
        in: header
        description: Define the version of the Connect protocol
        schema:
          $ref: '#/components/schemas/connect-protocol-version'
        example: 1
      - name: Connect-Timeout-Ms
        in: header
        description: Define the timeout, in ms
        schema:
          $ref: '#/components/schemas/connect-timeout-header'
        example: 1000
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/loams.collection.v1.WarmCollectionRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/loams.collection.v1.WarmCollectionResponse'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
      x-badges:
      - name: Available
      x-loams-source: proto/loams/collection/v1/collection.proto
  /loams.collection.v1.DocumentService/WriteDocuments:
    post:
      tags:
      - loams.collection.v1.DocumentService
      summary: WriteDocuments
      description: Atomically writes document operations; idempotency keys replay recorded results. Returns
        token and backlog state.
      operationId: loams.collection.v1.DocumentService.WriteDocuments
      parameters:
      - name: Connect-Protocol-Version
        in: header
        description: Define the version of the Connect protocol
        schema:
          $ref: '#/components/schemas/connect-protocol-version'
        example: 1
      - name: Connect-Timeout-Ms
        in: header
        description: Define the timeout, in ms
        schema:
          $ref: '#/components/schemas/connect-timeout-header'
        example: 1000
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/loams.collection.v1.WriteDocumentsRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/loams.collection.v1.WriteDocumentsResponse'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
      x-badges:
      - name: Available
      x-loams-source: proto/loams/collection/v1/document.proto
  /loams.collection.v1.DocumentService/GetDocuments:
    post:
      tags:
      - loams.collection.v1.DocumentService
      summary: GetDocuments
      description: Returns requested documents in order with token-aware consistency.
      operationId: loams.collection.v1.DocumentService.GetDocuments
      parameters:
      - name: Connect-Protocol-Version
        in: header
        description: Define the version of the Connect protocol
        schema:
          $ref: '#/components/schemas/connect-protocol-version'
        example: 1
      - name: Connect-Timeout-Ms
        in: header
        description: Define the timeout, in ms
        schema:
          $ref: '#/components/schemas/connect-timeout-header'
        example: 1000
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/loams.collection.v1.GetDocumentsRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/loams.collection.v1.GetDocumentsResponse'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
      x-badges:
      - name: Available
      x-loams-source: proto/loams/collection/v1/document.proto
  /loams.collection.v1.DocumentService/ScrollDocuments:
    post:
      tags:
      - loams.collection.v1.DocumentService
      summary: ScrollDocuments
      description: Pages documents by primary key with token-aware consistency.
      operationId: loams.collection.v1.DocumentService.ScrollDocuments
      parameters:
      - name: Connect-Protocol-Version
        in: header
        description: Define the version of the Connect protocol
        schema:
          $ref: '#/components/schemas/connect-protocol-version'
        example: 1
      - name: Connect-Timeout-Ms
        in: header
        description: Define the timeout, in ms
        schema:
          $ref: '#/components/schemas/connect-timeout-header'
        example: 1000
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/loams.collection.v1.ScrollDocumentsRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/loams.collection.v1.ScrollDocumentsResponse'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
      x-badges:
      - name: Available
      x-loams-source: proto/loams/collection/v1/document.proto
  /loams.collection.v1.DocumentService/CountDocuments:
    post:
      tags:
      - loams.collection.v1.DocumentService
      summary: CountDocuments
      description: Counts documents matching a filter.
      operationId: loams.collection.v1.DocumentService.CountDocuments
      parameters:
      - name: Connect-Protocol-Version
        in: header
        description: Define the version of the Connect protocol
        schema:
          $ref: '#/components/schemas/connect-protocol-version'
        example: 1
      - name: Connect-Timeout-Ms
        in: header
        description: Define the timeout, in ms
        schema:
          $ref: '#/components/schemas/connect-timeout-header'
        example: 1000
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/loams.collection.v1.CountDocumentsRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/loams.collection.v1.CountDocumentsResponse'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
      x-badges:
      - name: Available
      x-loams-source: proto/loams/collection/v1/document.proto
  /loams.collection.v1.DocumentService/DeleteByFilter:
    post:
      tags:
      - loams.collection.v1.DocumentService
      summary: DeleteByFilter
      description: Deletes matching documents from a pinned snapshot, with explicit partial-write cursors.
      operationId: loams.collection.v1.DocumentService.DeleteByFilter
      parameters:
      - name: Connect-Protocol-Version
        in: header
        description: Define the version of the Connect protocol
        schema:
          $ref: '#/components/schemas/connect-protocol-version'
        example: 1
      - name: Connect-Timeout-Ms
        in: header
        description: Define the timeout, in ms
        schema:
          $ref: '#/components/schemas/connect-timeout-header'
        example: 1000
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/loams.collection.v1.DeleteByFilterRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/loams.collection.v1.FilterWriteResponse'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
      x-badges:
      - name: Available
      x-loams-source: proto/loams/collection/v1/document.proto
  /loams.collection.v1.DocumentService/PatchByFilter:
    post:
      tags:
      - loams.collection.v1.DocumentService
      summary: PatchByFilter
      description: Patches matching documents from a pinned snapshot; filter writes do not create new
        documents.
      operationId: loams.collection.v1.DocumentService.PatchByFilter
      parameters:
      - name: Connect-Protocol-Version
        in: header
        description: Define the version of the Connect protocol
        schema:
          $ref: '#/components/schemas/connect-protocol-version'
        example: 1
      - name: Connect-Timeout-Ms
        in: header
        description: Define the timeout, in ms
        schema:
          $ref: '#/components/schemas/connect-timeout-header'
        example: 1000
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/loams.collection.v1.PatchByFilterRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/loams.collection.v1.FilterWriteResponse'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
      x-badges:
      - name: Available
      x-loams-source: proto/loams/collection/v1/document.proto
  /loams.collection.v1.QueryService/Search:
    post:
      tags:
      - loams.collection.v1.QueryService
      summary: Search
      description: Hybrid search with typed retrievers, filter IR, fusion, sort, projection, highlights
        and groups; returns read token and shares the REST search engine.
      operationId: loams.collection.v1.QueryService.Search
      parameters:
      - name: Connect-Protocol-Version
        in: header
        description: Define the version of the Connect protocol
        schema:
          $ref: '#/components/schemas/connect-protocol-version'
        example: 1
      - name: Connect-Timeout-Ms
        in: header
        description: Define the timeout, in ms
        schema:
          $ref: '#/components/schemas/connect-timeout-header'
        example: 1000
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/loams.collection.v1.SearchRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/loams.collection.v1.SearchResponse'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
      x-badges:
      - name: Available
      x-loams-source: proto/loams/collection/v1/query.proto
components:
  schemas:
    loams.errors.v1.ErrorInfo:
      type: object
      properties:
        reason:
          type: string
          title: reason
          description: The stable cause, for example `approval_expired`.
          enum:
          - approval_expired
          - approval_already_decided
          - approval_stale_revision
          - requester_cannot_approve
          - decision_proof_invalid
          - step_up_required
          - reason_required
          - invalid_decision
          - pairing_expired
          - pairing_used
          - device_revoked
          - push_target_unknown
          - not_implemented
          - feature_not_in_variant
          - invalid_argument
          - not_found
          - already_exists
          - permission_denied
          - token_expired
          - unauthenticated
          - failed_precondition
          - resource_exhausted
          - unavailable
          - deadline_exceeded
          - aborted
          - internal
          x-registry:
          - reason: approval_expired
            code: failed_precondition
          - reason: approval_already_decided
            code: failed_precondition
          - reason: approval_stale_revision
            code: failed_precondition
          - reason: requester_cannot_approve
            code: permission_denied
          - reason: decision_proof_invalid
            code: permission_denied
          - reason: step_up_required
            code: unauthenticated
          - reason: reason_required
            code: invalid_argument
          - reason: invalid_decision
            code: invalid_argument
          - reason: pairing_expired
            code: failed_precondition
          - reason: pairing_used
            code: failed_precondition
          - reason: device_revoked
            code: unauthenticated
          - reason: push_target_unknown
            code: not_found
          - reason: not_implemented
            code: unimplemented
          - reason: feature_not_in_variant
            code: unimplemented
          - reason: invalid_argument
            code: invalid_argument
          - reason: not_found
            code: not_found
          - reason: already_exists
            code: already_exists
          - reason: permission_denied
            code: permission_denied
          - reason: token_expired
            code: unauthenticated
          - reason: unauthenticated
            code: unauthenticated
          - reason: failed_precondition
            code: failed_precondition
          - reason: resource_exhausted
            code: resource_exhausted
          - reason: unavailable
            code: unavailable
          - reason: deadline_exceeded
            code: deadline_exceeded
          - reason: aborted
            code: aborted
          - reason: internal
            code: internal
        metadata:
          type: object
          title: metadata
          additionalProperties:
            type: string
            title: value
          description: 'Structured context, for example {"approval_id": "apr_..."}. Never secrets.'
        hint:
          type: string
          title: hint
          description: A short, human-readable next step, in the caller's locale.
      title: ErrorInfo
      additionalProperties: false
      description: 'The stable, machine-readable cause of a failed RPC. Branch on `reason`.


        The registry of every `reason` the server can return. Branch on `reason`, never on `code` alone
        and never on `message` (which may change). Within an API major version a reason is never renamed
        and never removed: a bug fix is a new reason, and a deprecated one keeps working and stops being
        returned. Every name is `snake_case` and unique, and a test in the engine reads this registry
        and fails on a duplicate or on a name outside `[a-z0-9_]`.


        | reason | Connect code | Raised by | metadata |

        |---|---|---|---|

        | `approval_expired` | `failed_precondition` | DecideApproval | — |

        | `approval_already_decided` | `failed_precondition` | DecideApproval | — |

        | `approval_stale_revision` | `failed_precondition` | DecideApproval | — |

        | `requester_cannot_approve` | `permission_denied` | DecideApproval | — |

        | `decision_proof_invalid` | `permission_denied` | DecideApproval | — |

        | `step_up_required` | `unauthenticated` | DecideApproval, CreatePairing | — |

        | `reason_required` | `invalid_argument` | DecideApproval | — |

        | `invalid_decision` | `invalid_argument` | DecideApproval | — |

        | `pairing_expired` | `failed_precondition` | the pairing grant | — |

        | `pairing_used` | `failed_precondition` | the pairing grant | — |

        | `device_revoked` | `unauthenticated` | every RPC from a revoked device | — |

        | `push_target_unknown` | `not_found` | UnregisterPushTarget | — |

        | `not_implemented` | `unimplemented` | a stub handler whose service has not landed yet | — |

        | `feature_not_in_variant` | `unimplemented` | any RPC of a catalogue package whose engine is
        not in this build variant | `variant` |

        | `invalid_argument` | `invalid_argument` | any RPC: a malformed field, an unparseable value |
        `field` |

        | `not_found` | `not_found` | any RPC: the named resource does not exist | — |

        | `already_exists` | `already_exists` | any RPC that creates a named resource | — |

        | `permission_denied` | `permission_denied` | any RPC the caller''s role may not make | — |

        | `token_expired` | `unauthenticated` | a rejected access token | `hint` |

        | `unauthenticated` | `unauthenticated` | any RPC with no or an unusable credential | — |

        | `failed_precondition` | `failed_precondition` | any RPC whose preconditions do not hold | —
        |

        | `resource_exhausted` | `resource_exhausted` | a backpressure or quota refusal | `retry_after_ms`
        |

        | `unavailable` | `unavailable` | a dependency is down or this node cannot serve the read | —
        |

        | `deadline_exceeded` | `deadline_exceeded` | the caller''s deadline passed | — |

        | `aborted` | `aborted` | a concurrent write won; the caller retries | — |

        | `internal` | `internal` | a bug; the message and the request_id go to the log | — |'
    connect-protocol-version:
      type: number
      examples:
      - 1
      title: Connect-Protocol-Version
      description: Define the version of the Connect protocol
      const: 1
    connect-timeout-header:
      type: number
      examples:
      - 1000
      title: Connect-Timeout-Ms
      description: Define the timeout, in ms
    connect.error:
      type: object
      properties:
        code:
          type: string
          examples:
          - not_found
          enum:
          - canceled
          - unknown
          - invalid_argument
          - deadline_exceeded
          - not_found
          - already_exists
          - permission_denied
          - resource_exhausted
          - failed_precondition
          - aborted
          - out_of_range
          - unimplemented
          - internal
          - unavailable
          - data_loss
          - unauthenticated
          description: The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
        message:
          type: string
          description: A developer-facing error message, which should be in English. Any user-facing error
            message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details]
            field, or localized by the client.
        details:
          type: array
          items:
            $ref: '#/components/schemas/connect.error_details.Any'
          description: A list of messages that carry the error details. There is no limit on the number
            of messages.
      title: Connect Error
      additionalProperties: true
      description: 'Error type returned by Connect: https://connectrpc.com/docs/go/errors/#http-representation'
    connect.error_details.Any:
      type: object
      properties:
        type:
          type: string
          description: 'A URL that acts as a globally unique identifier for the type of the serialized
            message. For example: `type.googleapis.com/google.rpc.ErrorInfo`.'
        value:
          type: string
          format: byte
          description: The Protobuf message, serialized as bytes and base64-encoded. The specific message
            type is identified by the `type` field.
        debug:
          type: object
          title: Debug
          additionalProperties: true
          description: Deserialized error detail payload. The 'type' field indicates the schema. This
            field is for easier debugging and should not be relied upon for application logic.
      additionalProperties: true
      description: Contains an arbitrary serialized message along with a @type that describes the type
        of the serialized message, with an additional debug field for ConnectRPC error details.
    google.protobuf.Timestamp:
      type: string
      examples:
      - 2023-01-15 01:30:15.010000+00:00
      - 2024-12-25 12:00:00+00:00
      format: date-time
      description: A point in time in RFC 3339 format, with up to nanosecond precision. Output uses UTC
        (`Z`); input may use an offset from UTC.
    loams.instance.v1.DeviceRef:
      type: object
      properties:
        id:
          type: string
          title: id
        name:
          type: string
          title: name
      title: DeviceRef
      additionalProperties: false
    loams.instance.v1.Edition:
      type: string
      title: Edition
      enum:
      - EDITION_UNSPECIFIED
      - EDITION_OSS
      - EDITION_CLOUD
      - EDITION_BYOC
    loams.instance.v1.Environment:
      type: object
      properties:
        id:
          type: string
          title: id
        project:
          type: string
          title: project
          description: The project's id.
        name:
          type: string
          title: name
        namespace:
          type: string
          title: namespace
          description: The engine namespace this environment is (1:1).
        protected:
          type: boolean
          title: protected
          description: Destructive actions need the project admin role and an approval.
      title: Environment
      additionalProperties: false
    loams.instance.v1.GetInstanceRequest:
      type: object
      title: GetInstanceRequest
      additionalProperties: false
    loams.instance.v1.GetInstanceResponse:
      type: object
      properties:
        instanceId:
          type: string
          title: instance_id
          description: A ULID, stable for the lifetime of the install.
        name:
          type: string
          title: name
          description: The instance's display name (OpenAPI `Instance.name`).
        edition:
          allOf:
          - $ref: '#/components/schemas/loams.instance.v1.Edition'
          title: edition
        serverVersion:
          type: string
          title: server_version
          description: The server's semver (OpenAPI `Instance.version`).
        apiVersions:
          type: array
          items:
            type: string
          title: api_versions
          description: "The proto packages this instance serves, for example\n \"loams.instance.v1\".\
            \ The same list, with what is *not* served, is\n `services`."
        features:
          type: object
          title: features
          additionalProperties:
            type: boolean
            title: value
          description: 'Feature flags, for example {"billing": false, "passkeys": true}.'
        issuer:
          type: string
          title: issuer
          description: "The Loams gateway: the OAuth authorization server for Loams tokens\n (pairing\
            \ grant, RFC 8693 exchange, refresh). Empty before the auth plan."
        jwksUri:
          type: string
          title: jwks_uri
          description: The JWKS of the instance's token-signing keys.
        signInMethods:
          type: array
          items:
            $ref: '#/components/schemas/loams.instance.v1.SignInMethod'
          title: sign_in_methods
          description: How people sign in. Authentik is the identity provider.
        tlsPins:
          type: string
          title: tls_pins
          description: 'A compact JWS, signed by the instance key, listing the current and next

            TLS SPKI hashes. Empty for instances with public CAs only.'
        push:
          allOf:
          - $ref: '#/components/schemas/loams.instance.v1.PushConfig'
          title: push
          description: Present when the instance pushes to phones.
        minAppVersions:
          type: object
          title: min_app_versions
          additionalProperties:
            type: string
            title: value
          description: 'The minimum app version per platform: keys "ios", "android", "desktop".'
        setupRequired:
          type: boolean
          title: setup_required
          description: True until first-run setup has created the org and its owner.
        keyRotation:
          type: string
          title: key_rotation
          description: 'Set during a signing-key rotation: the new key''s thumbprint, signed by

            the old key.'
        services:
          type: array
          items:
            $ref: '#/components/schemas/loams.instance.v1.ServiceStatus'
          title: services
          description: 'Every package of the API catalogue that exists, and whether this binary serves
            it.

            A package whose engine is not in the build variant is listed with

            `available = false`, and its RPCs answer `unimplemented` with reason

            `feature_not_in_variant`, so an SDK feature-detects from this list instead

            of by calling and reading the error. A package whose services have not

            been defined yet has no entry, so this list never advertises a contract

            that does not exist. It is the long form of `api_versions`, which lists

            only what is served.'
      title: GetInstanceResponse
      additionalProperties: false
    loams.instance.v1.Org:
      type: object
      properties:
        id:
          type: string
          title: id
        name:
          type: string
          title: name
      title: Org
      additionalProperties: false
    loams.instance.v1.Principal:
      type: object
      properties:
        id:
          type: string
          title: id
        kind:
          allOf:
          - $ref: '#/components/schemas/loams.instance.v1.PrincipalKind'
          title: kind
        displayName:
          type: string
          title: display_name
        email:
          type: string
          title: email
          description: Users only.
      title: Principal
      additionalProperties: false
    loams.instance.v1.PrincipalKind:
      type: string
      title: PrincipalKind
      enum:
      - PRINCIPAL_KIND_UNSPECIFIED
      - PRINCIPAL_KIND_USER
      - PRINCIPAL_KIND_SERVICE_ACCOUNT
      - PRINCIPAL_KIND_AGENT
    loams.instance.v1.PushConfig:
      type: object
      properties:
        gatewayUrl:
          type: string
          title: gateway_url
          description: The push gateway, for example "https://push.loams.dev".
        appIds:
          type: object
          title: app_ids
          additionalProperties:
            type: string
            title: value
          description: 'App ids per platform: "ios" → bundle id, "android" → package name.'
        unifiedpush:
          type: boolean
          title: unifiedpush
          description: Whether UnifiedPush endpoints are accepted (Android without Google).
      title: PushConfig
      additionalProperties: false
    loams.instance.v1.ServiceStatus:
      type: object
      properties:
        package:
          type: string
          title: package
          description: The proto package, for example "loams.collection.v1".
        version:
          type: string
          title: version
          description: The package's API version, for example "v1".
        available:
          type: boolean
          title: available
          description: "Whether this binary serves the package. False means every one of its RPCs\n answers\
            \ `unimplemented` with reason `feature_not_in_variant`."
        services:
          type: array
          items:
            type: string
          title: services
          description: "The services in the package, fully qualified, for example\n \"loams.collection.v1.CollectionService\"\
            ."
        unstable:
          type: boolean
          title: unstable
          description: 'True for a package whose wire contract may still change

            (`loams.options.v1.ModuleOptions.unstable`).'
      title: ServiceStatus
      additionalProperties: false
      description: One package of the API catalogue and what this binary does with it.
    loams.instance.v1.SignInKind:
      type: string
      title: SignInKind
      enum:
      - SIGN_IN_KIND_UNSPECIFIED
      - SIGN_IN_KIND_NONE
      - SIGN_IN_KIND_AUTHENTIK
      - SIGN_IN_KIND_AUTHENTIK_DEVICE_CODE
      - SIGN_IN_KIND_PAIRING
    loams.instance.v1.SignInMethod:
      type: object
      properties:
        kind:
          allOf:
          - $ref: '#/components/schemas/loams.instance.v1.SignInKind'
          title: kind
        issuer:
          type: string
          title: issuer
          description: The OIDC issuer for KIND_AUTHENTIK (Authentik's application issuer URL).
        clientId:
          type: string
          title: client_id
          description: The public OAuth client id for this app, for example "loams-desktop".
        displayName:
          type: string
          title: display_name
          description: A label to show on the sign-in button.
      title: SignInMethod
      additionalProperties: false
    loams.instance.v1.WhoAmIRequest:
      type: object
      title: WhoAmIRequest
      additionalProperties: false
    loams.instance.v1.WhoAmIResponse:
      type: object
      properties:
        principal:
          allOf:
          - $ref: '#/components/schemas/loams.instance.v1.Principal'
          title: principal
        actorChain:
          type: array
          items:
            $ref: '#/components/schemas/loams.instance.v1.Principal'
          title: actor_chain
          description: "The RFC 8693 `act` chain, outermost first: an agent acting for a user\n lists\
            \ the agent here and the user as `principal`."
        org:
          allOf:
          - $ref: '#/components/schemas/loams.instance.v1.Org'
          title: org
        environments:
          type: array
          items:
            $ref: '#/components/schemas/loams.instance.v1.Environment'
          title: environments
        device:
          allOf:
          - $ref: '#/components/schemas/loams.instance.v1.DeviceRef'
          title: device
          description: The device this token is bound to, when it was issued to a device.
        authenticatedAt:
          allOf:
          - $ref: '#/components/schemas/google.protobuf.Timestamp'
          title: authenticated_at
          description: 'When the session last authenticated the person; a step-up rule

            compares it to now.'
      title: WhoAmIResponse
      additionalProperties: false
    loams.live.v1.Array:
      type: object
      properties:
        values:
          type: array
          items:
            $ref: '#/components/schemas/loams.live.v1.Value'
          title: values
      title: Array
      additionalProperties: false
      description: An ordered list of values (at most 8 192 elements).
    loams.live.v1.DeployRequest:
      type: object
      properties:
        bundle:
          type: string
          title: bundle
          format: byte
          description: One ES module.
        schema:
          allOf:
          - $ref: '#/components/schemas/loams.live.v1.Schema'
          title: schema
      title: DeployRequest
      additionalProperties: false
    loams.live.v1.DeployResponse:
      type: object
      properties:
        deploymentId:
          type: string
          title: deployment_id
      title: DeployResponse
      additionalProperties: false
    loams.live.v1.ErrorCode:
      type: string
      title: ErrorCode
      enum:
      - ERROR_CODE_UNSPECIFIED
      - ERROR_CODE_INVALID_ARGUMENT
      - ERROR_CODE_NOT_FOUND
      - ERROR_CODE_FAILED_PRECONDITION
      - ERROR_CODE_RESOURCE_EXHAUSTED
      - ERROR_CODE_FUNCTION_ERROR
      - ERROR_CODE_FUNCTION_TIMEOUT
      - ERROR_CODE_FUNCTION_OUT_OF_MEMORY
      - ERROR_CODE_UNAVAILABLE
      - ERROR_CODE_INTERNAL
    loams.live.v1.IndexSchema:
      type: object
      properties:
        name:
          type: string
          title: name
        fields:
          type: array
          items:
            type: string
          title: fields
          description: Up to 16 field names; `_creationTime` and `_id` are appended.
      title: IndexSchema
      additionalProperties: false
    loams.live.v1.LiveError:
      type: object
      properties:
        code:
          allOf:
          - $ref: '#/components/schemas/loams.live.v1.ErrorCode'
          title: code
        message:
          type: string
          title: message
      title: LiveError
      additionalProperties: false
      description: "An error for one query in a Transition. Call errors use the Connect error\n codes;\
        \ this carries the same meaning inside a stream that stays open."
    loams.live.v1.ModifyQuerySetRequest:
      type: object
      properties:
        sessionId:
          type: string
          title: session_id
        baseVersion:
          type: string
          title: base_version
          format: int64
          description: "Must equal the session's current query-set version, else\n FailedPrecondition."
        newVersion:
          type: string
          title: new_version
          format: int64
        changes:
          type: array
          items:
            $ref: '#/components/schemas/loams.live.v1.QuerySetChange'
          title: changes
      title: ModifyQuerySetRequest
      additionalProperties: false
    loams.live.v1.ModifyQuerySetResponse:
      type: object
      title: ModifyQuerySetResponse
      additionalProperties: false
    loams.live.v1.MutateRequest:
      type: object
      properties:
        function:
          type: string
          title: function
        args:
          allOf:
          - $ref: '#/components/schemas/loams.live.v1.Value'
          title: args
        idempotencyKey:
          type:
          - string
          - 'null'
          title: idempotency_key
          description: 'A retried call with the same key returns the recorded commit timestamp

            and result instead of running again.'
      title: MutateRequest
      additionalProperties: false
    loams.live.v1.MutateResponse:
      type: object
      properties:
        commitTs:
          type: string
          title: commit_ts
          format: int64
        result:
          allOf:
          - $ref: '#/components/schemas/loams.live.v1.Value'
          title: result
      title: MutateResponse
      additionalProperties: false
    loams.live.v1.Null:
      type: object
      title: 'Null'
      additionalProperties: false
      description: "The null value. An empty message rather than an enum, so the JSON form is\n `{\"nullValue\"\
        : {}}` in every client."
    loams.live.v1.Object:
      type: object
      properties:
        fields:
          type: object
          title: fields
          additionalProperties:
            allOf:
            - $ref: '#/components/schemas/loams.live.v1.Value'
            title: value
      title: Object
      additionalProperties: false
      description: 'A map of field name to value (at most 1 024 fields). Field order is

        not significant.'
    loams.live.v1.QueryRequest:
      type: object
      properties:
        function:
          type: string
          title: function
        args:
          allOf:
          - $ref: '#/components/schemas/loams.live.v1.Value'
          title: args
        ts:
          type:
          - string
          - 'null'
          title: ts
          format: int64
          description: A TSO timestamp to read at; the latest tick when unset.
      title: QueryRequest
      additionalProperties: false
    loams.live.v1.QueryResponse:
      type: object
      properties:
        ts:
          type: string
          title: ts
          format: int64
          description: The timestamp the query was evaluated at.
        result:
          allOf:
          - $ref: '#/components/schemas/loams.live.v1.Value'
          title: result
      title: QueryResponse
      additionalProperties: false
    loams.live.v1.QuerySet:
      type: object
      properties:
        version:
          type: string
          title: version
          format: int64
        queries:
          type: array
          items:
            $ref: '#/components/schemas/loams.live.v1.QuerySpec'
          title: queries
      title: QuerySet
      additionalProperties: false
    loams.live.v1.QuerySetChange:
      type: object
      anyOf:
      - type: object
        properties:
          add:
            allOf:
            - $ref: '#/components/schemas/loams.live.v1.QuerySpec'
            title: add
        title: add
      - type: object
        properties:
          remove:
            type: integer
            title: remove
            description: The query id to remove.
        title: remove
      unevaluatedProperties: false
      not:
        allOf:
        - anyOf:
          - required:
            - add
          - required:
            - remove
        - not:
            oneOf:
            - required:
              - add
            - required:
              - remove
      title: QuerySetChange
    loams.live.v1.QuerySpec:
      type: object
      properties:
        queryId:
          type: integer
          title: query_id
          description: Chosen by the client, unique within its session.
        function:
          type: string
          title: function
          description: '"module:export", or a built-in such as "_system:query".'
        args:
          allOf:
          - $ref: '#/components/schemas/loams.live.v1.Value'
          title: args
      title: QuerySpec
      additionalProperties: false
    loams.live.v1.QueryUpdate:
      type: object
      anyOf:
      - type: object
        properties:
          error:
            allOf:
            - $ref: '#/components/schemas/loams.live.v1.LiveError'
            title: error
        title: error
      - type: object
        properties:
          removed:
            allOf:
            - $ref: '#/components/schemas/loams.live.v1.Removed'
            title: removed
        title: removed
      - type: object
        properties:
          value:
            allOf:
            - $ref: '#/components/schemas/loams.live.v1.Value'
            title: value
        title: value
      unevaluatedProperties: false
      not:
        allOf:
        - anyOf:
          - required:
            - error
          - required:
            - removed
          - required:
            - value
        - not:
            oneOf:
            - required:
              - error
            - required:
              - removed
            - required:
              - value
      properties:
        queryId:
          type: integer
          title: query_id
      title: QueryUpdate
    loams.live.v1.Removed:
      type: object
      title: Removed
      additionalProperties: false
      description: The query left the query set.
    loams.live.v1.Resume:
      type: object
      properties:
        lastVersion:
          allOf:
          - $ref: '#/components/schemas/loams.live.v1.StateVersion'
          title: last_version
        querySet:
          allOf:
          - $ref: '#/components/schemas/loams.live.v1.QuerySet'
          title: query_set
      title: Resume
      additionalProperties: false
    loams.live.v1.Schema:
      type: object
      properties:
        tables:
          type: array
          items:
            $ref: '#/components/schemas/loams.live.v1.TableSchema'
          title: tables
      title: Schema
      additionalProperties: false
      description: 'A deployed schema: tables and their indexes. Validators are not here yet.'
    loams.live.v1.StateVersion:
      type: object
      properties:
        querySet:
          type: string
          title: query_set
          format: int64
        identity:
          type: string
          title: identity
          format: int64
        ts:
          type: string
          title: ts
          format: int64
          description: The TSO timestamp every query of the session was evaluated at.
      title: StateVersion
      additionalProperties: false
      description: "A session's state: (query-set version, identity version, ts). A client\n applies a\
        \ Transition only if its `start` equals the client's current\n version; a gap means it resumes.\
        \ The zero version is {0, 0, 0}."
    loams.live.v1.TableSchema:
      type: object
      properties:
        name:
          type: string
          title: name
        indexes:
          type: array
          items:
            $ref: '#/components/schemas/loams.live.v1.IndexSchema'
          title: indexes
          description: User indexes; `by_id` and `by_creation_time` are implicit.
      title: TableSchema
      additionalProperties: false
    loams.live.v1.Transition:
      type: object
      properties:
        sessionId:
          type: string
          title: session_id
        start:
          allOf:
          - $ref: '#/components/schemas/loams.live.v1.StateVersion'
          title: start
          description: Must equal the client's current version.
        end:
          allOf:
          - $ref: '#/components/schemas/loams.live.v1.StateVersion'
          title: end
        updates:
          type: array
          items:
            $ref: '#/components/schemas/loams.live.v1.QueryUpdate'
          title: updates
          description: 'Per query id: a value, an error, or removed.'
        more:
          type: boolean
          title: more
          description: "Chunked: more Transition messages with the same `end` follow, and the\n client\
            \ applies them together."
      title: Transition
      additionalProperties: false
      description: One step of a session, from `start` to `end`.
    loams.live.v1.Value:
      type: object
      anyOf:
      - type: object
        properties:
          arrayValue:
            allOf:
            - $ref: '#/components/schemas/loams.live.v1.Array'
            title: array_value
        title: array_value
      - type: object
        properties:
          boolValue:
            type: boolean
            title: bool_value
        title: bool_value
      - type: object
        properties:
          bytesValue:
            type: string
            title: bytes_value
            format: byte
        title: bytes_value
      - type: object
        properties:
          doubleValue:
            type: number
            title: double_value
            format: double
        title: double_value
      - type: object
        properties:
          int64Value:
            type: string
            title: int64_value
            format: int64
        title: int64_value
      - type: object
        properties:
          nullValue:
            allOf:
            - $ref: '#/components/schemas/loams.live.v1.Null'
            title: null_value
        title: null_value
      - type: object
        properties:
          objectValue:
            allOf:
            - $ref: '#/components/schemas/loams.live.v1.Object'
            title: object_value
        title: object_value
      - type: object
        properties:
          stringValue:
            type: string
            title: string_value
        title: string_value
      unevaluatedProperties: false
      not:
        allOf:
        - anyOf:
          - required:
            - arrayValue
          - required:
            - boolValue
          - required:
            - bytesValue
          - required:
            - doubleValue
          - required:
            - int64Value
          - required:
            - nullValue
          - required:
            - objectValue
          - required:
            - stringValue
        - not:
            oneOf:
            - required:
              - arrayValue
            - required:
              - boolValue
            - required:
              - bytesValue
            - required:
              - doubleValue
            - required:
              - int64Value
            - required:
              - nullValue
            - required:
              - objectValue
            - required:
              - stringValue
      title: Value
      description: A Loams Live value.
    loams.live.v1.WatchRequest:
      type: object
      anyOf:
      - type: object
        properties:
          initial:
            allOf:
            - $ref: '#/components/schemas/loams.live.v1.QuerySet'
            title: initial
            description: A new session with this query set.
        title: initial
      - type: object
        properties:
          resume:
            allOf:
            - $ref: '#/components/schemas/loams.live.v1.Resume'
            title: resume
            description: "A reconnect: rerun the set at a tick at or after `last_version.ts`\n and send\
              \ full results."
        title: resume
      unevaluatedProperties: false
      not:
        allOf:
        - anyOf:
          - required:
            - initial
          - required:
            - resume
        - not:
            oneOf:
            - required:
              - initial
            - required:
              - resume
      title: WatchRequest
    grpc.health.v1.HealthCheckRequest:
      type: object
      properties:
        service:
          type: string
          title: service
      title: HealthCheckRequest
      additionalProperties: false
    grpc.health.v1.HealthCheckResponse:
      type: object
      properties:
        status:
          allOf:
          - $ref: '#/components/schemas/grpc.health.v1.HealthCheckResponse.ServingStatus'
          title: status
      title: HealthCheckResponse
      additionalProperties: false
    grpc.health.v1.HealthCheckResponse.ServingStatus:
      type: string
      title: ServingStatus
      enum:
      - UNKNOWN
      - SERVING
      - NOT_SERVING
      - SERVICE_UNKNOWN
    grpc.reflection.v1.ErrorResponse:
      type: object
      properties:
        errorCode:
          type: integer
          title: error_code
          format: int32
          description: This field uses the error codes defined in grpc::StatusCode.
        errorMessage:
          type: string
          title: error_message
      title: ErrorResponse
      additionalProperties: false
      description: The error code and error message sent by the server when an error occurs.
    grpc.reflection.v1.ExtensionNumberResponse:
      type: object
      properties:
        baseTypeName:
          type: string
          title: base_type_name
          description: "Full name of the base type, including the package name. The format\n is <package>.<type>"
        extensionNumber:
          type: array
          items:
            type: integer
            format: int32
          title: extension_number
      title: ExtensionNumberResponse
      additionalProperties: false
      description: "A list of extension numbers sent by the server answering\n all_extension_numbers_of_type\
        \ request."
    grpc.reflection.v1.ExtensionRequest:
      type: object
      properties:
        containingType:
          type: string
          title: containing_type
          description: Fully-qualified type name. The format should be <package>.<type>
        extensionNumber:
          type: integer
          title: extension_number
          format: int32
      title: ExtensionRequest
      additionalProperties: false
      description: "The type name and extension number sent by the client when requesting\n file_containing_extension."
    grpc.reflection.v1.FileDescriptorResponse:
      type: object
      properties:
        fileDescriptorProto:
          type: array
          items:
            type: string
            format: byte
          title: file_descriptor_proto
          description: "Serialized FileDescriptorProto messages. We avoid taking a dependency on\n descriptor.proto,\
            \ which uses proto2 only features, by making them opaque\n bytes instead."
      title: FileDescriptorResponse
      additionalProperties: false
      description: "Serialized FileDescriptorProto messages sent by the server answering\n a file_by_filename,\
        \ file_containing_symbol, or file_containing_extension\n request."
    grpc.reflection.v1.ListServiceResponse:
      type: object
      properties:
        service:
          type: array
          items:
            $ref: '#/components/schemas/grpc.reflection.v1.ServiceResponse'
          title: service
          description: "The information of each service may be expanded in the future, so we use\n ServiceResponse\
            \ message to encapsulate it."
      title: ListServiceResponse
      additionalProperties: false
      description: A list of ServiceResponse sent by the server answering list_services request.
    grpc.reflection.v1.ServerReflectionRequest:
      type: object
      anyOf:
      - type: object
        properties:
          allExtensionNumbersOfType:
            type: string
            title: all_extension_numbers_of_type
            description: "Finds the tag numbers used by all known extensions of the given message\n type,\
              \ and appends them to ExtensionNumberResponse in an undefined order.\n Its corresponding\
              \ method is best-effort: it's not guaranteed that the\n reflection service will implement\
              \ this method, and it's not guaranteed\n that this method will provide all extensions. Returns\n\
              \ StatusCode::UNIMPLEMENTED if it's not implemented.\n This field should be a fully-qualified\
              \ type name. The format is\n <package>.<type>"
        title: all_extension_numbers_of_type
      - type: object
        properties:
          fileByFilename:
            type: string
            title: file_by_filename
            description: Find a proto file by the file name.
        title: file_by_filename
      - type: object
        properties:
          fileContainingExtension:
            allOf:
            - $ref: '#/components/schemas/grpc.reflection.v1.ExtensionRequest'
            title: file_containing_extension
            description: "Find the proto file which defines an extension extending the given\n message\
              \ type with the given field number."
        title: file_containing_extension
      - type: object
        properties:
          fileContainingSymbol:
            type: string
            title: file_containing_symbol
            description: "Find the proto file that declares the given fully-qualified symbol name.\n This\
              \ field should be a fully-qualified symbol name\n (e.g. <package>.<service>[.<method>] or\
              \ <package>.<type>)."
        title: file_containing_symbol
      - type: object
        properties:
          listServices:
            type: string
            title: list_services
            description: "List the full names of registered services. The content will not be\n checked."
        title: list_services
      unevaluatedProperties: false
      not:
        allOf:
        - anyOf:
          - required:
            - allExtensionNumbersOfType
          - required:
            - fileByFilename
          - required:
            - fileContainingExtension
          - required:
            - fileContainingSymbol
          - required:
            - listServices
        - not:
            oneOf:
            - required:
              - allExtensionNumbersOfType
            - required:
              - fileByFilename
            - required:
              - fileContainingExtension
            - required:
              - fileContainingSymbol
            - required:
              - listServices
      properties:
        host:
          type: string
          title: host
      title: ServerReflectionRequest
      description: The message sent by the client when calling ServerReflectionInfo method.
    grpc.reflection.v1.ServerReflectionResponse:
      type: object
      anyOf:
      - type: object
        properties:
          allExtensionNumbersResponse:
            allOf:
            - $ref: '#/components/schemas/grpc.reflection.v1.ExtensionNumberResponse'
            title: all_extension_numbers_response
            description: This message is used to answer all_extension_numbers_of_type requests.
        title: all_extension_numbers_response
      - type: object
        properties:
          errorResponse:
            allOf:
            - $ref: '#/components/schemas/grpc.reflection.v1.ErrorResponse'
            title: error_response
            description: This message is used when an error occurs.
        title: error_response
      - type: object
        properties:
          fileDescriptorResponse:
            allOf:
            - $ref: '#/components/schemas/grpc.reflection.v1.FileDescriptorResponse'
            title: file_descriptor_response
            description: "This message is used to answer file_by_filename, file_containing_symbol,\n file_containing_extension\
              \ requests with transitive dependencies.\n As the repeated label is not allowed in oneof\
              \ fields, we use a\n FileDescriptorResponse message to encapsulate the repeated fields.\n\
              \ The reflection service is allowed to avoid sending FileDescriptorProtos\n that were previously\
              \ sent in response to earlier requests in the stream."
        title: file_descriptor_response
      - type: object
        properties:
          listServicesResponse:
            allOf:
            - $ref: '#/components/schemas/grpc.reflection.v1.ListServiceResponse'
            title: list_services_response
            description: This message is used to answer list_services requests.
        title: list_services_response
      unevaluatedProperties: false
      not:
        allOf:
        - anyOf:
          - required:
            - allExtensionNumbersResponse
          - required:
            - errorResponse
          - required:
            - fileDescriptorResponse
          - required:
            - listServicesResponse
        - not:
            oneOf:
            - required:
              - allExtensionNumbersResponse
            - required:
              - errorResponse
            - required:
              - fileDescriptorResponse
            - required:
              - listServicesResponse
      properties:
        validHost:
          type: string
          title: valid_host
        originalRequest:
          allOf:
          - $ref: '#/components/schemas/grpc.reflection.v1.ServerReflectionRequest'
          title: original_request
      title: ServerReflectionResponse
      description: The message sent by the server to answer ServerReflectionInfo method.
    grpc.reflection.v1.ServiceResponse:
      type: object
      properties:
        name:
          type: string
          title: name
          description: "Full name of a registered service, including its package name. The format\n is\
            \ <package>.<service>"
      title: ServiceResponse
      additionalProperties: false
      description: "The information of a single service used by ListServiceResponse to answer\n list_services\
        \ request."
    loams.errors.v1.Reason:
      type: string
      title: Reason
      enum:
      - approval_expired
      - approval_already_decided
      - approval_stale_revision
      - requester_cannot_approve
      - decision_proof_invalid
      - step_up_required
      - reason_required
      - invalid_decision
      - pairing_expired
      - pairing_used
      - device_revoked
      - push_target_unknown
      - not_implemented
      - feature_not_in_variant
      - invalid_argument
      - not_found
      - already_exists
      - permission_denied
      - token_expired
      - unauthenticated
      - failed_precondition
      - resource_exhausted
      - unavailable
      - deadline_exceeded
      - aborted
      - internal
      description: 'The registry of every `reason` the server can return. Branch on `reason`, never on
        `code` alone and never on `message` (which may change). Within an API major version a reason is
        never renamed and never removed: a bug fix is a new reason, and a deprecated one keeps working
        and stops being returned. Every name is `snake_case` and unique, and a test in the engine reads
        this registry and fails on a duplicate or on a name outside `[a-z0-9_]`.


        | reason | Connect code | Raised by | metadata |

        |---|---|---|---|

        | `approval_expired` | `failed_precondition` | DecideApproval | — |

        | `approval_already_decided` | `failed_precondition` | DecideApproval | — |

        | `approval_stale_revision` | `failed_precondition` | DecideApproval | — |

        | `requester_cannot_approve` | `permission_denied` | DecideApproval | — |

        | `decision_proof_invalid` | `permission_denied` | DecideApproval | — |

        | `step_up_required` | `unauthenticated` | DecideApproval, CreatePairing | — |

        | `reason_required` | `invalid_argument` | DecideApproval | — |

        | `invalid_decision` | `invalid_argument` | DecideApproval | — |

        | `pairing_expired` | `failed_precondition` | the pairing grant | — |

        | `pairing_used` | `failed_precondition` | the pairing grant | — |

        | `device_revoked` | `unauthenticated` | every RPC from a revoked device | — |

        | `push_target_unknown` | `not_found` | UnregisterPushTarget | — |

        | `not_implemented` | `unimplemented` | a stub handler whose service has not landed yet | — |

        | `feature_not_in_variant` | `unimplemented` | any RPC of a catalogue package whose engine is
        not in this build variant | `variant` |

        | `invalid_argument` | `invalid_argument` | any RPC: a malformed field, an unparseable value |
        `field` |

        | `not_found` | `not_found` | any RPC: the named resource does not exist | — |

        | `already_exists` | `already_exists` | any RPC that creates a named resource | — |

        | `permission_denied` | `permission_denied` | any RPC the caller''s role may not make | — |

        | `token_expired` | `unauthenticated` | a rejected access token | `hint` |

        | `unauthenticated` | `unauthenticated` | any RPC with no or an unusable credential | — |

        | `failed_precondition` | `failed_precondition` | any RPC whose preconditions do not hold | —
        |

        | `resource_exhausted` | `resource_exhausted` | a backpressure or quota refusal | `retry_after_ms`
        |

        | `unavailable` | `unavailable` | a dependency is down or this node cannot serve the read | —
        |

        | `deadline_exceeded` | `deadline_exceeded` | the caller''s deadline passed | — |

        | `aborted` | `aborted` | a concurrent write won; the caller retries | — |

        | `internal` | `internal` | a bug; the message and the request_id go to the log | — |'
    loams.collection.v1.BackpressureState:
      type: string
      enum:
      - BACKPRESSURE_STATE_UNSPECIFIED
      - BACKPRESSURE_STATE_OPEN
      - BACKPRESSURE_STATE_THROTTLING
      - BACKPRESSURE_STATE_DISABLED
    loams.collection.v1.HotStateKind:
      type: string
      enum:
      - HOT_STATE_KIND_UNSPECIFIED
      - HOT_STATE_KIND_OFF
      - HOT_STATE_KIND_BUILDING
      - HOT_STATE_KIND_READY
    loams.collection.v1.DeletionKind:
      type: string
      enum:
      - DELETION_KIND_UNSPECIFIED
      - DELETION_KIND_ARRAY
      - DELETION_KIND_BITMAP
    loams.collection.v1.OpResult:
      type: string
      enum:
      - OP_RESULT_UNSPECIFIED
      - OP_RESULT_CREATED
      - OP_RESULT_UPDATED
      - OP_RESULT_DELETED
      - OP_RESULT_NOT_FOUND
      - OP_RESULT_NOOP
      - OP_RESULT_ACCEPTED
    loams.collection.v1.Freshness:
      type: string
      enum:
      - FRESHNESS_UNSPECIFIED
      - FRESHNESS_STRONG
      - FRESHNESS_EVENTUAL
    loams.collection.v1.CreateNamespaceRequest:
      type: object
      properties:
        namespace:
          type: string
      title: CreateNamespaceRequest
    loams.collection.v1.CreateNamespaceResponse:
      type: object
      properties:
        namespace:
          type: string
        namespaceId:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
      title: CreateNamespaceResponse
    loams.collection.v1.CreateCollectionRequest:
      type: object
      properties:
        namespace:
          type: string
        name:
          type: string
        schema:
          type: object
          additionalProperties: true
        partitions:
          type: integer
          format: int32
      title: CreateCollectionRequest
    loams.collection.v1.ListCollectionsRequest:
      type: object
      properties:
        namespace:
          type: string
        pageSize:
          type: integer
          format: int32
        pageToken:
          type: string
      title: ListCollectionsRequest
    loams.collection.v1.ListCollectionsResponse:
      type: object
      properties:
        collections:
          type: array
          items:
            $ref: '#/components/schemas/loams.collection.v1.CollectionInfo'
        nextPageToken:
          type: string
      title: ListCollectionsResponse
    loams.collection.v1.GetCollectionRequest:
      type: object
      properties:
        namespace:
          type: string
        collection:
          type: string
      title: GetCollectionRequest
    loams.collection.v1.DropCollectionRequest:
      type: object
      properties:
        namespace:
          type: string
        collection:
          type: string
      title: DropCollectionRequest
    loams.collection.v1.DropCollectionResponse:
      type: object
      properties:
        dropped:
          type: boolean
      title: DropCollectionResponse
    loams.collection.v1.AddFieldsRequest:
      type: object
      properties:
        namespace:
          type: string
        collection:
          type: string
        fields:
          type: array
          items:
            type: object
            additionalProperties: true
        vectors:
          type: array
          items:
            type: object
            additionalProperties: true
        annotations:
          type: object
          additionalProperties:
            type: string
      title: AddFieldsRequest
    loams.collection.v1.AddFieldsResponse:
      type: object
      properties:
        schema:
          type: object
          additionalProperties: true
      title: AddFieldsResponse
    loams.collection.v1.ListVersionsRequest:
      type: object
      properties:
        namespace:
          type: string
        collection:
          type: string
        pageSize:
          type: integer
          format: int32
        pageToken:
          type: string
      title: ListVersionsRequest
    loams.collection.v1.ListVersionsResponse:
      type: object
      properties:
        versions:
          type: array
          items:
            $ref: '#/components/schemas/loams.collection.v1.ManifestVersion'
        nextPageToken:
          type: string
      title: ListVersionsResponse
    loams.collection.v1.ManifestVersion:
      type: object
      properties:
        version:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
        createdAtMs:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
        sizeBytes:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
        liveDocCount:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
        lanceVersion:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
      title: ManifestVersion
    loams.collection.v1.ScanRequest:
      type: object
      properties:
        namespace:
          type: string
        collection:
          type: string
        at:
          $ref: '#/components/schemas/loams.collection.v1.ScanPoint'
      title: ScanRequest
    loams.collection.v1.ScanPoint:
      type: object
      properties:
        manifestVersion:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
        token:
          type: string
      title: ScanPoint
      allOf:
      - oneOf:
        - required:
          - manifestVersion
          not:
            anyOf:
            - required:
              - token
        - required:
          - token
          not:
            anyOf:
            - required:
              - manifestVersion
        - not:
            anyOf:
            - required:
              - manifestVersion
            - required:
              - token
    loams.collection.v1.UpdateAliasesRequest:
      type: object
      properties:
        namespace:
          type: string
        actions:
          type: array
          items:
            $ref: '#/components/schemas/loams.collection.v1.AliasAction'
      title: UpdateAliasesRequest
    loams.collection.v1.AliasAction:
      type: object
      properties:
        create:
          $ref: '#/components/schemas/loams.collection.v1.CreateAlias'
        delete:
          $ref: '#/components/schemas/loams.collection.v1.DeleteAlias'
      title: AliasAction
      allOf:
      - oneOf:
        - required:
          - create
          not:
            anyOf:
            - required:
              - delete
        - required:
          - delete
          not:
            anyOf:
            - required:
              - create
        - not:
            anyOf:
            - required:
              - create
            - required:
              - delete
    loams.collection.v1.CreateAlias:
      type: object
      properties:
        alias:
          type: string
        collection:
          type: string
      title: CreateAlias
    loams.collection.v1.DeleteAlias:
      type: object
      properties:
        alias:
          type: string
      title: DeleteAlias
    loams.collection.v1.UpdateAliasesResponse:
      type: object
      properties: {}
      title: UpdateAliasesResponse
    loams.collection.v1.SetHotRequest:
      type: object
      properties:
        namespace:
          type: string
        collection:
          type: string
        hot:
          $ref: '#/components/schemas/loams.collection.v1.HotConfig'
      title: SetHotRequest
    loams.collection.v1.SetHotResponse:
      type: object
      properties:
        hot:
          $ref: '#/components/schemas/loams.collection.v1.HotStatus'
      title: SetHotResponse
    loams.collection.v1.WarmCollectionRequest:
      type: object
      properties:
        namespace:
          type: string
        collection:
          type: string
      title: WarmCollectionRequest
    loams.collection.v1.WarmCollectionResponse:
      type: object
      properties: {}
      title: WarmCollectionResponse
    loams.collection.v1.HotConfig:
      type: object
      properties:
        vectors:
          type: boolean
        text:
          type: boolean
        fragments:
          type: boolean
      title: HotConfig
    loams.collection.v1.CollectionInfo:
      type: object
      properties:
        id:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
        name:
          type: string
        namespace:
          type: string
        schema:
          type: object
          additionalProperties: true
        partitions:
          type: integer
          format: int32
        aliases:
          type: array
          items:
            type: string
        stream:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
        manifestVersion:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
        liveDocCount:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
        sizeBytes:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
        createdAtMs:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
        linkLagRecords:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
        hot:
          $ref: '#/components/schemas/loams.collection.v1.HotStatus'
        unappliedBytes:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
        backpressure:
          $ref: '#/components/schemas/loams.collection.v1.BackpressureStatus'
      title: CollectionInfo
    loams.collection.v1.BackpressureStatus:
      type: object
      properties:
        state:
          $ref: '#/components/schemas/loams.collection.v1.BackpressureState'
        unappliedRecords:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
        unappliedBytes:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
        maxUnappliedRecords:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
        maxUnappliedBytes:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
      title: BackpressureStatus
    loams.collection.v1.HotStatus:
      type: object
      properties:
        enabled:
          type: boolean
        config:
          $ref: '#/components/schemas/loams.collection.v1.HotConfig'
        pinAll:
          type: boolean
        promoted:
          type: boolean
        owner:
          $ref: '#/components/schemas/loams.collection.v1.HotOwner'
        vectors:
          $ref: '#/components/schemas/loams.collection.v1.HotStructureStatus'
        text:
          $ref: '#/components/schemas/loams.collection.v1.HotStructureStatus'
        fragments:
          $ref: '#/components/schemas/loams.collection.v1.HotStructureStatus'
      title: HotStatus
    loams.collection.v1.HotOwner:
      type: object
      properties:
        nodeId:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
        local:
          type: boolean
      title: HotOwner
    loams.collection.v1.HotStructureStatus:
      type: object
      properties:
        state:
          $ref: '#/components/schemas/loams.collection.v1.HotStateKind'
        sourceVersion:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
        overBudget:
          type: boolean
        columns:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/loams.collection.v1.HotColumnStatus'
        pinnedSplits:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
        splits:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
        prefetchedBytes:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
        bytes:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
      title: HotStructureStatus
    loams.collection.v1.HotColumnStatus:
      type: object
      properties:
        state:
          $ref: '#/components/schemas/loams.collection.v1.HotStateKind'
        sourceVersion:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
        artifactSourceVersion:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
        deltaRows:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
        error:
          type: string
      title: HotColumnStatus
    loams.collection.v1.ScanPlan:
      type: object
      properties:
        namespace:
          type: string
        collection:
          type: string
        collectionId:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
        manifestVersion:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
        schemaVersion:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
        lance:
          $ref: '#/components/schemas/loams.collection.v1.LanceVersionRef'
        fragments:
          type: array
          items:
            $ref: '#/components/schemas/loams.collection.v1.ScanFragment'
        liveRows:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
        columns:
          type: array
          items:
            $ref: '#/components/schemas/loams.collection.v1.ScanColumn'
        pkEncoding:
          type: string
        tail:
          type: boolean
        tailRecords:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
        offsets:
          type: array
          items:
            $ref: '#/components/schemas/loams.collection.v1.ScanOffsets'
        durableToken:
          type: string
        pin:
          $ref: '#/components/schemas/loams.collection.v1.ScanPin'
        plannedAtMs:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
        expiresAtMs:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
      title: ScanPlan
    loams.collection.v1.LanceVersionRef:
      type: object
      properties:
        uri:
          type: string
        version:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
        manifestPath:
          type: string
        storageFormat:
          type: string
        stableRowIds:
          type: boolean
      title: LanceVersionRef
    loams.collection.v1.ScanFragment:
      type: object
      properties:
        id:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
        physicalRows:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
        deletedRows:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
        liveRows:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
        files:
          type: array
          items:
            $ref: '#/components/schemas/loams.collection.v1.ScanFile'
        deletionFile:
          $ref: '#/components/schemas/loams.collection.v1.ScanDeletionFile'
        lance:
          type: object
          additionalProperties: true
      title: ScanFragment
    loams.collection.v1.ScanFile:
      type: object
      properties:
        path:
          type: string
        sizeBytes:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
      title: ScanFile
    loams.collection.v1.ScanDeletionFile:
      type: object
      properties:
        path:
          type: string
        kind:
          $ref: '#/components/schemas/loams.collection.v1.DeletionKind'
        deletedRows:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
      title: ScanDeletionFile
    loams.collection.v1.ScanColumn:
      type: object
      properties:
        name:
          type: string
        dataType:
          type: string
        role:
          type: string
        vector:
          type: string
        dim:
          type: integer
          format: int32
        distance:
          type: string
        modifier:
          type: string
      title: ScanColumn
    loams.collection.v1.ScanOffsets:
      type: object
      properties:
        partition:
          type: integer
          format: int32
        applied:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
        target:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
      title: ScanOffsets
    loams.collection.v1.ScanPin:
      type: object
      properties:
        manifestVersion:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
        token:
          type: string
      title: ScanPin
    loams.collection.v1.WriteDocumentsRequest:
      type: object
      properties:
        namespace:
          type: string
        collection:
          type: string
        ops:
          type: array
          items:
            $ref: '#/components/schemas/loams.collection.v1.WriteOp'
        reportExistence:
          type: boolean
        idempotencyKey:
          type: string
      title: WriteDocumentsRequest
    loams.collection.v1.WriteDocumentsResponse:
      type: object
      properties:
        token:
          type: string
        results:
          type: array
          items:
            $ref: '#/components/schemas/loams.collection.v1.OpResult'
        positions:
          type: array
          items:
            $ref: '#/components/schemas/loams.collection.v1.OpPosition'
        unappliedRecords:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
        unappliedBytes:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
      title: WriteDocumentsResponse
    loams.collection.v1.WriteOp:
      type: object
      properties:
        upsert:
          $ref: '#/components/schemas/loams.collection.v1.WriteDocument'
        delete:
          $ref: '#/components/schemas/loams.collection.v1.DeleteDocument'
        patch:
          $ref: '#/components/schemas/loams.collection.v1.Patch'
      title: WriteOp
      allOf:
      - oneOf:
        - required:
          - upsert
          not:
            anyOf:
            - required:
              - delete
            - required:
              - patch
        - required:
          - delete
          not:
            anyOf:
            - required:
              - upsert
            - required:
              - patch
        - required:
          - patch
          not:
            anyOf:
            - required:
              - upsert
            - required:
              - delete
        - not:
            anyOf:
            - required:
              - upsert
            - required:
              - delete
            - required:
              - patch
    loams.collection.v1.WriteDocument:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/loams.collection.v1.DocumentId'
        source:
          type: object
          additionalProperties: true
        vectors:
          type: object
          additionalProperties: {}
        sparseVectors:
          type: object
          additionalProperties:
            type: object
            additionalProperties: true
      title: WriteDocument
    loams.collection.v1.DeleteDocument:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/loams.collection.v1.DocumentId'
      title: DeleteDocument
    loams.collection.v1.Patch:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/loams.collection.v1.DocumentId'
        mode:
          type: string
        source:
          type: object
          additionalProperties: true
        deleteKeys:
          type: array
          items:
            type: string
        vectors:
          type: object
          additionalProperties: {}
        sparseVectors:
          type: object
          additionalProperties:
            type: object
            additionalProperties: true
        upsert:
          $ref: '#/components/schemas/loams.collection.v1.WriteDocument'
      title: Patch
    loams.collection.v1.DocumentId:
      type: object
      properties:
        uint:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
        string:
          type: string
        uuid:
          type: string
      title: DocumentId
      allOf:
      - oneOf:
        - required:
          - uint
          not:
            anyOf:
            - required:
              - string
            - required:
              - uuid
        - required:
          - string
          not:
            anyOf:
            - required:
              - uint
            - required:
              - uuid
        - required:
          - uuid
          not:
            anyOf:
            - required:
              - uint
            - required:
              - string
        - not:
            anyOf:
            - required:
              - uint
            - required:
              - string
            - required:
              - uuid
    loams.collection.v1.OpPosition:
      type: object
      properties:
        partition:
          type: integer
          format: int32
        seqNo:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
      title: OpPosition
    loams.collection.v1.GetDocumentsRequest:
      type: object
      properties:
        namespace:
          type: string
        collection:
          type: string
        ids:
          type: array
          items:
            $ref: '#/components/schemas/loams.collection.v1.DocumentId'
        select:
          type: object
          additionalProperties: true
        consistency:
          $ref: '#/components/schemas/loams.collection.v1.Consistency'
      title: GetDocumentsRequest
    loams.collection.v1.GetDocumentsResponse:
      type: object
      properties:
        documents:
          type: array
          items:
            $ref: '#/components/schemas/loams.collection.v1.Document'
        readToken:
          type: string
      title: GetDocumentsResponse
    loams.collection.v1.ScrollDocumentsRequest:
      type: object
      properties:
        namespace:
          type: string
        collection:
          type: string
        filter: {}
        after:
          $ref: '#/components/schemas/loams.collection.v1.DocumentId'
        limit:
          type: integer
          format: int32
        select:
          type: object
          additionalProperties: true
        consistency:
          $ref: '#/components/schemas/loams.collection.v1.Consistency'
        pageToken:
          $ref: '#/components/schemas/loams.collection.v1.DocumentId'
      title: ScrollDocumentsRequest
    loams.collection.v1.ScrollDocumentsResponse:
      type: object
      properties:
        documents:
          type: array
          items:
            $ref: '#/components/schemas/loams.collection.v1.Document'
        next:
          $ref: '#/components/schemas/loams.collection.v1.DocumentId'
        readToken:
          type: string
      title: ScrollDocumentsResponse
    loams.collection.v1.CountDocumentsRequest:
      type: object
      properties:
        namespace:
          type: string
        collection:
          type: string
        filter: {}
        consistency:
          $ref: '#/components/schemas/loams.collection.v1.Consistency'
      title: CountDocumentsRequest
    loams.collection.v1.CountDocumentsResponse:
      type: object
      properties:
        count:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
        readToken:
          type: string
      title: CountDocumentsResponse
    loams.collection.v1.DeleteByFilterRequest:
      type: object
      properties:
        namespace:
          type: string
        collection:
          type: string
        filter: {}
        maxRows:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
        allowPartial:
          type: boolean
        cursor:
          $ref: '#/components/schemas/loams.collection.v1.FilterWriteCursor'
        consistency:
          $ref: '#/components/schemas/loams.collection.v1.Consistency'
      title: DeleteByFilterRequest
    loams.collection.v1.PatchByFilterRequest:
      type: object
      properties:
        namespace:
          type: string
        collection:
          type: string
        filter: {}
        patch:
          $ref: '#/components/schemas/loams.collection.v1.Patch'
        maxRows:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
        allowPartial:
          type: boolean
        cursor:
          $ref: '#/components/schemas/loams.collection.v1.FilterWriteCursor'
        consistency:
          $ref: '#/components/schemas/loams.collection.v1.Consistency'
      title: PatchByFilterRequest
    loams.collection.v1.FilterWriteResponse:
      type: object
      properties:
        matched:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
        affected:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
        written:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
        batches:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
        rowsRemaining:
          type: boolean
        cursor:
          $ref: '#/components/schemas/loams.collection.v1.FilterWriteCursor'
        token:
          type: string
        pin:
          $ref: '#/components/schemas/loams.collection.v1.Pin'
        retryAfterMs:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
      title: FilterWriteResponse
    loams.collection.v1.FilterWriteCursor:
      type: object
      properties:
        after:
          $ref: '#/components/schemas/loams.collection.v1.DocumentId'
        manifestVersion:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
        token:
          type: string
      title: FilterWriteCursor
    loams.collection.v1.Document:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/loams.collection.v1.DocumentId'
        source:
          type: object
          additionalProperties: true
        vectors:
          type: object
          additionalProperties: {}
        sparseVectors:
          type: object
          additionalProperties:
            type: object
            additionalProperties: true
        fields:
          type: object
          additionalProperties: {}
        seqNo:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
        partition:
          type: integer
          format: int32
      title: Document
    loams.collection.v1.Consistency:
      type: object
      properties:
        freshness:
          $ref: '#/components/schemas/loams.collection.v1.Freshness'
        atLeast:
          type: string
        pin:
          $ref: '#/components/schemas/loams.collection.v1.Pin'
      title: Consistency
    loams.collection.v1.Pin:
      type: object
      properties:
        manifestVersion:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
        token:
          type: string
      title: Pin
    loams.collection.v1.BoolOperator:
      type: string
      enum:
      - BOOL_OPERATOR_UNSPECIFIED
      - BOOL_OPERATOR_OR
      - BOOL_OPERATOR_AND
    loams.collection.v1.MultiMatchKind:
      type: string
      enum:
      - MULTI_MATCH_KIND_UNSPECIFIED
      - MULTI_MATCH_KIND_BEST_FIELDS
      - MULTI_MATCH_KIND_MOST_FIELDS
      - MULTI_MATCH_KIND_CROSS_FIELDS
      - MULTI_MATCH_KIND_PHRASE
      - MULTI_MATCH_KIND_PHRASE_PREFIX
    loams.collection.v1.SortOrder:
      type: string
      enum:
      - SORT_ORDER_UNSPECIFIED
      - SORT_ORDER_ASC
      - SORT_ORDER_DESC
    loams.collection.v1.MissingOrder:
      type: string
      enum:
      - MISSING_ORDER_UNSPECIFIED
      - MISSING_ORDER_FIRST
      - MISSING_ORDER_LAST
    loams.collection.v1.TotalRelation:
      type: string
      enum:
      - TOTAL_RELATION_UNSPECIFIED
      - TOTAL_RELATION_EQ
      - TOTAL_RELATION_GTE
    loams.collection.v1.SearchRequest:
      type: object
      properties:
        namespace:
          type: string
        collection:
          type: string
        consistency:
          $ref: '#/components/schemas/loams.collection.v1.Consistency'
        retrievers:
          type: array
          items:
            $ref: '#/components/schemas/loams.collection.v1.Retriever'
        fusion:
          $ref: '#/components/schemas/loams.collection.v1.Fusion'
        filter:
          $ref: '#/components/schemas/loams.collection.v1.Query'
        sort:
          type: array
          items:
            $ref: '#/components/schemas/loams.collection.v1.SortKey'
        offset:
          type: integer
          format: int32
        limit:
          type: integer
          format: int32
        searchAfter:
          type: array
          items: {}
        scoreThreshold:
          type: number
          format: float
        select:
          type: object
          additionalProperties: true
        aggregations: {}
        highlight:
          $ref: '#/components/schemas/loams.collection.v1.Highlight'
        groupBy:
          $ref: '#/components/schemas/loams.collection.v1.GroupBy'
        trackTotalHits: {}
        rerank:
          type: object
          additionalProperties: true
        expand:
          type: object
          additionalProperties: true
        from:
          type: string
        retrieve:
          type: array
          items:
            $ref: '#/components/schemas/loams.collection.v1.Retriever'
        fuse:
          type: object
          additionalProperties: true
      title: SearchRequest
    loams.collection.v1.Retriever:
      type: object
      properties:
        vector:
          $ref: '#/components/schemas/loams.collection.v1.VectorQuery'
        text:
          $ref: '#/components/schemas/loams.collection.v1.TextQuery'
        fused:
          $ref: '#/components/schemas/loams.collection.v1.FusedQuery'
        rescore:
          $ref: '#/components/schemas/loams.collection.v1.RescoreQuery'
        sparse:
          $ref: '#/components/schemas/loams.collection.v1.SparseQuery'
      title: Retriever
      allOf:
      - oneOf:
        - required:
          - vector
          not:
            anyOf:
            - required:
              - text
            - required:
              - fused
            - required:
              - rescore
            - required:
              - sparse
        - required:
          - text
          not:
            anyOf:
            - required:
              - vector
            - required:
              - fused
            - required:
              - rescore
            - required:
              - sparse
        - required:
          - fused
          not:
            anyOf:
            - required:
              - vector
            - required:
              - text
            - required:
              - rescore
            - required:
              - sparse
        - required:
          - rescore
          not:
            anyOf:
            - required:
              - vector
            - required:
              - text
            - required:
              - fused
            - required:
              - sparse
        - required:
          - sparse
          not:
            anyOf:
            - required:
              - vector
            - required:
              - text
            - required:
              - fused
            - required:
              - rescore
        - not:
            anyOf:
            - required:
              - vector
            - required:
              - text
            - required:
              - fused
            - required:
              - rescore
            - required:
              - sparse
    loams.collection.v1.VectorQuery:
      type: object
      properties:
        field:
          type: string
        query:
          type: array
          items:
            type: number
            format: float
        k:
          type: integer
          format: int32
        params:
          $ref: '#/components/schemas/loams.collection.v1.AnnParams'
        filter:
          $ref: '#/components/schemas/loams.collection.v1.Query'
      title: VectorQuery
    loams.collection.v1.TextQuery:
      type: object
      properties:
        query:
          $ref: '#/components/schemas/loams.collection.v1.Query'
        k:
          type: integer
          format: int32
      title: TextQuery
    loams.collection.v1.FusedQuery:
      type: object
      properties:
        inputs:
          type: array
          items:
            $ref: '#/components/schemas/loams.collection.v1.Retriever'
        fusion:
          $ref: '#/components/schemas/loams.collection.v1.Fusion'
        k:
          type: integer
          format: int32
      title: FusedQuery
    loams.collection.v1.RescoreQuery:
      type: object
      properties:
        input:
          $ref: '#/components/schemas/loams.collection.v1.Retriever'
        field:
          type: string
        query:
          type: array
          items:
            type: number
            format: float
        k:
          type: integer
          format: int32
      title: RescoreQuery
    loams.collection.v1.SparseQuery:
      type: object
      properties:
        field:
          type: string
        query:
          type: object
          additionalProperties: true
        k:
          type: integer
          format: int32
        filter:
          $ref: '#/components/schemas/loams.collection.v1.Query'
        params:
          $ref: '#/components/schemas/loams.collection.v1.SparseParams'
      title: SparseQuery
    loams.collection.v1.AnnParams:
      type: object
      properties:
        exact:
          type: boolean
        nprobes:
          type: integer
          format: int32
        refineFactor:
          type: integer
          format: int32
        ef:
          type: integer
          format: int32
        oversampling:
          type: number
          format: float
        distance:
          type: string
      title: AnnParams
    loams.collection.v1.SparseParams:
      type: object
      properties:
        idfCorpus:
          $ref: '#/components/schemas/loams.collection.v1.Query'
      title: SparseParams
    loams.collection.v1.Fusion:
      type: object
      properties:
        rrf:
          $ref: '#/components/schemas/loams.collection.v1.Rrf'
        dbsf:
          type: object
          properties: {}
        weightedSum:
          $ref: '#/components/schemas/loams.collection.v1.WeightedSum'
      title: Fusion
      allOf:
      - oneOf:
        - required:
          - rrf
          not:
            anyOf:
            - required:
              - dbsf
            - required:
              - weightedSum
        - required:
          - dbsf
          not:
            anyOf:
            - required:
              - rrf
            - required:
              - weightedSum
        - required:
          - weightedSum
          not:
            anyOf:
            - required:
              - rrf
            - required:
              - dbsf
        - not:
            anyOf:
            - required:
              - rrf
            - required:
              - dbsf
            - required:
              - weightedSum
    loams.collection.v1.Rrf:
      type: object
      properties:
        k:
          type: integer
          format: int32
      title: Rrf
    loams.collection.v1.WeightedSum:
      type: object
      properties:
        weights:
          type: array
          items:
            type: number
            format: float
      title: WeightedSum
    loams.collection.v1.Query:
      type: object
      properties:
        matchAll:
          type: object
          properties: {}
        matchNone:
          type: object
          properties: {}
        match:
          $ref: '#/components/schemas/loams.collection.v1.MatchQuery'
        matchPhrase:
          $ref: '#/components/schemas/loams.collection.v1.MatchPhraseQuery'
        multiMatch:
          $ref: '#/components/schemas/loams.collection.v1.MultiMatchQuery'
        term:
          $ref: '#/components/schemas/loams.collection.v1.TermQuery'
        terms:
          $ref: '#/components/schemas/loams.collection.v1.TermsQuery'
        range:
          $ref: '#/components/schemas/loams.collection.v1.RangeQuery'
        exists:
          $ref: '#/components/schemas/loams.collection.v1.FieldQuery'
        isNull:
          $ref: '#/components/schemas/loams.collection.v1.FieldQuery'
        isEmpty:
          $ref: '#/components/schemas/loams.collection.v1.FieldQuery'
        valuesCount:
          $ref: '#/components/schemas/loams.collection.v1.ValuesCountQuery'
        prefix:
          $ref: '#/components/schemas/loams.collection.v1.PrefixQuery'
        wildcard:
          $ref: '#/components/schemas/loams.collection.v1.WildcardQuery'
        fuzzy:
          $ref: '#/components/schemas/loams.collection.v1.FuzzyQuery'
        queryString:
          $ref: '#/components/schemas/loams.collection.v1.QueryStringQuery'
        bool:
          $ref: '#/components/schemas/loams.collection.v1.BoolQuery'
        boost:
          $ref: '#/components/schemas/loams.collection.v1.BoostQuery'
        constantScore:
          $ref: '#/components/schemas/loams.collection.v1.ConstantScoreQuery'
        ids:
          type: array
          items: {}
      title: Query
      allOf:
      - oneOf:
        - required:
          - matchAll
          not:
            anyOf:
            - required:
              - matchNone
            - required:
              - match
            - required:
              - matchPhrase
            - required:
              - multiMatch
            - required:
              - term
            - required:
              - terms
            - required:
              - range
            - required:
              - exists
            - required:
              - isNull
            - required:
              - isEmpty
            - required:
              - valuesCount
            - required:
              - prefix
            - required:
              - wildcard
            - required:
              - fuzzy
            - required:
              - queryString
            - required:
              - bool
            - required:
              - boost
            - required:
              - constantScore
        - required:
          - matchNone
          not:
            anyOf:
            - required:
              - matchAll
            - required:
              - match
            - required:
              - matchPhrase
            - required:
              - multiMatch
            - required:
              - term
            - required:
              - terms
            - required:
              - range
            - required:
              - exists
            - required:
              - isNull
            - required:
              - isEmpty
            - required:
              - valuesCount
            - required:
              - prefix
            - required:
              - wildcard
            - required:
              - fuzzy
            - required:
              - queryString
            - required:
              - bool
            - required:
              - boost
            - required:
              - constantScore
        - required:
          - match
          not:
            anyOf:
            - required:
              - matchAll
            - required:
              - matchNone
            - required:
              - matchPhrase
            - required:
              - multiMatch
            - required:
              - term
            - required:
              - terms
            - required:
              - range
            - required:
              - exists
            - required:
              - isNull
            - required:
              - isEmpty
            - required:
              - valuesCount
            - required:
              - prefix
            - required:
              - wildcard
            - required:
              - fuzzy
            - required:
              - queryString
            - required:
              - bool
            - required:
              - boost
            - required:
              - constantScore
        - required:
          - matchPhrase
          not:
            anyOf:
            - required:
              - matchAll
            - required:
              - matchNone
            - required:
              - match
            - required:
              - multiMatch
            - required:
              - term
            - required:
              - terms
            - required:
              - range
            - required:
              - exists
            - required:
              - isNull
            - required:
              - isEmpty
            - required:
              - valuesCount
            - required:
              - prefix
            - required:
              - wildcard
            - required:
              - fuzzy
            - required:
              - queryString
            - required:
              - bool
            - required:
              - boost
            - required:
              - constantScore
        - required:
          - multiMatch
          not:
            anyOf:
            - required:
              - matchAll
            - required:
              - matchNone
            - required:
              - match
            - required:
              - matchPhrase
            - required:
              - term
            - required:
              - terms
            - required:
              - range
            - required:
              - exists
            - required:
              - isNull
            - required:
              - isEmpty
            - required:
              - valuesCount
            - required:
              - prefix
            - required:
              - wildcard
            - required:
              - fuzzy
            - required:
              - queryString
            - required:
              - bool
            - required:
              - boost
            - required:
              - constantScore
        - required:
          - term
          not:
            anyOf:
            - required:
              - matchAll
            - required:
              - matchNone
            - required:
              - match
            - required:
              - matchPhrase
            - required:
              - multiMatch
            - required:
              - terms
            - required:
              - range
            - required:
              - exists
            - required:
              - isNull
            - required:
              - isEmpty
            - required:
              - valuesCount
            - required:
              - prefix
            - required:
              - wildcard
            - required:
              - fuzzy
            - required:
              - queryString
            - required:
              - bool
            - required:
              - boost
            - required:
              - constantScore
        - required:
          - terms
          not:
            anyOf:
            - required:
              - matchAll
            - required:
              - matchNone
            - required:
              - match
            - required:
              - matchPhrase
            - required:
              - multiMatch
            - required:
              - term
            - required:
              - range
            - required:
              - exists
            - required:
              - isNull
            - required:
              - isEmpty
            - required:
              - valuesCount
            - required:
              - prefix
            - required:
              - wildcard
            - required:
              - fuzzy
            - required:
              - queryString
            - required:
              - bool
            - required:
              - boost
            - required:
              - constantScore
        - required:
          - range
          not:
            anyOf:
            - required:
              - matchAll
            - required:
              - matchNone
            - required:
              - match
            - required:
              - matchPhrase
            - required:
              - multiMatch
            - required:
              - term
            - required:
              - terms
            - required:
              - exists
            - required:
              - isNull
            - required:
              - isEmpty
            - required:
              - valuesCount
            - required:
              - prefix
            - required:
              - wildcard
            - required:
              - fuzzy
            - required:
              - queryString
            - required:
              - bool
            - required:
              - boost
            - required:
              - constantScore
        - required:
          - exists
          not:
            anyOf:
            - required:
              - matchAll
            - required:
              - matchNone
            - required:
              - match
            - required:
              - matchPhrase
            - required:
              - multiMatch
            - required:
              - term
            - required:
              - terms
            - required:
              - range
            - required:
              - isNull
            - required:
              - isEmpty
            - required:
              - valuesCount
            - required:
              - prefix
            - required:
              - wildcard
            - required:
              - fuzzy
            - required:
              - queryString
            - required:
              - bool
            - required:
              - boost
            - required:
              - constantScore
        - required:
          - isNull
          not:
            anyOf:
            - required:
              - matchAll
            - required:
              - matchNone
            - required:
              - match
            - required:
              - matchPhrase
            - required:
              - multiMatch
            - required:
              - term
            - required:
              - terms
            - required:
              - range
            - required:
              - exists
            - required:
              - isEmpty
            - required:
              - valuesCount
            - required:
              - prefix
            - required:
              - wildcard
            - required:
              - fuzzy
            - required:
              - queryString
            - required:
              - bool
            - required:
              - boost
            - required:
              - constantScore
        - required:
          - isEmpty
          not:
            anyOf:
            - required:
              - matchAll
            - required:
              - matchNone
            - required:
              - match
            - required:
              - matchPhrase
            - required:
              - multiMatch
            - required:
              - term
            - required:
              - terms
            - required:
              - range
            - required:
              - exists
            - required:
              - isNull
            - required:
              - valuesCount
            - required:
              - prefix
            - required:
              - wildcard
            - required:
              - fuzzy
            - required:
              - queryString
            - required:
              - bool
            - required:
              - boost
            - required:
              - constantScore
        - required:
          - valuesCount
          not:
            anyOf:
            - required:
              - matchAll
            - required:
              - matchNone
            - required:
              - match
            - required:
              - matchPhrase
            - required:
              - multiMatch
            - required:
              - term
            - required:
              - terms
            - required:
              - range
            - required:
              - exists
            - required:
              - isNull
            - required:
              - isEmpty
            - required:
              - prefix
            - required:
              - wildcard
            - required:
              - fuzzy
            - required:
              - queryString
            - required:
              - bool
            - required:
              - boost
            - required:
              - constantScore
        - required:
          - prefix
          not:
            anyOf:
            - required:
              - matchAll
            - required:
              - matchNone
            - required:
              - match
            - required:
              - matchPhrase
            - required:
              - multiMatch
            - required:
              - term
            - required:
              - terms
            - required:
              - range
            - required:
              - exists
            - required:
              - isNull
            - required:
              - isEmpty
            - required:
              - valuesCount
            - required:
              - wildcard
            - required:
              - fuzzy
            - required:
              - queryString
            - required:
              - bool
            - required:
              - boost
            - required:
              - constantScore
        - required:
          - wildcard
          not:
            anyOf:
            - required:
              - matchAll
            - required:
              - matchNone
            - required:
              - match
            - required:
              - matchPhrase
            - required:
              - multiMatch
            - required:
              - term
            - required:
              - terms
            - required:
              - range
            - required:
              - exists
            - required:
              - isNull
            - required:
              - isEmpty
            - required:
              - valuesCount
            - required:
              - prefix
            - required:
              - fuzzy
            - required:
              - queryString
            - required:
              - bool
            - required:
              - boost
            - required:
              - constantScore
        - required:
          - fuzzy
          not:
            anyOf:
            - required:
              - matchAll
            - required:
              - matchNone
            - required:
              - match
            - required:
              - matchPhrase
            - required:
              - multiMatch
            - required:
              - term
            - required:
              - terms
            - required:
              - range
            - required:
              - exists
            - required:
              - isNull
            - required:
              - isEmpty
            - required:
              - valuesCount
            - required:
              - prefix
            - required:
              - wildcard
            - required:
              - queryString
            - required:
              - bool
            - required:
              - boost
            - required:
              - constantScore
        - required:
          - queryString
          not:
            anyOf:
            - required:
              - matchAll
            - required:
              - matchNone
            - required:
              - match
            - required:
              - matchPhrase
            - required:
              - multiMatch
            - required:
              - term
            - required:
              - terms
            - required:
              - range
            - required:
              - exists
            - required:
              - isNull
            - required:
              - isEmpty
            - required:
              - valuesCount
            - required:
              - prefix
            - required:
              - wildcard
            - required:
              - fuzzy
            - required:
              - bool
            - required:
              - boost
            - required:
              - constantScore
        - required:
          - bool
          not:
            anyOf:
            - required:
              - matchAll
            - required:
              - matchNone
            - required:
              - match
            - required:
              - matchPhrase
            - required:
              - multiMatch
            - required:
              - term
            - required:
              - terms
            - required:
              - range
            - required:
              - exists
            - required:
              - isNull
            - required:
              - isEmpty
            - required:
              - valuesCount
            - required:
              - prefix
            - required:
              - wildcard
            - required:
              - fuzzy
            - required:
              - queryString
            - required:
              - boost
            - required:
              - constantScore
        - required:
          - boost
          not:
            anyOf:
            - required:
              - matchAll
            - required:
              - matchNone
            - required:
              - match
            - required:
              - matchPhrase
            - required:
              - multiMatch
            - required:
              - term
            - required:
              - terms
            - required:
              - range
            - required:
              - exists
            - required:
              - isNull
            - required:
              - isEmpty
            - required:
              - valuesCount
            - required:
              - prefix
            - required:
              - wildcard
            - required:
              - fuzzy
            - required:
              - queryString
            - required:
              - bool
            - required:
              - constantScore
        - required:
          - constantScore
          not:
            anyOf:
            - required:
              - matchAll
            - required:
              - matchNone
            - required:
              - match
            - required:
              - matchPhrase
            - required:
              - multiMatch
            - required:
              - term
            - required:
              - terms
            - required:
              - range
            - required:
              - exists
            - required:
              - isNull
            - required:
              - isEmpty
            - required:
              - valuesCount
            - required:
              - prefix
            - required:
              - wildcard
            - required:
              - fuzzy
            - required:
              - queryString
            - required:
              - bool
            - required:
              - boost
        - not:
            anyOf:
            - required:
              - matchAll
            - required:
              - matchNone
            - required:
              - match
            - required:
              - matchPhrase
            - required:
              - multiMatch
            - required:
              - term
            - required:
              - terms
            - required:
              - range
            - required:
              - exists
            - required:
              - isNull
            - required:
              - isEmpty
            - required:
              - valuesCount
            - required:
              - prefix
            - required:
              - wildcard
            - required:
              - fuzzy
            - required:
              - queryString
            - required:
              - bool
            - required:
              - boost
            - required:
              - constantScore
    loams.collection.v1.MatchQuery:
      type: object
      properties:
        field:
          type: string
        text:
          type: string
        operator:
          type: string
        minimumShouldMatch:
          type: string
        fuzziness:
          $ref: '#/components/schemas/loams.collection.v1.Fuzziness'
        analyzer:
          type: string
      title: MatchQuery
    loams.collection.v1.MatchPhraseQuery:
      type: object
      properties:
        field:
          type: string
        text:
          type: string
        slop:
          type: integer
          format: int32
      title: MatchPhraseQuery
    loams.collection.v1.MultiMatchQuery:
      type: object
      properties:
        fields:
          type: array
          items:
            $ref: '#/components/schemas/loams.collection.v1.MultiMatchField'
        text:
          type: string
        kind:
          $ref: '#/components/schemas/loams.collection.v1.MultiMatchKind'
        operator:
          $ref: '#/components/schemas/loams.collection.v1.BoolOperator'
        tieBreaker:
          type: number
          format: float
      title: MultiMatchQuery
    loams.collection.v1.MultiMatchField:
      type: object
      properties:
        field:
          type: string
        boost:
          type: number
          format: float
      title: MultiMatchField
    loams.collection.v1.TermQuery:
      type: object
      properties:
        field:
          type: string
        value: {}
      title: TermQuery
    loams.collection.v1.TermsQuery:
      type: object
      properties:
        field:
          type: string
        values:
          type: array
          items: {}
      title: TermsQuery
    loams.collection.v1.RangeQuery:
      type: object
      properties:
        field:
          type: string
        gt: {}
        gte: {}
        lt: {}
        lte: {}
      title: RangeQuery
    loams.collection.v1.FieldQuery:
      type: object
      properties:
        field:
          type: string
      title: FieldQuery
    loams.collection.v1.ValuesCountQuery:
      type: object
      properties:
        field:
          type: string
        gt:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
        gte:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
        lt:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
        lte:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
      title: ValuesCountQuery
    loams.collection.v1.PrefixQuery:
      type: object
      properties:
        field:
          type: string
        value:
          type: string
      title: PrefixQuery
    loams.collection.v1.WildcardQuery:
      type: object
      properties:
        field:
          type: string
        pattern:
          type: string
      title: WildcardQuery
    loams.collection.v1.FuzzyQuery:
      type: object
      properties:
        field:
          type: string
        value:
          type: string
        fuzziness:
          $ref: '#/components/schemas/loams.collection.v1.Fuzziness'
      title: FuzzyQuery
    loams.collection.v1.QueryStringQuery:
      type: object
      properties:
        query:
          type: string
        defaultFields:
          type: array
          items:
            type: string
        defaultOperator:
          $ref: '#/components/schemas/loams.collection.v1.BoolOperator'
      title: QueryStringQuery
    loams.collection.v1.BoolQuery:
      type: object
      properties:
        must:
          type: array
          items:
            $ref: '#/components/schemas/loams.collection.v1.Query'
        should:
          type: array
          items:
            $ref: '#/components/schemas/loams.collection.v1.Query'
        mustNot:
          type: array
          items:
            $ref: '#/components/schemas/loams.collection.v1.Query'
        filter:
          type: array
          items:
            $ref: '#/components/schemas/loams.collection.v1.Query'
        minimumShouldMatch:
          type: string
      title: BoolQuery
    loams.collection.v1.BoostQuery:
      type: object
      properties:
        query:
          $ref: '#/components/schemas/loams.collection.v1.Query'
        boost:
          type: number
          format: float
      title: BoostQuery
    loams.collection.v1.ConstantScoreQuery:
      type: object
      properties:
        query:
          $ref: '#/components/schemas/loams.collection.v1.Query'
        score:
          type: number
          format: float
      title: ConstantScoreQuery
    loams.collection.v1.Fuzziness:
      type: object
      properties:
        auto:
          type: object
          properties: {}
        edits:
          type: integer
          format: int32
      title: Fuzziness
      allOf:
      - oneOf:
        - required:
          - auto
          not:
            anyOf:
            - required:
              - edits
        - required:
          - edits
          not:
            anyOf:
            - required:
              - auto
        - not:
            anyOf:
            - required:
              - auto
            - required:
              - edits
    loams.collection.v1.SortKey:
      type: object
      properties:
        score:
          $ref: '#/components/schemas/loams.collection.v1.ScoreSort'
        pk:
          $ref: '#/components/schemas/loams.collection.v1.PrimaryKeySort'
        field:
          $ref: '#/components/schemas/loams.collection.v1.FieldSort'
      title: SortKey
      allOf:
      - oneOf:
        - required:
          - score
          not:
            anyOf:
            - required:
              - pk
            - required:
              - field
        - required:
          - pk
          not:
            anyOf:
            - required:
              - score
            - required:
              - field
        - required:
          - field
          not:
            anyOf:
            - required:
              - score
            - required:
              - pk
        - not:
            anyOf:
            - required:
              - score
            - required:
              - pk
            - required:
              - field
    loams.collection.v1.ScoreSort:
      type: object
      properties:
        order:
          $ref: '#/components/schemas/loams.collection.v1.SortOrder'
      title: ScoreSort
    loams.collection.v1.PrimaryKeySort:
      type: object
      properties:
        order:
          $ref: '#/components/schemas/loams.collection.v1.SortOrder'
      title: PrimaryKeySort
    loams.collection.v1.FieldSort:
      type: object
      properties:
        field:
          type: string
        order:
          $ref: '#/components/schemas/loams.collection.v1.SortOrder'
        missing:
          $ref: '#/components/schemas/loams.collection.v1.MissingOrder'
      title: FieldSort
    loams.collection.v1.Highlight:
      type: object
      properties:
        fields:
          type: array
          items:
            $ref: '#/components/schemas/loams.collection.v1.HighlightField'
      title: Highlight
    loams.collection.v1.HighlightField:
      type: object
      properties:
        field:
          type: string
        preTag:
          type: string
        postTag:
          type: string
        fragmentSize:
          type: integer
          format: int32
        numberOfFragments:
          type: integer
          format: int32
      title: HighlightField
    loams.collection.v1.GroupBy:
      type: object
      properties:
        field:
          type: string
        groupSize:
          type: integer
          format: int32
        limit:
          type: integer
          format: int32
      title: GroupBy
    loams.collection.v1.SearchResponse:
      type: object
      properties:
        hits:
          type: array
          items:
            $ref: '#/components/schemas/loams.collection.v1.Hit'
        total:
          $ref: '#/components/schemas/loams.collection.v1.TotalHits'
        aggregations: {}
        groups:
          type: array
          items:
            $ref: '#/components/schemas/loams.collection.v1.HitGroup'
        readToken:
          type: string
        hotUsed:
          type: array
          items:
            type: string
        performance:
          type: object
          additionalProperties: true
      title: SearchResponse
    loams.collection.v1.Hit:
      type: object
      properties:
        pk:
          $ref: '#/components/schemas/loams.collection.v1.DocumentId'
        score:
          type: number
          format: float
        sortValues:
          type: array
          items: {}
        source:
          type: object
          additionalProperties: true
        vectors:
          type: object
          additionalProperties: {}
        sparseVectors:
          type: object
          additionalProperties:
            type: object
            additionalProperties: true
        highlight:
          type: object
          additionalProperties: {}
        fields:
          type: object
          additionalProperties: {}
      title: Hit
    loams.collection.v1.HitGroup:
      type: object
      properties:
        key: {}
        hits:
          type: array
          items:
            $ref: '#/components/schemas/loams.collection.v1.Hit'
      title: HitGroup
    loams.collection.v1.TotalHits:
      type: object
      properties:
        value:
          type: string
          pattern: ^-?[0-9]+$
          description: 64-bit integer encoded as a decimal string in proto3 JSON.
        relation:
          $ref: '#/components/schemas/loams.collection.v1.TotalRelation'
      title: TotalHits
security: []
