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

# Propose Memory Store changes

> Freeze a MemoryProposal from 1–200 `put`/`delete` operations against the store's current canonical base. The server normalizes paths, derives the MemoryActor from authentication, and freezes base revision, head revision, and diff hash at creation. This is the only way shared canonical memory — workspace-, agent-definition-, and surface-owned stores — advances. Send `Idempotency-Key`; the proposal returns `open`, awaiting a decision.

Checkfu support posture: preview; rollout_fenced. Required evidence journey: memory-stores. Deployment-specific readiness and the latest proven release are available from GET /v1/support/capabilities.



## OpenAPI

````yaml /openapi.json post /v1/memory-stores/{id}/proposals
openapi: 3.1.0
info:
  title: Checkfu API
  version: '2026-08-27'
  description: >-
    Authentication is declared per operation: API-key, runtime, or connector
    bearer; Automation signature; or credential-free pairing redemption. Every
    general Checkfu REST request requires the dated `Checkfu-Version` header
    (one of: 2026-08-27); the three MCP JSON-RPC transports use
    `MCP-Protocol-Version`, A2A uses `A2A-Version`, and the provider OAuth
    callback carries neither Checkfu header. API keys resolve one Workspace
    without a request selector; authenticated responses identify it with
    `Checkfu-Workspace-Id`.
servers:
  - url: https://api.checkfu.com
security:
  - bearerAuth: []
tags:
  - name: organizations
  - name: sourceRepositories
  - name: tenants
  - name: workspaces
  - name: principals
  - name: principalGroups
  - name: principalAccessCredentials
  - name: apiKeys
  - name: agents
  - name: harnesses
  - name: harnessRuntime
  - name: sandboxProfiles
  - name: computerProfiles
  - name: permissionAssignments
  - name: actionPolicies
  - name: files
  - name: memoryStores
  - name: dreams
  - name: modelCredentials
  - name: modelRoutingProfiles
  - name: blueprintInstallations
  - name: toolSources
  - name: skills
  - name: skillSources
  - name: agentSources
  - name: skillProposals
  - name: instructionProposals
  - name: catalog
  - name: concepts
  - name: support
  - name: connections
  - name: connectionVaults
  - name: connectionAssignments
  - name: connectedRuntimes
  - name: projects
  - name: collaboration
  - name: automationGraphs
  - name: automations
  - name: actionApprovals
  - name: standingApprovals
  - name: usage
  - name: models
  - name: outcomes
  - name: budgets
  - name: billing
  - name: sessions
  - name: audit
  - name: sessionExports
  - name: runs
  - name: runnerPools
  - name: transcripts
  - name: sessionWatches
  - name: webhookEndpoints
  - name: integrationGateway
  - name: agentDeployments
  - name: workEnvironments
  - name: computers
  - name: computerScreens
  - name: computerBrowserObservations
  - name: computerBrowserActions
  - name: environments
  - name: vaults
  - name: apiMcp
  - name: a2a
paths:
  /v1/memory-stores/{id}/proposals:
    post:
      tags:
        - memoryStores
      summary: Propose Memory Store changes
      description: >-
        Freeze a MemoryProposal from 1–200 `put`/`delete` operations against the
        store's current canonical base. The server normalizes paths, derives the
        MemoryActor from authentication, and freezes base revision, head
        revision, and diff hash at creation. This is the only way shared
        canonical memory — workspace-, agent-definition-, and surface-owned
        stores — advances. Send `Idempotency-Key`; the proposal returns `open`,
        awaiting a decision.


        Checkfu support posture: preview; rollout_fenced. Required evidence
        journey: memory-stores. Deployment-specific readiness and the latest
        proven release are available from GET /v1/support/capabilities.
      operationId: memoryStores.createMemoryProposal
      parameters:
        - name: id
          in: path
          schema:
            $ref: '#/components/schemas/MemoryStoreId'
          required: true
        - name: checkfu-version
          in: header
          schema:
            type: string
            enum:
              - '2026-08-27'
          required: true
        - name: idempotency-key
          in: header
          schema:
            type: string
            allOf:
              - maxLength: 255
          required: false
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                operations:
                  type: array
                  items:
                    $ref: '#/components/schemas/Union_117'
                  allOf:
                    - minItems: 1
                    - maxItems: 200
              required:
                - operations
              additionalProperties: false
        required: true
      responses:
        '201':
          description: >-
            a reviewer decision exactly on approved/rejected proposals, and a
            non-empty frozen diff
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MemoryProposalDecision'
          headers:
            checkfu-workspace-id:
              description: The Workspace resolved from the authenticated bearer credential.
              required: true
              schema:
                $ref: '#/components/schemas/WorkspaceId'
        '400':
          description: Typed Checkfu wire error
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/MemoryInvalidPathError'
                  - $ref: '#/components/schemas/ValidationMalformedError'
        '401':
          description: Typed Checkfu wire error
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    type: object
                    required:
                      - type
                      - message
                      - more
                    properties:
                      type:
                        type: string
                        enum:
                          - auth.invalid_key
                      message:
                        type: string
                      more:
                        type: string
                        enum:
                          - >-
                            https://docs.checkfu.com/reference/errors#auth-invalid-key
                        description: >-
                          Stable public documentation and remedy for this error
                          type.
                    additionalProperties: false
                additionalProperties: false
        '403':
          description: >-
            The organization, tenant, or workspace backing this key is
            administratively disabled. | The MemoryStore is archived or
            otherwise does not accept writes. | Deployment governance or
            retention policy denied the request.
          content:
            application/json:
              schema:
                anyOf:
                  - type: object
                    required:
                      - error
                    properties:
                      error:
                        type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - auth.disabled_tenancy
                          message:
                            type: string
                          more:
                            type: string
                            enum:
                              - >-
                                https://docs.checkfu.com/reference/errors#auth-disabled-tenancy
                            description: >-
                              Stable public documentation and remedy for this
                              error type.
                        required:
                          - type
                          - message
                          - more
                        additionalProperties: false
                    additionalProperties: false
                  - anyOf:
                      - $ref: '#/components/schemas/MemoryReadOnlyError'
                      - $ref: '#/components/schemas/PolicyDeniedError'
        '404':
          description: >-
            The requested resource does not exist in the resolved deployment
            boundary. | The requested MemoryStore or document does not exist.
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/ValidationNotFoundError'
                  - $ref: '#/components/schemas/MemoryNotFoundError'
        '409':
          description: >-
            The MemoryStore write conflicts with the current revision. | An
            idempotent mutation conflicts with a completed or in-progress
            request for the same key.
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/MemoryConflictError'
                  - $ref: '#/components/schemas/IdempotencyConflictError'
        '429':
          description: Typed Checkfu wire error
          headers:
            retry-after:
              description: >-
                Delay in seconds for rate limits or deployment quotas with a
                known release or UTC reset boundary
              required: false
              schema:
                type: integer
                minimum: 1
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    type: object
                    required:
                      - type
                      - message
                      - more
                    properties:
                      type:
                        type: string
                        enum:
                          - budget.exceeded
                      message:
                        type: string
                      more:
                        type: string
                        enum:
                          - >-
                            https://docs.checkfu.com/reference/errors#budget-exceeded
                        description: >-
                          Stable public documentation and remedy for this error
                          type.
                    additionalProperties: false
                additionalProperties: false
        '500':
          description: >-
            An unexpected internal failure occurred; the message contains an
            opaque incident reference.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RuntimeInternalError'
        '503':
          description: >-
            The MemoryStore backend cannot serve the operation and applied no
            write.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MemoryBackendUnavailableError'
      security:
        - bearerAuth: []
components:
  schemas:
    MemoryStoreId:
      type: string
      allOf:
        - pattern: ^memstore_[0-9a-f]{32}$
    Union_117:
      anyOf:
        - type: object
          properties:
            op:
              type: string
              enum:
                - put
            path:
              type: string
              allOf:
                - minLength: 1
                - maxLength: 2048
            content:
              $ref: '#/components/schemas/MemoryDocumentContentUtf8Bytes'
            media_type:
              type: string
              allOf:
                - minLength: 1
                - maxLength: 255
            expected_sha256:
              anyOf:
                - type: string
                  allOf:
                    - pattern: ^sha256:[0-9a-f]{64}$
                - type: 'null'
            provenance:
              anyOf:
                - $ref: '#/components/schemas/Objects_67'
                - type: 'null'
          required:
            - op
            - path
            - content
            - expected_sha256
          additionalProperties: false
        - type: object
          properties:
            op:
              type: string
              enum:
                - delete
            path:
              type: string
              allOf:
                - minLength: 1
                - maxLength: 2048
            expected_sha256:
              type: string
              allOf:
                - pattern: ^sha256:[0-9a-f]{64}$
          required:
            - op
            - path
            - expected_sha256
          additionalProperties: false
    MemoryProposalDecision:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/MemoryProposalId'
        store:
          $ref: '#/components/schemas/MemoryStoreId'
        base_revision:
          $ref: '#/components/schemas/MemoryRevisionId'
        head_revision:
          $ref: '#/components/schemas/MemoryRevisionId'
        diff_hash:
          type: string
          allOf:
            - pattern: ^sha256:[0-9a-f]{64}$
        author:
          $ref: '#/components/schemas/Union_114'
        status:
          $ref: '#/components/schemas/Union_119'
        decision:
          $ref: '#/components/schemas/Union_120'
        created_at:
          type: string
        updated_at:
          type: string
      required:
        - id
        - store
        - base_revision
        - head_revision
        - diff_hash
        - author
        - status
        - decision
        - created_at
        - updated_at
      additionalProperties: false
    WorkspaceId:
      type: string
      allOf:
        - pattern: ^wrkspc_[0-9a-f]{32}$
    MemoryInvalidPathError:
      type: object
      properties:
        error:
          type: object
          properties:
            type:
              type: string
              enum:
                - memory.invalid_path
            message:
              type: string
            more:
              type: string
              enum:
                - https://docs.checkfu.com/reference/errors#memory-invalid-path
              description: Stable public documentation and remedy for this error type.
          required:
            - type
            - message
            - more
          additionalProperties: false
      required:
        - error
      additionalProperties: false
      description: The document path is invalid or reserved.
    ValidationMalformedError:
      type: object
      properties:
        error:
          type: object
          properties:
            type:
              type: string
              enum:
                - validation.malformed
            message:
              type: string
            more:
              type: string
              enum:
                - https://docs.checkfu.com/reference/errors#validation-malformed
              description: Stable public documentation and remedy for this error type.
          required:
            - type
            - message
            - more
          additionalProperties: false
      required:
        - error
      additionalProperties: false
      description: >-
        The request could not be decoded or violated a declared input
        constraint.
    MemoryReadOnlyError:
      type: object
      properties:
        error:
          type: object
          properties:
            type:
              type: string
              enum:
                - memory.read_only
            message:
              type: string
            more:
              type: string
              enum:
                - https://docs.checkfu.com/reference/errors#memory-read-only
              description: Stable public documentation and remedy for this error type.
          required:
            - type
            - message
            - more
          additionalProperties: false
      required:
        - error
      additionalProperties: false
      description: The MemoryStore is archived or otherwise does not accept writes.
    PolicyDeniedError:
      type: object
      properties:
        error:
          type: object
          properties:
            type:
              type: string
              enum:
                - policy.denied
            message:
              type: string
            more:
              type: string
              enum:
                - https://docs.checkfu.com/reference/errors#policy-denied
              description: Stable public documentation and remedy for this error type.
          required:
            - type
            - message
            - more
          additionalProperties: false
      required:
        - error
      additionalProperties: false
      description: Deployment governance or retention policy denied the request.
    ValidationNotFoundError:
      type: object
      properties:
        error:
          type: object
          properties:
            type:
              type: string
              enum:
                - validation.not_found
            message:
              type: string
            more:
              type: string
              enum:
                - https://docs.checkfu.com/reference/errors#validation-not-found
              description: Stable public documentation and remedy for this error type.
          required:
            - type
            - message
            - more
          additionalProperties: false
      required:
        - error
      additionalProperties: false
      description: >-
        The requested resource does not exist in the resolved deployment
        boundary.
    MemoryNotFoundError:
      type: object
      properties:
        error:
          type: object
          properties:
            type:
              type: string
              enum:
                - memory.not_found
            message:
              type: string
            more:
              type: string
              enum:
                - https://docs.checkfu.com/reference/errors#memory-not-found
              description: Stable public documentation and remedy for this error type.
          required:
            - type
            - message
            - more
          additionalProperties: false
      required:
        - error
      additionalProperties: false
      description: The requested MemoryStore or document does not exist.
    MemoryConflictError:
      type: object
      properties:
        error:
          type: object
          properties:
            type:
              type: string
              enum:
                - memory.conflict
            message:
              type: string
            more:
              type: string
              enum:
                - https://docs.checkfu.com/reference/errors#memory-conflict
              description: Stable public documentation and remedy for this error type.
          required:
            - type
            - message
            - more
          additionalProperties: false
      required:
        - error
      additionalProperties: false
      description: The MemoryStore write conflicts with the current revision.
    IdempotencyConflictError:
      anyOf:
        - $ref: '#/components/schemas/ValidationIdempotencyConflictError'
        - $ref: '#/components/schemas/ValidationIdempotencyInProgressError'
      description: >-
        An idempotent mutation conflicts with a completed or in-progress request
        for the same key.
    RuntimeInternalError:
      type: object
      properties:
        error:
          type: object
          properties:
            type:
              type: string
              enum:
                - runtime.internal
            message:
              type: string
            more:
              type: string
              enum:
                - https://docs.checkfu.com/reference/errors#runtime-internal
              description: Stable public documentation and remedy for this error type.
          required:
            - type
            - message
            - more
          additionalProperties: false
      required:
        - error
      additionalProperties: false
      description: >-
        An unexpected internal failure occurred; the message contains an opaque
        incident reference.
    MemoryBackendUnavailableError:
      type: object
      properties:
        error:
          type: object
          properties:
            type:
              type: string
              enum:
                - memory.backend_unavailable
            message:
              type: string
            more:
              type: string
              enum:
                - >-
                  https://docs.checkfu.com/reference/errors#memory-backend-unavailable
              description: Stable public documentation and remedy for this error type.
          required:
            - type
            - message
            - more
          additionalProperties: false
      required:
        - error
      additionalProperties: false
      description: The MemoryStore backend cannot serve the operation and applied no write.
    MemoryDocumentContentUtf8Bytes:
      type: string
      allOf:
        - maxLength: 100000
          description: >-
            Memory document text no larger than 100000 bytes when encoded as
            UTF-8
    Objects_67:
      type: object
      properties:
        source_event_ids:
          type: array
          items:
            $ref: '#/components/schemas/EventId'
        source_revision_ids:
          type: array
          items:
            $ref: '#/components/schemas/MemoryRevisionId'
        source_refs:
          type: array
          items:
            type: string
            allOf:
              - minLength: 1
              - maxLength: 1024
        curation_run:
          $ref: '#/components/schemas/CurationRunId'
        confidence:
          type: string
          enum:
            - observed
            - inferred
            - uncertain
        valid_from:
          type: string
        supersedes:
          type: object
          properties:
            path:
              $ref: '#/components/schemas/MemoryPath'
            revision:
              $ref: '#/components/schemas/MemoryRevisionId'
          required:
            - path
            - revision
          additionalProperties: false
      required:
        - source_event_ids
        - source_revision_ids
        - source_refs
        - confidence
        - valid_from
      additionalProperties: false
    MemoryProposalId:
      type: string
      allOf:
        - pattern: ^mprop_[0-9a-f]{32}$
    MemoryRevisionId:
      type: string
      allOf:
        - pattern: ^mrev_[0-9a-f]{32}$
    Union_114:
      anyOf:
        - type: object
          properties:
            kind:
              type: string
              enum:
                - principal
            principal:
              $ref: '#/components/schemas/PrincipalId'
          required:
            - kind
            - principal
          additionalProperties: false
        - type: object
          properties:
            kind:
              type: string
              enum:
                - api_key
            key:
              $ref: '#/components/schemas/ApiKeyId'
          required:
            - kind
            - key
          additionalProperties: false
        - type: object
          properties:
            kind:
              type: string
              enum:
                - session_agent
            session:
              $ref: '#/components/schemas/SessionId'
            agent:
              $ref: '#/components/schemas/AgentId'
          required:
            - kind
            - session
            - agent
          additionalProperties: false
        - type: object
          properties:
            kind:
              type: string
              enum:
                - curator
            run:
              $ref: '#/components/schemas/CurationRunId'
          required:
            - kind
            - run
          additionalProperties: false
        - type: object
          properties:
            kind:
              type: string
              enum:
                - platform
            operation:
              type: string
              enum:
                - import
                - redaction
          required:
            - kind
            - operation
          additionalProperties: false
    Union_119:
      type: string
      enum:
        - open
        - approved
        - rejected
        - superseded
    Union_120:
      anyOf:
        - type: object
          properties:
            decision:
              type: string
              enum:
                - approved
                - rejected
            responder:
              $ref: '#/components/schemas/Union_114'
            decided_at:
              type: string
          required:
            - decision
            - responder
            - decided_at
          additionalProperties: false
        - type: 'null'
    ValidationIdempotencyConflictError:
      type: object
      properties:
        error:
          type: object
          properties:
            type:
              type: string
              enum:
                - validation.idempotency_conflict
            message:
              type: string
            more:
              type: string
              enum:
                - >-
                  https://docs.checkfu.com/reference/errors#validation-idempotency-conflict
              description: Stable public documentation and remedy for this error type.
          required:
            - type
            - message
            - more
          additionalProperties: false
      required:
        - error
      additionalProperties: false
      description: The Idempotency-Key is already bound to a different request.
    ValidationIdempotencyInProgressError:
      type: object
      properties:
        error:
          type: object
          properties:
            type:
              type: string
              enum:
                - validation.idempotency_in_progress
            message:
              type: string
            more:
              type: string
              enum:
                - >-
                  https://docs.checkfu.com/reference/errors#validation-idempotency-in-progress
              description: Stable public documentation and remedy for this error type.
          required:
            - type
            - message
            - more
          additionalProperties: false
      required:
        - error
      additionalProperties: false
      description: >-
        An identical idempotent request is still in progress and may be retried
        later.
    EventId:
      type: string
      allOf:
        - pattern: ^evt_[0-9a-f]{32}$
    CurationRunId:
      type: string
      allOf:
        - pattern: ^mcur_[0-9a-f]{32}$
    MemoryPath:
      type: string
    PrincipalId:
      type: string
      allOf:
        - pattern: ^prin_[0-9a-f]{32}$
    ApiKeyId:
      type: string
      allOf:
        - pattern: ^akey_[0-9a-f]{32}$
    SessionId:
      type: string
      allOf:
        - pattern: ^sess_[0-9a-f]{32}$
    AgentId:
      type: string
      allOf:
        - pattern: ^agent_[0-9a-f]{32}$
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````