inite-ai Scenes API

Scene-level reads over the memory_episode substrate: coherent multi-turn groupings of raw turns — what happened, together, when — with their member episodes, backlinks, state deltas and memory value. Read-only — the scene composer is the only writer. Flag: SCENES_API_ENABLED (on by default; =0 → 404).

Operations 2

GET /v1/scenes List scenes — what happened, together, when #
GET /v1/scenes/{id} Read one scene by id #

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/inite-ai:inite-ai-scenes-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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

inite-ai-scenes-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: 'Generated from the zod wire contracts (`pnpm openapi:build` — scripts/build-openapi.ts); do not edit by hand. Excluded on purpose: the operator/ops surface (jobs, leases, policy, stats, maintenance, GDPR cascades), which is indexed in docs/api.md, and the MCP transport `ALL /mcp/{companyId}`, which is JSON-RPC over Streamable HTTP rather than REST — MCP clients discover it through `tools/list` (docs/mcp.md). Scopes are plain bearer-key grants, not OAuth flows — each operation states its required scope.'
  license:
    identifier: AGPL-3.0-or-later
    name: AGPL-3.0-or-later
  summary: 'The community-facing platform surface: the memory core (fact ingest, search, multi-hop, synthesize, entity and fact reads), the Domain Pack registry and tenant pack admin, the document pipeline, the external-indexer work protocol, the raw-substrate driver, the evidence substrate, and source reputation reads.'
  title: INITE Brain — Platform Scenes API
  version: 2.6.0
servers:
- description: Hosted instance (placeholder — self-hosted deployments serve the same paths on their own origin).
  url: https://brain.inite.ai
security:
- bearerAuth: []
tags:
- description: 'Scene-level reads over the memory_episode substrate: coherent multi-turn groupings of raw turns — what happened, together, when — with their member episodes, backlinks, state deltas and memory value. Read-only — the scene composer is the only writer. Flag: SCENES_API_ENABLED (on by default; =0 → 404).'
  name: Scenes
paths:
  /v1/scenes:
    get:
      description: 'Scenes of the current segmenter world (memory_episode: coherent multi-turn groupings the composer derives from raw turns), newest first, with their member episodes, knowledge-graph backlinks, enrichment-owned state deltas (the beliefs are promoted from these) and per-dimension memory value. Filter by conversationId, entityId, since/until (overlap) and user scope. A user-bound token is pinned to its own user (userId mismatch is 403) and sees its own scenes plus tenant-global ones whose member set contains it; an M2M key scopes to any user with userId, and without one lists tenant-global scenes only (gists quote verbatim turns — the episodes contract). Scenes carrying PII need brain:read_pii. Page capped at 100 (default 25). `world` names the version served (empty until a world has been composed). On by default; SCENES_API_ENABLED=0 makes it a 404. Source: src/scenes/scenes.controller.ts.


        Required scope: `brain:read`.'
      operationId: listScenes
      parameters:
      - description: Only scenes covering this conversation.
        in: query
        name: conversationId
        required: false
        schema:
          type: string
      - description: Only scenes back-linked to this entity (`knowledge_entity:…`).
        in: query
        name: entityId
        required: false
        schema:
          type: string
      - description: End-user scope key. M2M keys may assert any user; user-bound tokens are pinned to their own.
        in: query
        name: userId
        required: false
        schema:
          type: string
      - description: 'ISO date-time: scenes ending at or after this instant.'
        in: query
        name: since
        required: false
        schema:
          type: string
      - description: 'ISO date-time: scenes starting at or before this instant.'
        in: query
        name: until
        required: false
        schema:
          type: string
      - description: Page size (default 25, max 100).
        in: query
        name: limit
        required: false
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScenesListResponse'
          description: The visible scenes.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      summary: List scenes — what happened, together, when
      tags:
      - Scenes
  /v1/scenes/{id}:
    get:
      description: 'One memory_episode scene as stored — the record a belief''s sourceSceneIds and a scene citation point at. Resolves in any world (a superseded world''s scene still opens). Every visibility fence (tenant, user scope, PII) answers 404 — existence never leaks. On by default; SCENES_API_ENABLED=0 makes it a 404. Source: src/scenes/scenes.controller.ts.


        Required scope: `brain:read`.'
      operationId: getScene
      parameters:
      - description: Scene record id (`memory_episode:…`).
        in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SceneReadResponse'
          description: The scene.
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      summary: Read one scene by id
      tags:
      - Scenes
components:
  responses:
    Forbidden:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
      description: The key lacks the required scope.
    Unauthorized:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
      description: Missing or unknown bearer key.
    NotFound:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
      description: No such resource in this tenant.
    BadRequest:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
      description: Validation failed.
  schemas:
    ErrorResponse:
      description: Standard NestJS error envelope.
      properties:
        error:
          type: string
        message:
          anyOf:
          - type: string
          - items:
              type: string
            type: array
        statusCode:
          type: integer
      required:
      - statusCode
      - message
      type: object
    SceneReadResponse:
      additionalProperties: false
      properties:
        confidence:
          type: number
        conversationIds:
          items:
            type: string
          type: array
        enriched:
          type: boolean
        enrichedGist:
          type: string
        entityIds:
          items:
            type: string
          type: array
        episodeIds:
          items:
            type: string
          type: array
        factIds:
          items:
            type: string
          type: array
        gist:
          type: string
        memoryValue:
          additionalProperties: false
          properties:
            contradiction:
              type: number
            estimatedUtility:
              type: number
            explicitness:
              type: number
            identity:
              type: number
            novelty:
              type: number
            scorerVersion:
              type: string
            stateChange:
              type: number
          type: object
        occurredFrom:
          type: string
        occurredTo:
          type: string
        recordedAt:
          type: string
        sceneId:
          type: string
        sceneLabel:
          type: string
        segmenterVersion:
          type: string
        stateDeltas:
          items:
            additionalProperties: false
            properties:
              field:
                type: string
              from:
                type: string
              subject:
                type: string
              to:
                type: string
            required:
            - subject
            - field
            type: object
          type: array
        unexpectedDetails:
          items:
            type: string
          type: array
        userId:
          type: string
        userIds:
          items:
            type: string
          type: array
      required:
      - sceneId
      - userIds
      - sceneLabel
      - gist
      - occurredFrom
      - occurredTo
      - recordedAt
      - conversationIds
      - episodeIds
      - entityIds
      - factIds
      - unexpectedDetails
      - stateDeltas
      - confidence
      - segmenterVersion
      - enriched
      type: object
    ScenesListResponse:
      additionalProperties: false
      properties:
        found:
          type: number
        scenes:
          items:
            $ref: '#/components/schemas/SceneReadResponse'
          type: array
        world:
          type: string
      required:
      - scenes
      - found
      - world
      type: object
  securitySchemes:
    bearerAuth:
      description: 'API key (`Authorization: Bearer <key>`); its SHA-256 must be registered in BRAIN_API_KEYS. Keys carry scopes (`brain:read`, `brain:write`, `brain:admin`, `brain:read_pii`, `registry:publish`, `registry:curate`, `indexer:write`) — each operation states the scope it requires. Not an OAuth flow.'
      scheme: bearer
      type: http