> ## 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.

# Apply Memory Store changes

> Apply one atomic turn-sized batch of 1–200 `put` and `delete` operations against a target ref (canonical by default). `expected_base_revision` is a required compare-and-swap precondition and each operation carries its own `expected_sha256`; a stale base answers `memory.conflict` — never a silent rebase. Returns the sealed MemoryRevision, `diff_hash`, and changed paths, or `unchanged: true` when the tree was byte-identical and no revision was created. Send `Idempotency-Key`; a recovered retry reports `replayed: true`.

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}/changes
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}/changes:
    post:
      tags:
        - memoryStores
      summary: Apply Memory Store changes
      description: >-
        Apply one atomic turn-sized batch of 1–200 `put` and `delete` operations
        against a target ref (canonical by default). `expected_base_revision` is
        a required compare-and-swap precondition and each operation carries its
        own `expected_sha256`; a stale base answers `memory.conflict` — never a
        silent rebase. Returns the sealed MemoryRevision, `diff_hash`, and
        changed paths, or `unchanged: true` when the tree was byte-identical and
        no revision was created. Send `Idempotency-Key`; a recovered retry
        reports `replayed: true`.


        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.applyMemoryChanges
      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:
                target:
                  anyOf:
                    - type: object
                      properties:
                        kind:
                          type: string
                          enum:
                            - canonical
                      required:
                        - kind
                      additionalProperties: false
                    - type: object
                      properties:
                        kind:
                          type: string
                          enum:
                            - session
                        session:
                          $ref: '#/components/schemas/SessionId'
                      required:
                        - kind
                        - session
                      additionalProperties: false
                    - type: object
                      properties:
                        kind:
                          type: string
                          enum:
                            - proposal
                        proposal:
                          $ref: '#/components/schemas/MemoryProposalId'
                      required:
                        - kind
                        - proposal
                      additionalProperties: false
                    - type: object
                      properties:
                        kind:
                          type: string
                          enum:
                            - curation
                        run:
                          $ref: '#/components/schemas/CurationRunId'
                      required:
                        - kind
                        - run
                      additionalProperties: false
                expected_base_revision:
                  $ref: '#/components/schemas/MemoryRevisionId'
                operations:
                  type: array
                  items:
                    $ref: '#/components/schemas/Union_117'
                  allOf:
                    - minItems: 1
                    - maxItems: 200
              required:
                - expected_base_revision
                - operations
              additionalProperties: false
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  revision:
                    $ref: '#/components/schemas/Union_118'
                  diff_hash:
                    anyOf:
                      - type: string
                        allOf:
                          - pattern: ^sha256:[0-9a-f]{64}$
                      - type: 'null'
                  changed_paths:
                    $ref: '#/components/schemas/Arrays_23'
                  unchanged:
                    type: boolean
                  replayed:
                    type: boolean
                required:
                  - revision
                  - diff_hash
                  - changed_paths
                  - unchanged
                  - replayed
                additionalProperties: false
          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}$
    SessionId:
      type: string
      allOf:
        - pattern: ^sess_[0-9a-f]{32}$
    MemoryProposalId:
      type: string
      allOf:
        - pattern: ^mprop_[0-9a-f]{32}$
    CurationRunId:
      type: string
      allOf:
        - pattern: ^mcur_[0-9a-f]{32}$
    MemoryRevisionId:
      type: string
      allOf:
        - pattern: ^mrev_[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
    Union_118:
      anyOf:
        - $ref: '#/components/schemas/Objects_61'
        - type: 'null'
    Arrays_23:
      type: array
      items:
        $ref: '#/components/schemas/MemoryPath'
    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
    Objects_61:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/MemoryRevisionId'
        store:
          $ref: '#/components/schemas/MemoryStoreId'
        parent_revision:
          anyOf:
            - $ref: '#/components/schemas/MemoryRevisionId'
            - type: 'null'
        kind:
          type: string
          enum:
            - initial
            - direct
            - session_checkpoint
            - curation
            - proposal
            - redaction
            - import
        actor:
          $ref: '#/components/schemas/Union_114'
        document_count:
          type: integer
          allOf:
            - minimum: 0
        total_bytes:
          type: integer
          allOf:
            - minimum: 0
        tree_hash:
          type: string
          allOf:
            - pattern: ^sha256:[0-9a-f]{64}$
        created_at:
          type: string
      required:
        - id
        - store
        - parent_revision
        - kind
        - actor
        - document_count
        - total_bytes
        - tree_hash
        - created_at
      additionalProperties: false
    MemoryPath:
      type: string
    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}$
    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
    PrincipalId:
      type: string
      allOf:
        - pattern: ^prin_[0-9a-f]{32}$
    ApiKeyId:
      type: string
      allOf:
        - pattern: ^akey_[0-9a-f]{32}$
    AgentId:
      type: string
      allOf:
        - pattern: ^agent_[0-9a-f]{32}$
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````