Kagura AI Observability API

Internal read-only observability API (observation credential only)

GitHub OpenAPI

Operations 6

GET /api/v1/observability/capabilities Get Capabilities #
GET /api/v1/observability/resources List Resources #
GET /api/v1/observability/snapshots List Snapshots #
GET /api/v1/observability/ingestion-events List Ingestion Events #
GET /api/v1/observability/events List Usage Events #
POST /api/v1/observability/documents/resolve Resolve Documents #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/kagura-ai-com:kagura-ai-com-observability-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

kagura-ai-com-observability-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Kagura Memory Cloud Observability API
  description: Universal AI Memory Platform - Remote MCP Server + Web Management
  version: 0.158.1
tags:
- name: observability
  description: Internal read-only observability API (observation credential only)
paths:
  /api/v1/observability/capabilities:
    get:
      tags:
      - observability
      summary: Get Capabilities
      description: What this credential may read, the served schema versions and the limits.
      operationId: get_capabilities_api_v1_observability_capabilities_get
      parameters:
      - name: schema_version
        in: query
        required: false
        schema:
          type: integer
          description: Response schema version; only 1 is served
          default: 1
          title: Schema Version
        description: Response schema version; only 1 is served
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CapabilitiesV1'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/observability/resources:
    get:
      tags:
      - observability
      summary: List Resources
      description: The resources in scope with their live publication (at most 500).
      operationId: list_resources_api_v1_observability_resources_get
      parameters:
      - name: schema_version
        in: query
        required: false
        schema:
          type: integer
          description: Response schema version; only 1 is served
          default: 1
          title: Schema Version
        description: Response schema version; only 1 is served
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourcesV1'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/observability/snapshots:
    get:
      tags:
      - observability
      summary: List Snapshots
      description: Sanitised indexer state per resource (all in scope, or the one named).
      operationId: list_snapshots_api_v1_observability_snapshots_get
      parameters:
      - name: resource_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            minLength: 1
            maxLength: 255
          - type: 'null'
          description: Resource slug; optional for a resource-scoped credential
          title: Resource Id
        description: Resource slug; optional for a resource-scoped credential
      - name: schema_version
        in: query
        required: false
        schema:
          type: integer
          description: Response schema version; only 1 is served
          default: 1
          title: Schema Version
        description: Response schema version; only 1 is served
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SnapshotsV1'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/observability/ingestion-events:
    get:
      tags:
      - observability
      summary: List Ingestion Events
      description: A payload-free, time-sealed page of one resource's ingestion events.
      operationId: list_ingestion_events_api_v1_observability_ingestion_events_get
      parameters:
      - name: resource_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            minLength: 1
            maxLength: 255
          - type: 'null'
          description: Resource slug; optional for a resource-scoped credential
          title: Resource Id
        description: Resource slug; optional for a resource-scoped credential
      - name: cursor
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: '`next_cursor` of the previous page'
          title: Cursor
        description: '`next_cursor` of the previous page'
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 500
          minimum: 1
          default: 100
          title: Limit
      - name: schema_version
        in: query
        required: false
        schema:
          type: integer
          description: Response schema version; only 1 is served
          default: 1
          title: Schema Version
        description: Response schema version; only 1 is served
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IngestionEventsPageV1'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/observability/events:
    get:
      tags:
      - observability
      summary: List Usage Events
      description: 'The public MCP usage events in scope, in commit-safe order (#2678''s cursor).


        Gap rows (telemetry loss) are in every scope. ``cursor_invalid`` (400) and

        ``cursor_expired`` (410, with ``oldest_cursor``) come from the reader.'
      operationId: list_usage_events_api_v1_observability_events_get
      parameters:
      - name: resource_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            minLength: 1
            maxLength: 255
          - type: 'null'
          description: Resource slug; optional for a resource-scoped credential
          title: Resource Id
        description: Resource slug; optional for a resource-scoped credential
      - name: cursor
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: '`next_cursor` of the previous page'
          title: Cursor
        description: '`next_cursor` of the previous page'
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 500
          minimum: 1
          default: 100
          title: Limit
      - name: schema_version
        in: query
        required: false
        schema:
          type: integer
          description: Response schema version; only 1 is served
          default: 1
          title: Schema Version
        description: Response schema version; only 1 is served
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicMcpUsagePageV1'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/observability/documents/resolve:
    post:
      tags:
      - observability
      summary: Resolve Documents
      description: 'Resolve opaque doc keys to the currently public title and source URL.


        Only through a publication that serves right now; every other key is

        ``null``. A paused or capacity-locked workspace answers 503

        ``temporarily_unavailable`` (``Retry-After: 300``) like the public endpoint.'
      operationId: resolve_documents_api_v1_observability_documents_resolve_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DocumentsResolveRequestV1'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DocumentsResolveV1'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    SnapshotsV1:
      properties:
        schema_version:
          title: Schema Version
        deployment_id:
          title: Deployment Id
        as_of:
          title: As Of
        snapshots:
          title: Snapshots
        truncated:
          title: Truncated
        field_notes:
          title: Field Notes
      additionalProperties: false
      type: object
      required:
      - deployment_id
      - as_of
      - snapshots
      title: SnapshotsV1
      description: '``GET /observability/snapshots``.'
    ResourcesV1:
      properties:
        schema_version:
          title: Schema Version
        deployment_id:
          title: Deployment Id
        as_of:
          title: As Of
        resources:
          title: Resources
        truncated:
          title: Truncated
          description: More resources exist than were returned
      additionalProperties: false
      type: object
      required:
      - deployment_id
      - as_of
      - resources
      title: ResourcesV1
      description: '``GET /observability/resources`` (at most 500, no pagination).'
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    DocumentsResolveV1:
      properties:
        schema_version:
          title: Schema Version
        deployment_id:
          title: Deployment Id
        as_of:
          title: As Of
        resource_id:
          title: Resource Id
        documents:
          title: Documents
        publication_serving:
          title: Publication Serving
      additionalProperties: false
      type: object
      required:
      - deployment_id
      - as_of
      - resource_id
      - documents
      - publication_serving
      title: DocumentsResolveV1
      description: '``POST /observability/documents/resolve``: ``null`` for every key that does not resolve.'
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    PublicMcpUsagePageV1:
      properties:
        schema_version:
          title: Schema Version
        deployment_id:
          title: Deployment Id
        as_of:
          title: As Of
        events:
          title: Events
        next_cursor:
          title: Next Cursor
        has_more:
          title: Has More
        coverage: {}
        client_family_verified:
          title: Client Family Verified
      additionalProperties: false
      type: object
      required:
      - deployment_id
      - as_of
      - events
      - next_cursor
      - has_more
      - coverage
      title: PublicMcpUsagePageV1
      description: One page of the usage stream, in commit-safe ``(txid, id)`` order.
    DocumentsResolveRequestV1:
      properties:
        resource_id:
          anyOf:
          - type: string
            maxLength: 255
            minLength: 1
          - type: 'null'
          title: Resource Id
          description: Resource slug; optional for a resource-scoped credential
        doc_keys:
          items:
            type: string
          type: array
          maxItems: 100
          minItems: 1
          title: Doc Keys
        schema_version:
          type: integer
          title: Schema Version
          default: 1
      additionalProperties: false
      type: object
      required:
      - doc_keys
      title: DocumentsResolveRequestV1
      description: '``POST /observability/documents/resolve`` body.'
    IngestionEventsPageV1:
      properties:
        schema_version:
          title: Schema Version
        deployment_id:
          title: Deployment Id
        as_of:
          title: As Of
        resource_id:
          title: Resource Id
        events:
          title: Events
        next_cursor:
          title: Next Cursor
        has_more:
          title: Has More
        coverage: {}
      additionalProperties: false
      type: object
      required:
      - deployment_id
      - as_of
      - resource_id
      - events
      - next_cursor
      - has_more
      - coverage
      title: IngestionEventsPageV1
      description: '``GET /observability/ingestion-events``.'
    CapabilitiesV1:
      properties:
        schema_version:
          title: Schema Version
        deployment_id:
          title: Deployment Id
        as_of:
          title: As Of
        schema_versions:
          title: Schema Versions
        scope: {}
        credential: {}
        limits: {}
        retention: {}
        ingestion_seal_seconds:
          title: Ingestion Seal Seconds
        writer_enabled:
          title: Writer Enabled
        server_time:
          title: Server Time
      additionalProperties: false
      type: object
      required:
      - deployment_id
      - as_of
      - schema_versions
      - scope
      - credential
      - limits
      - retention
      - ingestion_seal_seconds
      - writer_enabled
      - server_time
      title: CapabilitiesV1
      description: '``GET /observability/capabilities``.'