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

# Update the reconcile settings

> Patch any subset. This is what the viewer's Settings tab writes. Turning on
`llm_entities`, `llm_conflicts`, or `llm_recheck` is what allows a run started by hand
to spend money; the daemon's own idle and startup runs stay on the free passes
whatever is saved here.




## OpenAPI

````yaml /openapi.yaml post /memory/reconcile/settings
openapi: 3.1.0
info:
  title: memloom local API
  version: 0.1.0
  description: >
    The HTTP API served by the `memloom serve` daemon on your machine. The CLI,
    the MCP server,

    and the viewer all route through this API. The daemon is the single owner of
    the store, so

    every client shares one consistent view of your memories.


    No authentication: the daemon binds to `127.0.0.1` only and is reachable
    solely from your

    own machine. Browser clients on other localhost ports are allowed via CORS.
servers:
  - url: http://127.0.0.1:4319
    description: Local memloom daemon
security: []
paths:
  /memory/reconcile/settings:
    post:
      summary: Update the reconcile settings
      description: >
        Patch any subset. This is what the viewer's Settings tab writes. Turning
        on

        `llm_entities`, `llm_conflicts`, or `llm_recheck` is what allows a run
        started by hand

        to spend money; the daemon's own idle and startup runs stay on the free
        passes

        whatever is saved here.
      operationId: setReconcileSettings
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReconcileSettings'
      responses:
        '200':
          description: The settings as saved.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReconcileSettings'
        '400':
          $ref: '#/components/responses/ValidationError'
components:
  schemas:
    ReconcileSettings:
      type: object
      description: >-
        Which passes a run does. The two free passes are on by default and the
        three that spend money are off, because a pass whose work the ledger can
        undo needs no permission and one that spends does. Every field is
        optional on a write.
      properties:
        invariants:
          type: boolean
          default: true
          description: Fix memory principle violations. Free, acts on its own.
        entities:
          type: boolean
          default: true
          description: Resolve duplicate entities. Free, acts on its own.
        llm_entities:
          type: boolean
          default: false
          description: Let a model resolve uncertain entity pairs. One call per pair.
        llm_conflicts:
          type: boolean
          default: false
          description: Let a model resolve memory conflicts. One call per conflict.
        llm_recheck:
          type: boolean
          default: false
          description: >-
            Look for contradictions the save path could not see. Up to 200 calls
            per run, roughly $0.55 at the ceiling.
        startupCatchUp:
          type: boolean
          default: true
          description: >-
            Run the free passes shortly after the daemon starts when the last
            run is more than 36 hours old.
  responses:
    ValidationError:
      description: The request body failed validation. `issues` names each offending field.
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: string
                example: invalid request body
              issues:
                type: array
                items:
                  type: object
                  properties:
                    path:
                      type: string
                      example: query
                    message:
                      type: string
                      example: query must be a non-empty string

````