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

# Diff a settings profile against the stored env

> The saved profile's env vs the CURRENT stored env, with REAL values (the UI
masks) — a preview, not a report. ``added`` / ``removed`` are key names, ``changed``
is ``[{key, old, new}]``. ``recycle_keys`` are the diff keys whose registry
``reload_class`` is ``recycle``; ``refused_keys`` are the diff keys the recycle
policy refuses upfront on this deployment shape
(``recycle_policy.capability_report().refused_keys``), named. 404 for an absent
name.



## OpenAPI

````yaml /openapi.json post /api/config/profiles/{name}/diff
openapi: 3.1.0
info:
  description: The operator HTTP surface served under /api/*.
  title: tai42-skeleton API
  version: 14.0.2
servers: []
security: []
paths:
  /api/config/profiles/{name}/diff:
    post:
      tags:
        - config
      summary: Diff a settings profile against the stored env
      description: >-
        The saved profile's env vs the CURRENT stored env, with REAL values (the
        UI

        masks) — a preview, not a report. ``added`` / ``removed`` are key names,
        ``changed``

        is ``[{key, old, new}]``. ``recycle_keys`` are the diff keys whose
        registry

        ``reload_class`` is ``recycle``; ``refused_keys`` are the diff keys the
        recycle

        policy refuses upfront on this deployment shape

        (``recycle_policy.capability_report().refused_keys``), named. 404 for an
        absent

        name.
      operationId: post_api_config_profiles_name_diff
      parameters:
        - in: path
          name: name
          required: true
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/ProfileDiff'
                required:
                  - data
                type: object
          description: Success.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Missing or invalid api key.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Resource not found.
        '501':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Error.
      security:
        - ApiKeyAuth: []
components:
  schemas:
    ProfileDiff:
      description: >-
        A settings-profile-vs-stored-env diff.
        ``added``/``removed``/``recycle_keys``/

        ``refused_keys`` are key names; ``changed`` carries the per-key value
        change.
      properties:
        added:
          items:
            type: string
          title: Added
          type: array
        changed:
          items:
            $ref: '#/components/schemas/ProfileDiffChange'
          title: Changed
          type: array
        recycle_keys:
          items:
            type: string
          title: Recycle Keys
          type: array
        refused_keys:
          items:
            type: string
          title: Refused Keys
          type: array
        removed:
          items:
            type: string
          title: Removed
          type: array
      required:
        - added
        - removed
        - changed
        - recycle_keys
        - refused_keys
      title: ProfileDiff
      type: object
    Error:
      properties:
        code:
          description: >-
            Stable machine-readable reason a client keys a dedicated error state
            on, present on refusals that opt in (e.g. a 501 not-configured
            refusal). Optional: absent when the error carries only a
            human-readable message.
          type: string
        error:
          type: string
      required:
        - error
      type: object
    ProfileDiffChange:
      description: >-
        One changed env key in a profile diff. ``old``/``new`` are the env
        VALUES on each

        side (real values — the UI masks); NEVER widened where rendered.
      properties:
        key:
          title: Key
          type: string
        new:
          title: New
          type: string
        old:
          title: Old
          type: string
      required:
        - key
        - old
        - new
      title: ProfileDiffChange
      type: object
  securitySchemes:
    ApiKeyAuth:
      in: header
      name: x-api-key
      type: apiKey

````