{
  "openapi": "3.1.2",
  "jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
  "info": {
    "title": "Indwel API Reference",
    "version": "mark-iii-launch-reference-r12",
    "summary": "The launch API for durable Work, governed cognition, and governed applications.",
    "description": "One logical API for durable Work, governed application execution, Conversation and Session Continuity, Memory, Scheduled Work, Parallel Cognition, evidence, effects, artifacts, receipts, and the developer control plane.\n\n**Production origin:** `https://api.indwel.ai`  \n**Development origin:** `https://api.dev.indwel.ai`\n\nAuthentication and backend authority determine what a principal may observe or change. Possession of a resource identifier never confers authority by itself.\n\n**Protocol posture:** OAuth 2.0 · Problem Details errors · explicit idempotency where declared · durable asynchronous work survives HTTP timeouts.",
    "contact": {
      "name": "Indwel"
    }
  },
  "servers": [
    {
      "url": "https://api.indwel.ai",
      "description": "Production"
    },
    {
      "url": "https://api.dev.indwel.ai",
      "description": "Development"
    }
  ],
  "tags": [
    {
      "name": "Platform",
      "description": "Service identity, capabilities, and release metadata.",
      "x-displayName": "Service & Capabilities"
    },
    {
      "name": "Account",
      "description": "Self-scoped account projections.",
      "x-displayName": "Account"
    },
    {
      "name": "Organizations",
      "description": "Organization and workspace authority visible to the authenticated principal.",
      "x-displayName": "Organizations"
    },
    {
      "name": "Projects",
      "description": "Developer projects and their bounded application-development context.",
      "x-displayName": "Projects"
    },
    {
      "name": "Environments",
      "description": "Project environments and deployment boundaries.",
      "x-displayName": "Environments"
    },
    {
      "name": "Clients",
      "description": "Bounded developer clients.",
      "x-displayName": "Clients"
    },
    {
      "name": "Credentials",
      "description": "Credential metadata, rotation, and revocation.",
      "x-displayName": "Credentials"
    },
    {
      "name": "App Templates",
      "description": "Governed application templates and their immutable definitions.",
      "x-displayName": "App Templates"
    },
    {
      "name": "Apps",
      "description": "Project-owned governed applications, versions, deployments, and installations.",
      "x-displayName": "Apps & Versions"
    },
    {
      "name": "Collections",
      "description": "Collections, Sources, and durable ingestion lineage.",
      "x-displayName": "Collections, Sources & Ingestion"
    },
    {
      "name": "Work",
      "description": "Durable longitudinal undertakings in the Indwel operating plane.",
      "x-displayName": "Work"
    },
    {
      "name": "Conversation & Sessions",
      "description": "Principal-bound interactive Conversation, bounded Sessions, and server-settled Continuity.",
      "x-displayName": "Conversation, Sessions & Continuity"
    },
    {
      "name": "Cases",
      "description": "Business App Engine Cases, governance, human authority, transitions, and Effects.",
      "x-displayName": "Cases, Governance & Effects"
    },
    {
      "name": "Runs",
      "description": "Case-bound governed cognition and its terminal projections.",
      "x-displayName": "Runs, Evidence & Receipts"
    },
    {
      "name": "Memory",
      "description": "Authenticated Memory V2 and Work/answer-bound Memory projections. Personal Memory is user-delegated only; client credentials cannot acquire account Memory authority.",
      "x-displayName": "Memory"
    },
    {
      "name": "Scheduled Work",
      "description": "Governed cognition due at a time or condition.",
      "x-displayName": "Scheduled Work"
    },
    {
      "name": "Parallel Cognition",
      "description": "Work-bound governed parallel programs and program-level cancellation.",
      "x-displayName": "Parallel Cognition"
    },
    {
      "name": "Operations",
      "description": "Explicit long-running control-plane operations and cancellation.",
      "x-displayName": "Operations"
    },
    {
      "name": "Events",
      "description": "Customer event destinations, deliveries, replay, and signing-secret lifecycle.",
      "x-displayName": "Events & Integrations"
    },
    {
      "name": "Activity",
      "description": "Customer-safe activity projections.",
      "x-displayName": "Activity"
    },
    {
      "name": "Usage",
      "description": "Quotas, metering, and usage projections.",
      "x-displayName": "Usage & Quotas"
    },
    {
      "name": "Commercial",
      "description": "Commercial metadata exposed as API resources.",
      "x-displayName": "Plans & Commercial Metadata"
    },
    {
      "name": "Compatibility",
      "description": "Launch-supported compatibility and convenience operations that do not define the canonical resource model.",
      "x-displayName": "Compatibility & Migration"
    }
  ],
  "paths": {
    "/v1/services": {
      "get": {
        "operationId": "listServices",
        "summary": "List API services",
        "description": "Returns non-tenant service discovery metadata. Current metadata routes require consolidation and privacy review before runtime binding.\n\n**Contract:** global public · read.",
        "tags": [
          "Platform"
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Successful response.",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceListResponse"
                },
                "examples": {
                  "representative": {
                    "summary": "Representative response",
                    "value": {
                      "data": {
                        "items": [
                          {
                            "serviceId": "platform",
                            "name": "Indwel Platform",
                            "status": "operational",
                            "apiVersions": [
                              "v1"
                            ],
                            "governance": "evidence-first",
                            "releaseId": null
                          }
                        ],
                        "nextCursor": null
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "x-indwel-resource-id": "resource.service",
        "x-indwel-tenancy": "global-public",
        "x-indwel-effect": {
          "level": "read",
          "receiptRequired": false
        }
      }
    },
    "/v1/capabilities": {
      "get": {
        "operationId": "listCapabilities",
        "summary": "List admitted capabilities",
        "description": "Returns lifecycle and claim posture for platform capabilities. It must not manufacture capability from route existence.\n\n**Contract:** scope `platform.read` · authenticated tenant context · read.",
        "tags": [
          "Platform"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "platform.read"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CapabilityListResponse"
                },
                "example": {
                  "data": {
                    "items": [
                      {
                        "capabilityId": "governed-app-templates",
                        "name": "Governed app templates",
                        "lifecycle": "preview",
                        "claimStatus": "qualified"
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "x-indwel-resource-id": "resource.capability",
        "x-indwel-tenancy": "authenticated-tenant-context",
        "x-indwel-effect": {
          "level": "read",
          "receiptRequired": false
        }
      }
    },
    "/v1/releases": {
      "get": {
        "operationId": "listPlatformReleases",
        "summary": "List platform releases",
        "description": "Returns release identities and compatibility notices bound to the atomic release record.\n\n**Contract:** scope `platform.read` · authenticated tenant context · read.",
        "tags": [
          "Platform"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "platform.read"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlatformReleaseListResponse"
                },
                "examples": {
                  "representative": {
                    "summary": "Representative response",
                    "value": {
                      "data": {
                        "items": [
                          {
                            "releaseId": "release_candidate_001",
                            "version": "0.1.0-design.1",
                            "releasedAt": "2026-07-23T21:40:00Z",
                            "status": "candidate",
                            "summary": "Design contract candidate",
                            "breakingChanges": []
                          }
                        ],
                        "nextCursor": null
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "x-indwel-resource-id": "resource.platformRelease",
        "x-indwel-tenancy": "authenticated-tenant-context",
        "x-indwel-effect": {
          "level": "read",
          "receiptRequired": false
        }
      }
    },
    "/v1/subscription-plans": {
      "get": {
        "operationId": "listSubscriptionPlans",
        "summary": "List subscription plans",
        "description": "Returns product packaging and entitlement metadata. Price, payment and availability remain governed by Financial Operations and commercial authority.\n\n**Contract:** global public · read.",
        "tags": [
          "Commercial"
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Successful response.",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubscriptionPlanListResponse"
                },
                "examples": {
                  "representative": {
                    "summary": "Representative response",
                    "value": {
                      "data": {
                        "items": [
                          {
                            "planKey": "team",
                            "label": "Team",
                            "seatLimit": 25,
                            "workspaceLimit": 3,
                            "storageBytesLimit": 107374182400,
                            "evidenceBytesLimit": 53687091200,
                            "monthlyRunsLimit": 5000,
                            "monthlyTokensLimit": 25000000,
                            "connectorSyncsLimit": 250,
                            "identityProviderModes": [
                              "native",
                              "oidc",
                              "saml"
                            ],
                            "environments": [
                              "dev",
                              "staging",
                              "prod"
                            ],
                            "auditRetentionDays": 180,
                            "supportTier": "standard",
                            "commercialStatus": "design-candidate"
                          }
                        ],
                        "nextCursor": null
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "x-indwel-resource-id": "resource.subscriptionPlan",
        "x-indwel-tenancy": "global-public",
        "x-indwel-effect": {
          "level": "read",
          "receiptRequired": false
        }
      }
    },
    "/v1/app-templates": {
      "get": {
        "operationId": "listAppTemplates",
        "summary": "List governed app templates",
        "description": "Lists curated app templates. This operation does not imply mutable customer App authority.\n\n**Contract:** scope `catalog.read` · authenticated tenant context · read.",
        "tags": [
          "App Templates"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "catalog.read"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppTemplateListResponse"
                },
                "examples": {
                  "representative": {
                    "summary": "Representative response",
                    "value": {
                      "data": {
                        "items": [
                          {
                            "appTemplateId": "contract-review",
                            "name": "Contract Review",
                            "description": "Governed contract review template.",
                            "domain": "legal-operations",
                            "lifecycle": "preview",
                            "version": "1.0.0-preview",
                            "defaultWorkflowId": "review",
                            "supportedRunFields": [
                              "objective"
                            ],
                            "requiredArtifacts": [
                              "review-memo"
                            ],
                            "links": {
                              "self": "/v1/app-templates/contract-review",
                              "workflows": "/v1/app-templates/contract-review/workflows",
                              "schemas": "/v1/app-templates/contract-review/schemas",
                              "actionDefinitions": "/v1/app-templates/contract-review/action-definitions",
                              "policies": "/v1/app-templates/contract-review/policies",
                              "capabilities": "/v1/app-templates/contract-review/capabilities"
                            }
                          }
                        ],
                        "nextCursor": null
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "x-indwel-resource-id": "resource.appTemplate",
        "x-indwel-tenancy": "authenticated-tenant-context",
        "x-indwel-effect": {
          "level": "read",
          "receiptRequired": false
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/Cursor"
          }
        ]
      }
    },
    "/v1/app-templates/{appTemplateId}": {
      "get": {
        "operationId": "getAppTemplate",
        "summary": "Get a governed app template",
        "description": "Returns one curated app template.\n\n**Contract:** scope `catalog.read` · authenticated tenant context · read.",
        "tags": [
          "App Templates"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "catalog.read"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppTemplateResponse"
                },
                "examples": {
                  "representative": {
                    "summary": "Representative response",
                    "value": {
                      "data": {
                        "appTemplateId": "contract-review",
                        "name": "Contract Review",
                        "description": "Governed contract review template.",
                        "domain": "legal-operations",
                        "lifecycle": "preview",
                        "version": "1.0.0-preview",
                        "defaultWorkflowId": "review",
                        "supportedRunFields": [
                          "objective"
                        ],
                        "requiredArtifacts": [
                          "review-memo"
                        ],
                        "links": {
                          "self": "/v1/app-templates/contract-review",
                          "workflows": "/v1/app-templates/contract-review/workflows",
                          "schemas": "/v1/app-templates/contract-review/schemas",
                          "actionDefinitions": "/v1/app-templates/contract-review/action-definitions",
                          "policies": "/v1/app-templates/contract-review/policies",
                          "capabilities": "/v1/app-templates/contract-review/capabilities"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "x-indwel-resource-id": "resource.appTemplate",
        "x-indwel-tenancy": "authenticated-tenant-context",
        "x-indwel-effect": {
          "level": "read",
          "receiptRequired": false
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/AppTemplateId"
          }
        ]
      }
    },
    "/v1/app-templates/{appTemplateId}/workflows": {
      "get": {
        "operationId": "listAppTemplateWorkflows",
        "summary": "List template workflows",
        "description": "Returns workflow definitions belonging to an app template.\n\n**Contract:** scope `catalog.read` · authenticated tenant context · read.",
        "tags": [
          "App Templates"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "catalog.read"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkflowListResponse"
                },
                "examples": {
                  "representative": {
                    "summary": "Representative response",
                    "value": {
                      "data": {
                        "items": [
                          {
                            "workflowId": "review",
                            "name": "Review",
                            "description": "Review a contract under admitted evidence and policy.",
                            "lifecycle": "preview",
                            "steps": [
                              {
                                "stepId": "admit-evidence",
                                "kind": "evidence-admission",
                                "description": "Admit governing evidence."
                              }
                            ]
                          }
                        ],
                        "nextCursor": null
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "x-indwel-resource-id": "resource.workflow",
        "x-indwel-tenancy": "authenticated-tenant-context",
        "x-indwel-effect": {
          "level": "read",
          "receiptRequired": false
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/AppTemplateId"
          }
        ]
      }
    },
    "/v1/app-templates/{appTemplateId}/workflows/{workflowId}": {
      "get": {
        "operationId": "getAppTemplateWorkflow",
        "summary": "Get a template workflow",
        "description": "Returns one workflow definition belonging to an app template.\n\n**Contract:** scope `catalog.read` · authenticated tenant context · read.",
        "tags": [
          "App Templates"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "catalog.read"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkflowResponse"
                },
                "examples": {
                  "representative": {
                    "summary": "Representative response",
                    "value": {
                      "data": {
                        "workflowId": "review",
                        "name": "Review",
                        "description": "Review a contract under admitted evidence and policy.",
                        "lifecycle": "preview",
                        "steps": [
                          {
                            "stepId": "admit-evidence",
                            "kind": "evidence-admission",
                            "description": "Admit governing evidence."
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "x-indwel-resource-id": "resource.workflow",
        "x-indwel-tenancy": "authenticated-tenant-context",
        "x-indwel-effect": {
          "level": "read",
          "receiptRequired": false
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/AppTemplateId"
          },
          {
            "$ref": "#/components/parameters/WorkflowId"
          }
        ]
      }
    },
    "/v1/app-templates/{appTemplateId}/schemas": {
      "get": {
        "operationId": "listAppTemplateSchemas",
        "summary": "List template schemas",
        "description": "Returns JSON Schema definitions belonging to an app template.\n\n**Contract:** scope `catalog.read` · authenticated tenant context · read.",
        "tags": [
          "App Templates"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "catalog.read"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SchemaDefinitionListResponse"
                },
                "examples": {
                  "representative": {
                    "summary": "Representative response",
                    "value": {
                      "data": {
                        "items": [
                          {
                            "schemaId": "contract-input",
                            "name": "Contract input",
                            "schema": {
                              "type": "object",
                              "required": [
                                "objective"
                              ],
                              "properties": {
                                "objective": {
                                  "type": "string"
                                }
                              }
                            }
                          }
                        ],
                        "nextCursor": null
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "x-indwel-resource-id": "resource.schema",
        "x-indwel-tenancy": "authenticated-tenant-context",
        "x-indwel-effect": {
          "level": "read",
          "receiptRequired": false
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/AppTemplateId"
          }
        ]
      }
    },
    "/v1/app-templates/{appTemplateId}/action-definitions": {
      "get": {
        "operationId": "listAppTemplateActionDefinitions",
        "summary": "List template action definitions",
        "description": "Returns action definitions and their effect and review posture.\n\n**Contract:** scope `catalog.read` · authenticated tenant context · read.",
        "tags": [
          "App Templates"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "catalog.read"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ActionDefinitionListResponse"
                },
                "examples": {
                  "representative": {
                    "summary": "Representative response",
                    "value": {
                      "data": {
                        "items": [
                          {
                            "actionId": "approve-contract",
                            "name": "Approve contract",
                            "effectLevel": "external-effect",
                            "reviewRequired": true,
                            "receiptRequired": true
                          }
                        ],
                        "nextCursor": null
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "x-indwel-resource-id": "resource.actionDefinition",
        "x-indwel-tenancy": "authenticated-tenant-context",
        "x-indwel-effect": {
          "level": "read",
          "receiptRequired": false
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/AppTemplateId"
          }
        ]
      }
    },
    "/v1/app-templates/{appTemplateId}/policies": {
      "get": {
        "operationId": "getAppTemplatePolicies",
        "summary": "Get template policies",
        "description": "Returns the policy catalog associated with an app template.\n\n**Contract:** scope `catalog.read` · authenticated tenant context · read.",
        "tags": [
          "App Templates"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "catalog.read"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PolicyCollectionResponse"
                },
                "examples": {
                  "representative": {
                    "summary": "Representative response",
                    "value": {
                      "data": {
                        "appTemplateId": "contract-review",
                        "policies": [
                          {
                            "policyId": "evidence-default",
                            "kind": "evidence",
                            "lifecycle": "preview"
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "x-indwel-resource-id": "resource.policy",
        "x-indwel-tenancy": "authenticated-tenant-context",
        "x-indwel-effect": {
          "level": "read",
          "receiptRequired": false
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/AppTemplateId"
          }
        ]
      }
    },
    "/v1/app-templates/{appTemplateId}/capabilities": {
      "get": {
        "operationId": "getAppTemplateCapabilities",
        "summary": "Get template capabilities",
        "description": "Returns capability counts and explicit limitations for an app template.\n\n**Contract:** scope `catalog.read` · authenticated tenant context · read.",
        "tags": [
          "App Templates"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "catalog.read"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppTemplateCapabilitiesResponse"
                },
                "examples": {
                  "representative": {
                    "summary": "Representative response",
                    "value": {
                      "data": {
                        "appTemplateId": "contract-review",
                        "workflowCount": 1,
                        "schemaCount": 1,
                        "actionCount": 1,
                        "policyCount": 1,
                        "lifecycle": "preview",
                        "limitations": [
                          "Execution semantics are resolved by the installed application and governed runtime."
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "x-indwel-resource-id": "resource.capability",
        "x-indwel-tenancy": "authenticated-tenant-context",
        "x-indwel-effect": {
          "level": "read",
          "receiptRequired": false
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/AppTemplateId"
          }
        ]
      }
    },
    "/v1/me": {
      "get": {
        "operationId": "getCurrentUser",
        "summary": "Get the current account",
        "description": "Returns the self-scoped durable account profile. Workspace authority remains separate.\n\n**Contract:** scope `account.read` · self scoped · read.",
        "tags": [
          "Account"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "account.read"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserAccountResponse"
                },
                "examples": {
                  "representative": {
                    "summary": "Representative response",
                    "value": {
                      "data": {
                        "userId": "user_01J0EXAMPLE",
                        "displayName": "Developer",
                        "email": "developer@example.com",
                        "preferences": {
                          "locale": "en-US",
                          "timezone": "America/New_York",
                          "defaultWorkspaceId": null,
                          "reducedMotion": false
                        },
                        "revision": "rev_0001"
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "x-indwel-resource-id": "resource.userAccount",
        "x-indwel-tenancy": "self-scoped",
        "x-indwel-effect": {
          "level": "read",
          "receiptRequired": false
        }
      }
    },
    "/v1/me/preferences": {
      "get": {
        "operationId": "getCurrentUserPreferences",
        "summary": "Get current account preferences",
        "description": "Returns self-scoped account preferences.\n\n**Contract:** scope `account.read` · self scoped · read.",
        "tags": [
          "Account"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "account.read"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserPreferencesResponse"
                },
                "examples": {
                  "representative": {
                    "summary": "Representative response",
                    "value": {
                      "data": {
                        "locale": "en-US",
                        "timezone": "America/New_York",
                        "defaultWorkspaceId": null,
                        "reducedMotion": false
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "x-indwel-resource-id": "resource.userAccount",
        "x-indwel-tenancy": "self-scoped",
        "x-indwel-effect": {
          "level": "read",
          "receiptRequired": false
        }
      },
      "patch": {
        "operationId": "updateCurrentUserPreferences",
        "summary": "Update current account preferences",
        "description": "Updates preferences under optimistic concurrency and idempotency.\n\n**Contract:** scope `account.write` · self scoped · bounded write · receipt required.",
        "tags": [
          "Account"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "account.write"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserPreferencesResponse"
                },
                "examples": {
                  "representative": {
                    "summary": "Representative response",
                    "value": {
                      "data": {
                        "locale": "en-US",
                        "timezone": "America/New_York",
                        "defaultWorkspaceId": null,
                        "reducedMotion": false
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "428": {
            "$ref": "#/components/responses/Problem428"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "x-indwel-resource-id": "resource.userAccount",
        "x-indwel-tenancy": "self-scoped",
        "x-indwel-effect": {
          "level": "bounded-write",
          "receiptRequired": true
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/IfMatch"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserPreferences"
              },
              "example": {
                "locale": "en-US",
                "timezone": "America/New_York",
                "reducedMotion": true
              }
            }
          }
        }
      }
    },
    "/v1/organisations": {
      "get": {
        "operationId": "listOrganisations",
        "summary": "List accessible organizations",
        "description": "Lists organizations in which the authenticated principal may create or use developer projects. It supplies the explicit tenant identifier required by raw-HTTP onboarding.\n\n**Contract:** scope `organizations.read` · principal accessible organizations · read.",
        "tags": [
          "Organizations"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "organisations.read"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "Accessible organizations.",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganisationListResponse"
                },
                "examples": {
                  "representative": {
                    "summary": "Representative response",
                    "value": {
                      "data": {
                        "items": [
                          {
                            "organisationId": "organ_01J0EXAMPLE",
                            "name": "Acme Holdings",
                            "slug": "acme",
                            "lifecycle": "active",
                            "createdAt": "2026-07-24T01:00:00Z"
                          }
                        ],
                        "nextCursor": null
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "x-indwel-resource-id": "resource.organisation",
        "x-indwel-tenancy": "principal-accessible-organisations",
        "x-indwel-effect": {
          "level": "read",
          "receiptRequired": false
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/Cursor"
          }
        ]
      }
    },
    "/v1/organisations/{organisationId}/workspaces": {
      "get": {
        "operationId": "listWorkspaces",
        "summary": "List accessible workspaces",
        "description": "Lists workspaces accessible to the principal within an organization. Workspace discovery is explicit so examples and SDKs never rely on hidden identifiers.\n\n**Contract:** scope `workspaces.read` · organization bound · read.",
        "tags": [
          "Organizations"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "workspaces.read"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "Accessible workspaces.",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkspaceListResponse"
                },
                "examples": {
                  "representative": {
                    "summary": "Representative response",
                    "value": {
                      "data": {
                        "items": [
                          {
                            "workspaceId": "works_01J0EXAMPLE",
                            "organisationId": "organ_01J0EXAMPLE",
                            "name": "Operations",
                            "slug": "operations",
                            "lifecycle": "active",
                            "createdAt": "2026-07-24T01:00:00Z"
                          }
                        ],
                        "nextCursor": null
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "x-indwel-resource-id": "resource.workspace",
        "x-indwel-tenancy": "organisation-bound",
        "x-indwel-effect": {
          "level": "read",
          "receiptRequired": false
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganisationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/Cursor"
          }
        ]
      }
    },
    "/v1/organisations/{organisationId}/projects": {
      "post": {
        "operationId": "createProject",
        "summary": "Create a developer project",
        "description": "Creates the developer-owned boundary for environments, clients, apps, events and usage. A project is not a governed App.\n\n**Contract:** scope `projects.write` · organization bound · bounded write · receipt required · idempotency required.",
        "tags": [
          "Projects"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "projects.write"
            ]
          }
        ],
        "responses": {
          "201": {
            "description": "Project created.",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              },
              "Location": {
                "description": "Canonical project URL.",
                "schema": {
                  "type": "string"
                }
              },
              "ETag": {
                "description": "Current project revision.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectResponse"
                },
                "example": {
                  "data": {
                    "projectId": "proje_01J0EXAMPLE",
                    "organisationId": "org_acme",
                    "name": "Company Answers",
                    "slug": "company-answers",
                    "lifecycle": "active",
                    "createdAt": "2026-09-01T15:00:00Z",
                    "updatedAt": "2026-09-01T15:00:00Z",
                    "revision": 1
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "x-indwel-resource-id": "resource.project",
        "x-indwel-tenancy": "organisation-bound",
        "x-indwel-effect": {
          "level": "bounded-write",
          "receiptRequired": true
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganisationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateProjectRequest"
              },
              "example": {
                "name": "Vendor Risk"
              }
            }
          }
        },
        "x-indwel-idempotency": {
          "required": true,
          "requestFingerprint": "method + canonical path + tenant boundary + canonical request body",
          "replayOutcome": "return original terminal response or stable in-progress state",
          "conflictingRequest": "409 IDEMPOTENCY_KEY_REUSED"
        }
      },
      "get": {
        "operationId": "listProjects",
        "summary": "List developer projects",
        "description": "Lists developer-owned project boundaries visible to the authorized principal.\n\n**Contract:** scope `projects.read` · organization project bound · read.",
        "tags": [
          "Projects"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "projects.read"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "List developer projects.",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectListResponse"
                },
                "examples": {
                  "representative": {
                    "summary": "Representative response",
                    "value": {
                      "data": {
                        "items": [
                          {
                            "projectId": "proje_01J0EXAMPLE",
                            "organisationId": "organ_01J0EXAMPLE",
                            "name": "Company Answers",
                            "slug": "company-answers",
                            "description": "Evidence-backed answers.",
                            "lifecycle": "active",
                            "revision": 1,
                            "createdAt": "2026-07-24T01:00:00Z",
                            "updatedAt": "2026-07-24T01:00:00Z"
                          }
                        ],
                        "nextCursor": null
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "x-indwel-resource-id": "resource.project",
        "x-indwel-tenancy": "organisation-project-bound",
        "x-indwel-effect": {
          "level": "read",
          "receiptRequired": false
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganisationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/Cursor"
          }
        ]
      }
    },
    "/v1/organisations/{organisationId}/projects/{projectId}/environments": {
      "post": {
        "operationId": "createEnvironment",
        "summary": "Create a project environment",
        "description": "Creates an isolated sandbox, development, staging or production boundary. Sandbox environments default to simulated effects.\n\n**Contract:** scope `environments.write` · organization project bound · bounded write · receipt required · idempotency required.",
        "tags": [
          "Projects"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "environments.write"
            ]
          }
        ],
        "responses": {
          "201": {
            "description": "Environment created.",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              },
              "Location": {
                "description": "Canonical environment URL.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EnvironmentResponse"
                },
                "example": {
                  "data": {
                    "environmentId": "envir_01J0EXAMPLE",
                    "projectId": "project_vendor_risk",
                    "name": "Reference Sandbox",
                    "slug": "reference",
                    "kind": "sandbox",
                    "effectMode": "simulated",
                    "lifecycle": "active",
                    "createdAt": "2026-09-01T15:00:00Z",
                    "organisationId": "org_acme",
                    "revision": 1,
                    "updatedAt": "2026-09-01T15:00:00Z"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "x-indwel-resource-id": "resource.environment",
        "x-indwel-tenancy": "organisation-project-bound",
        "x-indwel-effect": {
          "level": "bounded-write",
          "receiptRequired": true
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganisationId"
          },
          {
            "$ref": "#/components/parameters/ProjectId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateEnvironmentRequest"
              },
              "example": {
                "name": "Vendor Risk",
                "kind": "sandbox"
              }
            }
          }
        },
        "x-indwel-idempotency": {
          "required": true,
          "requestFingerprint": "method + canonical path + tenant boundary + canonical request body",
          "replayOutcome": "return original terminal response or stable in-progress state",
          "conflictingRequest": "409 IDEMPOTENCY_KEY_REUSED"
        }
      },
      "get": {
        "operationId": "listEnvironments",
        "summary": "List project environments",
        "description": "Lists sandbox, development, staging and production environments with explicit effect boundaries.\n\n**Contract:** scope `environments.read` · organization project bound · read.",
        "tags": [
          "Environments"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "environments.read"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "List project environments.",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EnvironmentListResponse"
                },
                "examples": {
                  "representative": {
                    "summary": "Representative response",
                    "value": {
                      "data": {
                        "items": [
                          {
                            "environmentId": "envir_01J0EXAMPLE",
                            "organisationId": "organ_01J0EXAMPLE",
                            "projectId": "proje_01J0EXAMPLE",
                            "name": "Reference Sandbox",
                            "slug": "reference-sandbox",
                            "kind": "sandbox",
                            "effectMode": "simulated",
                            "lifecycle": "active",
                            "revision": 1,
                            "createdAt": "2026-07-24T01:00:00Z",
                            "updatedAt": "2026-07-24T01:00:00Z"
                          }
                        ],
                        "nextCursor": null
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "x-indwel-resource-id": "resource.environment",
        "x-indwel-tenancy": "organisation-project-bound",
        "x-indwel-effect": {
          "level": "read",
          "receiptRequired": false
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganisationId"
          },
          {
            "$ref": "#/components/parameters/ProjectId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/Cursor"
          }
        ]
      }
    },
    "/v1/organisations/{organisationId}/projects/{projectId}/clients": {
      "post": {
        "operationId": "createClient",
        "summary": "Register a bounded developer client",
        "description": "Registers an environment-bound client profile. The registration remains pending and receives no OAuth credential until an authorized issuer binding is completed.\n\n**Contract:** scope `clients.write` · organization project environment bound · bounded write · receipt required · idempotency required.",
        "tags": [
          "Projects"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "clients.write"
            ]
          }
        ],
        "responses": {
          "201": {
            "description": "Pending client registration created; no OAuth credential issued.",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              },
              "Location": {
                "description": "Canonical client URL.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClientRegistrationReceiptResponse"
                },
                "examples": {
                  "representative": {
                    "summary": "Representative response",
                    "value": {
                      "data": {
                        "client": {
                          "clientId": "clien_01J0EXAMPLE",
                          "organisationId": "organ_01J0EXAMPLE",
                          "projectId": "proje_01J0EXAMPLE",
                          "environmentId": "envir_01J0EXAMPLE",
                          "name": "Company Answers Service",
                          "applicationType": "service",
                          "oauthClientType": "confidential",
                          "grantTypes": [
                            "client_credentials"
                          ],
                          "tokenEndpointAuthMethod": "client_secret_basic",
                          "redirectUris": [],
                          "pkceRequired": false,
                          "issuerBindingStatus": "pending",
                          "authorizationServerIssuer": null,
                          "scopes": [
                            "apps.write",
                            "collections.write",
                            "cases.write"
                          ],
                          "status": "pending",
                          "revision": 1,
                          "createdAt": "2026-07-24T01:00:00Z",
                          "updatedAt": "2026-07-24T01:00:00Z",
                          "lastRotatedAt": null
                        },
                        "credentialId": null,
                        "secret": null,
                        "secretDisplay": "not-issued-pending-issuer-binding",
                        "registeredAt": "2026-07-24T01:00:00Z",
                        "pkceRequired": false,
                        "issuerBindingStatus": "pending"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "x-indwel-resource-id": "resource.client",
        "x-indwel-tenancy": "organisation-project-environment-bound",
        "x-indwel-effect": {
          "level": "bounded-write",
          "receiptRequired": true
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganisationId"
          },
          {
            "$ref": "#/components/parameters/ProjectId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateClientRequest"
              },
              "example": {
                "name": "Company Answers Service",
                "environmentId": "envir_01J0EXAMPLE",
                "scopes": [
                  "apps.write",
                  "collections.write",
                  "cases.write"
                ],
                "applicationType": "service"
              }
            }
          }
        },
        "x-indwel-idempotency": {
          "required": true,
          "requestFingerprint": "method + canonical path + tenant boundary + canonical request body",
          "replayOutcome": "return original terminal response or stable in-progress state",
          "conflictingRequest": "409 IDEMPOTENCY_KEY_REUSED"
        }
      },
      "get": {
        "operationId": "listClients",
        "summary": "List developer clients",
        "description": "Lists bounded clients without secret material or secret hashes.\n\n**Contract:** scope `clients.read` · organization project bound · read.",
        "tags": [
          "Clients"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "clients.read"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "List developer clients.",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClientListResponse"
                },
                "examples": {
                  "representative": {
                    "summary": "Representative response",
                    "value": {
                      "data": {
                        "items": [
                          {
                            "clientId": "clien_01J0EXAMPLE",
                            "organisationId": "organ_01J0EXAMPLE",
                            "projectId": "proje_01J0EXAMPLE",
                            "environmentId": "envir_01J0EXAMPLE",
                            "name": "Company Answers Service",
                            "applicationType": "service",
                            "oauthClientType": "confidential",
                            "grantTypes": [
                              "client_credentials"
                            ],
                            "tokenEndpointAuthMethod": "client_secret_basic",
                            "redirectUris": [],
                            "pkceRequired": false,
                            "issuerBindingStatus": "pending",
                            "authorizationServerIssuer": null,
                            "scopes": [
                              "apps.read",
                              "collections.write"
                            ],
                            "status": "pending",
                            "revision": 1,
                            "createdAt": "2026-07-24T01:00:00Z",
                            "updatedAt": "2026-07-24T01:00:00Z",
                            "lastRotatedAt": null
                          }
                        ],
                        "nextCursor": null
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "x-indwel-resource-id": "resource.client",
        "x-indwel-tenancy": "organisation-project-bound",
        "x-indwel-effect": {
          "level": "read",
          "receiptRequired": false
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganisationId"
          },
          {
            "$ref": "#/components/parameters/ProjectId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/Cursor"
          }
        ]
      }
    },
    "/v1/organisations/{organisationId}/projects/{projectId}/apps": {
      "post": {
        "operationId": "createApp",
        "summary": "Create a governed app",
        "description": "Creates a project-owned governed business application identity. It does not create a credential client or publish an executable version.\n\n**Contract:** scope `apps.write` · organization project bound · bounded write · receipt required · idempotency required.",
        "tags": [
          "Apps"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "apps.write"
            ]
          }
        ],
        "responses": {
          "201": {
            "description": "App created.",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              },
              "Location": {
                "description": "Canonical app URL.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppResponse"
                },
                "examples": {
                  "representative": {
                    "summary": "Representative response",
                    "value": {
                      "data": {
                        "appId": "app_01J0EXAMPLE",
                        "projectId": "proje_01J0EXAMPLE",
                        "name": "Company Answers",
                        "slug": "company-answers",
                        "description": "Evidence-backed internal answers.",
                        "archetype": "authoritative-determination",
                        "lifecycle": "active",
                        "createdAt": "2026-07-24T01:00:00Z"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "x-indwel-resource-id": "resource.app",
        "x-indwel-tenancy": "organisation-project-bound",
        "x-indwel-effect": {
          "level": "bounded-write",
          "receiptRequired": true
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganisationId"
          },
          {
            "$ref": "#/components/parameters/ProjectId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateAppRequest"
              },
              "example": {
                "name": "Company Answers",
                "slug": "company-answers",
                "description": "Evidence-backed internal answers.",
                "archetype": "authoritative-determination"
              }
            }
          }
        },
        "x-indwel-idempotency": {
          "required": true,
          "requestFingerprint": "method + canonical path + tenant boundary + canonical request body",
          "replayOutcome": "return original terminal response or stable in-progress state",
          "conflictingRequest": "409 IDEMPOTENCY_KEY_REUSED"
        }
      }
    },
    "/v1/organisations/{organisationId}/projects/{projectId}/apps/{appId}/versions": {
      "post": {
        "operationId": "createAppVersion",
        "summary": "Create an app-version draft",
        "description": "Creates a versioned draft containing workflows, schemas, policies, installed action definitions and application-specific Cognitive Contracts. Published versions become immutable.\n\n**Contract:** scope `apps.write` · organization project app bound · bounded write · receipt required · idempotency required.",
        "tags": [
          "Apps"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "apps.write"
            ]
          }
        ],
        "responses": {
          "201": {
            "description": "App-version draft created.",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              },
              "Location": {
                "description": "Canonical app-version URL.",
                "schema": {
                  "type": "string"
                }
              },
              "ETag": {
                "description": "Current app-version revision.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppVersionResponse"
                },
                "examples": {
                  "representative": {
                    "summary": "Representative response",
                    "value": {
                      "data": {
                        "appVersionId": "appve_01J0EXAMPLE",
                        "appId": "app_01J0EXAMPLE",
                        "version": "1.0.0",
                        "status": "draft",
                        "revision": "rev_0001",
                        "manifestDigest": "sha256:example",
                        "validation": {
                          "status": "not-run",
                          "issueCount": 0
                        },
                        "createdAt": "2026-07-24T01:00:00Z",
                        "publishedAt": null
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "x-indwel-resource-id": "resource.appVersion",
        "x-indwel-tenancy": "organisation-project-app-bound",
        "x-indwel-effect": {
          "level": "bounded-write",
          "receiptRequired": true
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganisationId"
          },
          {
            "$ref": "#/components/parameters/ProjectId"
          },
          {
            "$ref": "#/components/parameters/AppId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateAppVersionRequest"
              },
              "example": {
                "version": "1.0.0",
                "manifest": {
                  "workflows": [
                    {
                      "workflowId": "answer",
                      "name": "Answer",
                      "description": "Answer under current authority.",
                      "lifecycle": "draft",
                      "steps": [
                        {
                          "stepId": "determine",
                          "kind": "governed-determination"
                        }
                      ],
                      "cognitiveContract": {
                        "schema": "indwel.cognitive-contract.v1",
                        "contractId": "contract.company-answers",
                        "version": "1.0.0",
                        "initialStage": "answering",
                        "transitions": [
                          {
                            "transitionId": "settle-answer",
                            "fromStage": "answering",
                            "toStage": "answered",
                            "evidenceRequirements": [
                              {
                                "requirementId": "evidence.company-policy",
                                "acceptedSources": [
                                  "deterministic-evaluator"
                                ]
                              }
                            ],
                            "humanAuthorityRequirements": []
                          }
                        ]
                      }
                    }
                  ],
                  "schemas": [
                    {
                      "schemaId": "question",
                      "name": "Question",
                      "schema": {
                        "type": "object",
                        "required": [
                          "question"
                        ],
                        "properties": {
                          "question": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  ],
                  "policies": [
                    {
                      "policyId": "evidence-current",
                      "kind": "evidence",
                      "lifecycle": "draft",
                      "configuration": {
                        "requireCurrentAuthority": true
                      }
                    }
                  ],
                  "actionDefinitions": [],
                  "cognitionProfileRef": null
                }
              }
            }
          }
        },
        "x-indwel-idempotency": {
          "required": true,
          "requestFingerprint": "method + canonical path + tenant boundary + canonical request body",
          "replayOutcome": "return original terminal response or stable in-progress state",
          "conflictingRequest": "409 IDEMPOTENCY_KEY_REUSED"
        }
      }
    },
    "/v1/organisations/{organisationId}/projects/{projectId}/apps/{appId}/versions/{appVersionId}:validate": {
      "post": {
        "operationId": "validateAppVersion",
        "summary": "Validate an app-version draft",
        "description": "Validates references, schemas, policies and effect declarations without publishing the version.\n\n**Contract:** scope `apps.write` · organization project app bound · bounded write · receipt required · idempotency required.",
        "tags": [
          "Apps"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "apps.write"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "Validation report.",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppVersionValidationReportResponse"
                },
                "examples": {
                  "representative": {
                    "summary": "Representative response",
                    "value": {
                      "data": {
                        "appVersionId": "appve_01J0EXAMPLE",
                        "status": "invalid",
                        "issues": [
                          {
                            "code": "COGNITION_PROFILE_AUTHORITY_UNAVAILABLE",
                            "severity": "error",
                            "path": "cognitionProfileRef",
                            "message": "The cognition profile reference could not be resolved through launch-admitted cognition-profile authority."
                          }
                        ],
                        "checkedAt": "2026-07-24T01:00:00Z"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "x-indwel-resource-id": "resource.appVersion",
        "x-indwel-tenancy": "organisation-project-app-bound",
        "x-indwel-effect": {
          "level": "bounded-write",
          "receiptRequired": true
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganisationId"
          },
          {
            "$ref": "#/components/parameters/ProjectId"
          },
          {
            "$ref": "#/components/parameters/AppId"
          },
          {
            "$ref": "#/components/parameters/AppVersionId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "x-indwel-idempotency": {
          "required": true,
          "requestFingerprint": "method + canonical path + tenant boundary + canonical request body",
          "replayOutcome": "return original terminal response or stable in-progress state",
          "conflictingRequest": "409 IDEMPOTENCY_KEY_REUSED"
        }
      }
    },
    "/v1/organisations/{organisationId}/projects/{projectId}/apps/{appId}/versions/{appVersionId}:publish": {
      "post": {
        "operationId": "publishAppVersion",
        "summary": "Publish an app version",
        "description": "Atomically publishes a validated app version. Published content is immutable; later changes require a new version.\n\n**Contract:** scope `apps.write` · organization project app bound · bounded write · receipt required · idempotency required.",
        "tags": [
          "Apps"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "apps.write"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "Published app version.",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              },
              "ETag": {
                "description": "Published revision.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppVersionResponse"
                },
                "examples": {
                  "representative": {
                    "summary": "Representative response",
                    "value": {
                      "data": {
                        "appVersionId": "appve_01J0EXAMPLE",
                        "appId": "app_01J0EXAMPLE",
                        "version": "1.0.0",
                        "status": "published",
                        "revision": "rev_0002",
                        "manifestDigest": "sha256:example",
                        "validation": {
                          "status": "valid",
                          "issueCount": 0
                        },
                        "createdAt": "2026-07-24T01:00:00Z",
                        "publishedAt": "2026-07-24T01:05:00Z"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "428": {
            "$ref": "#/components/responses/Problem428"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "x-indwel-resource-id": "resource.appVersion",
        "x-indwel-tenancy": "organisation-project-app-bound",
        "x-indwel-effect": {
          "level": "bounded-write",
          "receiptRequired": true
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganisationId"
          },
          {
            "$ref": "#/components/parameters/ProjectId"
          },
          {
            "$ref": "#/components/parameters/AppId"
          },
          {
            "$ref": "#/components/parameters/AppVersionId"
          },
          {
            "$ref": "#/components/parameters/IfMatch"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "x-indwel-idempotency": {
          "required": true,
          "requestFingerprint": "method + canonical path + tenant boundary + canonical request body",
          "replayOutcome": "return original terminal response or stable in-progress state",
          "conflictingRequest": "409 IDEMPOTENCY_KEY_REUSED"
        }
      }
    },
    "/v1/organisations/{organisationId}/projects/{projectId}/environments/{environmentId}/deployments": {
      "post": {
        "operationId": "createDeployment",
        "summary": "Deploy a published app version",
        "description": "Begins a durable deployment operation binding an immutable app version to an environment. The returned Operation is the status authority until terminal.\n\n**Contract:** scope `deployments.write` · organization project environment bound · bounded write · receipt required · idempotency required.",
        "tags": [
          "Apps"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "deployments.write"
            ]
          }
        ],
        "responses": {
          "202": {
            "description": "Deployment operation accepted.",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              },
              "Location": {
                "description": "Operation status URL.",
                "schema": {
                  "type": "string"
                }
              },
              "Retry-After": {
                "description": "Suggested poll interval in seconds.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OperationResponse"
                },
                "examples": {
                  "representative": {
                    "summary": "Representative response",
                    "value": {
                      "data": {
                        "operationId": "opera_01J0EXAMPLE",
                        "kind": "deployment.create",
                        "status": "queued",
                        "targetResourceId": "deplo_01J0EXAMPLE",
                        "createdAt": "2026-07-24T01:00:00Z",
                        "updatedAt": "2026-07-24T01:00:00Z",
                        "terminalAt": null,
                        "problem": null
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "x-indwel-resource-id": "resource.deployment",
        "x-indwel-tenancy": "organisation-project-environment-bound",
        "x-indwel-effect": {
          "level": "bounded-write",
          "receiptRequired": true
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganisationId"
          },
          {
            "$ref": "#/components/parameters/ProjectId"
          },
          {
            "$ref": "#/components/parameters/EnvironmentId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateDeploymentRequest"
              },
              "example": {
                "appVersionId": "appve_01J0EXAMPLE",
                "description": "Reference application deployment."
              }
            }
          }
        },
        "x-indwel-idempotency": {
          "required": true,
          "requestFingerprint": "method + canonical path + tenant boundary + canonical request body",
          "replayOutcome": "return original terminal response or stable in-progress state",
          "conflictingRequest": "409 IDEMPOTENCY_KEY_REUSED"
        }
      }
    },
    "/v1/organisations/{organisationId}/workspaces/{workspaceId}/installations": {
      "post": {
        "operationId": "createInstallation",
        "summary": "Install a deployment into a workspace",
        "description": "Grants a deployed app explicit workspace permissions and policy overlays. Installation authority is bounded to the target workspace.\n\n**Contract:** scope `installations.write` · organization workspace bound · bounded write · receipt required · idempotency required.",
        "tags": [
          "Apps"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "installations.write"
            ]
          }
        ],
        "responses": {
          "201": {
            "description": "Installation created.",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              },
              "Location": {
                "description": "Canonical installation URL.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InstallationResponse"
                },
                "examples": {
                  "representative": {
                    "summary": "Representative response",
                    "value": {
                      "data": {
                        "installationId": "insta_01J0EXAMPLE",
                        "organisationId": "organ_01J0EXAMPLE",
                        "workspaceId": "works_01J0EXAMPLE",
                        "deploymentId": "deplo_01J0EXAMPLE",
                        "permissions": [
                          "collections.read",
                          "cases.write"
                        ],
                        "status": "active",
                        "createdAt": "2026-07-24T01:00:00Z"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "x-indwel-resource-id": "resource.installation",
        "x-indwel-tenancy": "organisation-workspace-bound",
        "x-indwel-effect": {
          "level": "bounded-write",
          "receiptRequired": true
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganisationId"
          },
          {
            "$ref": "#/components/parameters/WorkspaceId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateInstallationRequest"
              },
              "example": {
                "deploymentId": "deplo_01J0EXAMPLE",
                "permissions": [
                  "collections.read",
                  "cases.write"
                ],
                "policyOverrides": {}
              }
            }
          }
        },
        "x-indwel-idempotency": {
          "required": true,
          "requestFingerprint": "method + canonical path + tenant boundary + canonical request body",
          "replayOutcome": "return original terminal response or stable in-progress state",
          "conflictingRequest": "409 IDEMPOTENCY_KEY_REUSED"
        }
      }
    },
    "/v1/organisations/{organisationId}/workspaces/{workspaceId}/collections": {
      "post": {
        "operationId": "createCollection",
        "summary": "Create an evidence collection",
        "description": "Creates a durable workspace collection under an explicit custody policy. Existing catalog projections do not satisfy this mutation.\n\n**Contract:** scope `collections.write` · organization workspace bound · bounded write · receipt required · idempotency required.",
        "tags": [
          "Collections"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "collections.write"
            ]
          }
        ],
        "responses": {
          "201": {
            "description": "Collection created.",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              },
              "Location": {
                "description": "Canonical collection URL.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CollectionResponse"
                },
                "examples": {
                  "representative": {
                    "summary": "Representative response",
                    "value": {
                      "data": {
                        "collectionId": "colle_01J0EXAMPLE",
                        "workspaceId": "works_01J0EXAMPLE",
                        "name": "Company policy authority",
                        "description": "Current employee policies.",
                        "status": "active",
                        "custodyPolicyId": null,
                        "createdAt": "2026-07-24T01:00:00Z"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "x-indwel-resource-id": "resource.collection",
        "x-indwel-tenancy": "organisation-workspace-bound",
        "x-indwel-effect": {
          "level": "bounded-write",
          "receiptRequired": true
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganisationId"
          },
          {
            "$ref": "#/components/parameters/WorkspaceId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCollectionRequest"
              },
              "example": {
                "name": "Company policy authority",
                "description": "Current employee policies.",
                "custodyPolicyId": null
              }
            }
          }
        },
        "x-indwel-idempotency": {
          "required": true,
          "requestFingerprint": "method + canonical path + tenant boundary + canonical request body",
          "replayOutcome": "return original terminal response or stable in-progress state",
          "conflictingRequest": "409 IDEMPOTENCY_KEY_REUSED"
        }
      }
    },
    "/v1/organisations/{organisationId}/workspaces/{workspaceId}/collections/{collectionId}/sources": {
      "post": {
        "operationId": "createSource",
        "summary": "Create a source and direct-upload session",
        "description": "Creates the source custody record and returns short-lived upload instructions. The upload URL is a one-time secret and is not retained in ordinary Source responses.\n\n**Contract:** scope `collections.write` · organization workspace collection bound · bounded write · receipt required · idempotency required.",
        "tags": [
          "Collections"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "collections.write"
            ]
          }
        ],
        "responses": {
          "201": {
            "description": "Source and upload instructions created.",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              },
              "Location": {
                "description": "Canonical source URL.",
                "schema": {
                  "type": "string"
                }
              },
              "Cache-Control": {
                "description": "Upload-instruction responses must not be stored.",
                "schema": {
                  "type": "string",
                  "example": "no-store"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SourceCreateResponse"
                },
                "examples": {
                  "representative": {
                    "summary": "Representative response",
                    "value": {
                      "data": {
                        "source": {
                          "sourceId": "sourc_01J0EXAMPLE",
                          "collectionId": "colle_01J0EXAMPLE",
                          "name": "employee-handbook.pdf",
                          "mediaType": "application/pdf",
                          "sizeBytes": 240000,
                          "sha256": "abc123",
                          "status": "awaiting-upload",
                          "custody": {
                            "classification": "internal-policy",
                            "authorityClass": "governing-policy",
                            "effectiveAt": "2026-07-01T00:00:00Z",
                            "retentionPolicyId": null
                          },
                          "createdAt": "2026-07-24T01:00:00Z"
                        },
                        "upload": {
                          "method": "PUT",
                          "url": "https://upload.indwel.example/one-time",
                          "headers": {
                            "content-type": "application/pdf"
                          },
                          "expiresAt": "2026-07-24T01:15:00Z"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "x-indwel-resource-id": "resource.source",
        "x-indwel-tenancy": "organisation-workspace-collection-bound",
        "x-indwel-effect": {
          "level": "bounded-write",
          "receiptRequired": true
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganisationId"
          },
          {
            "$ref": "#/components/parameters/WorkspaceId"
          },
          {
            "$ref": "#/components/parameters/CollectionId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSourceRequest"
              },
              "example": {
                "name": "employee-handbook.pdf",
                "mediaType": "application/pdf",
                "sizeBytes": 240000,
                "sha256": "abc123",
                "custody": {
                  "classification": "internal-policy",
                  "authorityClass": "governing-policy",
                  "effectiveAt": "2026-07-01T00:00:00Z",
                  "retentionPolicyId": null
                }
              }
            }
          }
        },
        "x-indwel-idempotency": {
          "required": true,
          "requestFingerprint": "method + canonical path + tenant boundary + canonical request body",
          "replayOutcome": "return original terminal response or stable in-progress state",
          "conflictingRequest": "409 IDEMPOTENCY_KEY_REUSED"
        }
      }
    },
    "/v1/organisations/{organisationId}/workspaces/{workspaceId}/collections/{collectionId}/sources/{sourceId}/ingestions": {
      "post": {
        "operationId": "createIngestion",
        "summary": "Start durable source ingestion",
        "description": "Begins parsing, custody verification and evidence admission for an uploaded source. The returned Operation is the processing status authority; the Ingestion resource preserves lineage.\n\n**Contract:** scope `collections.write` · organization workspace collection source bound · bounded write · receipt required · idempotency required.",
        "tags": [
          "Collections"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "collections.write"
            ]
          }
        ],
        "responses": {
          "202": {
            "description": "Ingestion operation accepted.",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              },
              "Location": {
                "description": "Operation status URL.",
                "schema": {
                  "type": "string"
                }
              },
              "Retry-After": {
                "description": "Suggested poll interval in seconds.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OperationResponse"
                },
                "examples": {
                  "representative": {
                    "summary": "Representative response",
                    "value": {
                      "data": {
                        "operationId": "opera_01J0INGEST",
                        "kind": "ingestion.create",
                        "status": "queued",
                        "targetResourceId": "inges_01J0EXAMPLE",
                        "createdAt": "2026-07-24T01:00:00Z",
                        "updatedAt": "2026-07-24T01:00:00Z",
                        "terminalAt": null,
                        "problem": null
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "x-indwel-resource-id": "resource.ingestion",
        "x-indwel-tenancy": "organisation-workspace-collection-source-bound",
        "x-indwel-effect": {
          "level": "bounded-write",
          "receiptRequired": true
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganisationId"
          },
          {
            "$ref": "#/components/parameters/WorkspaceId"
          },
          {
            "$ref": "#/components/parameters/CollectionId"
          },
          {
            "$ref": "#/components/parameters/SourceId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateIngestionRequest"
              },
              "example": {
                "parserProfile": null,
                "language": "en",
                "options": {}
              }
            }
          }
        },
        "x-indwel-idempotency": {
          "required": true,
          "requestFingerprint": "method + canonical path + tenant boundary + canonical request body",
          "replayOutcome": "return original terminal response or stable in-progress state",
          "conflictingRequest": "409 IDEMPOTENCY_KEY_REUSED"
        }
      }
    },
    "/v1/organisations/{organisationId}/workspaces/{workspaceId}/collections/{collectionId}/sources/{sourceId}/ingestions/{ingestionId}": {
      "get": {
        "operationId": "getIngestion",
        "summary": "Get ingestion state",
        "description": "Returns the durable ingestion attempt, terminal status, evidence-readiness state and any problem details.\n\n**Contract:** scope `collections.read` · organization workspace collection source bound · read.",
        "tags": [
          "Collections"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "collections.read"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "Ingestion state.",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IngestionResponse"
                },
                "examples": {
                  "representative": {
                    "summary": "Representative response",
                    "value": {
                      "data": {
                        "ingestionId": "inges_01J0EXAMPLE",
                        "sourceId": "sourc_01J0EXAMPLE",
                        "status": "ready",
                        "operationId": "opera_01J0INGEST",
                        "evidenceReady": true,
                        "createdAt": "2026-07-24T01:00:00Z",
                        "completedAt": "2026-07-24T01:02:00Z",
                        "problem": null
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "x-indwel-resource-id": "resource.ingestion",
        "x-indwel-tenancy": "organisation-workspace-collection-source-bound",
        "x-indwel-effect": {
          "level": "read",
          "receiptRequired": false
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganisationId"
          },
          {
            "$ref": "#/components/parameters/WorkspaceId"
          },
          {
            "$ref": "#/components/parameters/CollectionId"
          },
          {
            "$ref": "#/components/parameters/SourceId"
          },
          {
            "$ref": "#/components/parameters/IngestionId"
          }
        ]
      }
    },
    "/v1/organisations/{organisationId}/workspaces/{workspaceId}/cases": {
      "post": {
        "operationId": "createCase",
        "summary": "Create a governed business case",
        "description": "Creates the durable business object to which an installed app and workflow apply. Case creation does not itself invoke cognition.\n\n**Contract:** scope `cases.write` · organization workspace installation bound · bounded write · receipt required · idempotency required.",
        "tags": [
          "Cases"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "cases.write"
            ]
          }
        ],
        "responses": {
          "201": {
            "description": "Case created.",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              },
              "Location": {
                "description": "Canonical case URL.",
                "schema": {
                  "type": "string"
                }
              },
              "ETag": {
                "description": "Current case revision.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CaseResponse"
                },
                "examples": {
                  "representative": {
                    "summary": "Representative response",
                    "value": {
                      "data": {
                        "caseId": "case_01J0EXAMPLE",
                        "workspaceId": "works_01J0EXAMPLE",
                        "installationId": "insta_01J0EXAMPLE",
                        "workflowId": "answer",
                        "title": "Remote-work policy question",
                        "externalReference": "hr-2026-0042",
                        "status": "open",
                        "input": {
                          "question": "May I work remotely from another state for six weeks?"
                        },
                        "revision": "rev_0001",
                        "createdAt": "2026-07-24T01:00:00Z"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "examples": {
                  "installationIdAmbiguous": {
                    "value": {
                      "type": "https://api.indwel.ai/problems/installation-id-ambiguous",
                      "title": "Bad request",
                      "status": 400,
                      "detail": "appInstallationId and installationId must match when both are supplied",
                      "instance": "/v1/organisations/org_acme/workspaces/ws_risk/cases",
                      "code": "INSTALLATION_ID_AMBIGUOUS",
                      "traceId": "trace_01J0EXAMPLE",
                      "retryable": false
                    }
                  },
                  "installationIdRequired": {
                    "value": {
                      "type": "https://api.indwel.ai/problems/invalid-argument",
                      "title": "Bad request",
                      "status": 400,
                      "detail": "appInstallationId is required",
                      "instance": "/v1/organisations/org_acme/workspaces/ws_risk/cases",
                      "code": "INVALID_ARGUMENT",
                      "traceId": "trace_01J0EXAMPLE",
                      "retryable": false
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "x-indwel-resource-id": "resource.case",
        "x-indwel-tenancy": "organisation-workspace-installation-bound",
        "x-indwel-effect": {
          "level": "bounded-write",
          "receiptRequired": true
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganisationId"
          },
          {
            "$ref": "#/components/parameters/WorkspaceId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCaseRequest"
              },
              "example": {
                "installationId": "insta_01J0EXAMPLE",
                "workflowId": "answer",
                "title": "Remote-work policy question",
                "externalReference": "hr-2026-0042",
                "input": {
                  "question": "May I work remotely from another state for six weeks?"
                }
              }
            }
          }
        },
        "x-indwel-idempotency": {
          "required": true,
          "requestFingerprint": "method + canonical path + tenant boundary + canonical request body",
          "replayOutcome": "return original terminal response or stable in-progress state",
          "conflictingRequest": "409 IDEMPOTENCY_KEY_REUSED"
        }
      }
    },
    "/v1/organisations/{organisationId}/projects/{projectId}": {
      "get": {
        "operationId": "getProject",
        "summary": "Get a developer project",
        "description": "Returns one developer project without embedding credentials or tenant-internal authority.\n\n**Contract:** scope `projects.read` · organization project bound · read.",
        "tags": [
          "Projects"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "projects.read"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "Get a developer project.",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectResponse"
                },
                "examples": {
                  "representative": {
                    "summary": "Representative response",
                    "value": {
                      "data": {
                        "projectId": "proje_01J0EXAMPLE",
                        "organisationId": "organ_01J0EXAMPLE",
                        "name": "Company Answers",
                        "slug": "company-answers",
                        "description": "Evidence-backed answers.",
                        "lifecycle": "active",
                        "revision": 1,
                        "createdAt": "2026-07-24T01:00:00Z",
                        "updatedAt": "2026-07-24T01:00:00Z"
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "x-indwel-resource-id": "resource.project",
        "x-indwel-tenancy": "organisation-project-bound",
        "x-indwel-effect": {
          "level": "read",
          "receiptRequired": false
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganisationId"
          },
          {
            "$ref": "#/components/parameters/ProjectId"
          }
        ]
      }
    },
    "/v1/organisations/{organisationId}/projects/{projectId}/environments/{environmentId}": {
      "get": {
        "operationId": "getEnvironment",
        "summary": "Get a project environment",
        "description": "Returns an environment and its fail-closed effect mode.\n\n**Contract:** scope `environments.read` · organization project bound · read.",
        "tags": [
          "Environments"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "environments.read"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "Get a project environment.",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EnvironmentResponse"
                },
                "examples": {
                  "representative": {
                    "summary": "Representative response",
                    "value": {
                      "data": {
                        "environmentId": "envir_01J0EXAMPLE",
                        "organisationId": "organ_01J0EXAMPLE",
                        "projectId": "proje_01J0EXAMPLE",
                        "name": "Reference Sandbox",
                        "slug": "reference-sandbox",
                        "kind": "sandbox",
                        "effectMode": "simulated",
                        "lifecycle": "active",
                        "revision": 1,
                        "createdAt": "2026-07-24T01:00:00Z",
                        "updatedAt": "2026-07-24T01:00:00Z"
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "x-indwel-resource-id": "resource.environment",
        "x-indwel-tenancy": "organisation-project-bound",
        "x-indwel-effect": {
          "level": "read",
          "receiptRequired": false
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganisationId"
          },
          {
            "$ref": "#/components/parameters/ProjectId"
          },
          {
            "$ref": "#/components/parameters/EnvironmentId"
          }
        ]
      }
    },
    "/v1/organisations/{organisationId}/projects/{projectId}/clients/{clientId}": {
      "get": {
        "operationId": "getClient",
        "summary": "Get a developer client",
        "description": "Returns one client and its scopes, PKCE posture and lifecycle without credential material.\n\n**Contract:** scope `clients.read` · organization project bound · read.",
        "tags": [
          "Clients"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "clients.read"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "Get a developer client.",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClientResponse"
                },
                "examples": {
                  "representative": {
                    "summary": "Representative response",
                    "value": {
                      "data": {
                        "clientId": "clien_01J0EXAMPLE",
                        "organisationId": "organ_01J0EXAMPLE",
                        "projectId": "proje_01J0EXAMPLE",
                        "environmentId": "envir_01J0EXAMPLE",
                        "name": "Company Answers Service",
                        "applicationType": "service",
                        "oauthClientType": "confidential",
                        "grantTypes": [
                          "client_credentials"
                        ],
                        "tokenEndpointAuthMethod": "client_secret_basic",
                        "redirectUris": [],
                        "pkceRequired": false,
                        "issuerBindingStatus": "pending",
                        "authorizationServerIssuer": null,
                        "scopes": [
                          "apps.read",
                          "collections.write"
                        ],
                        "status": "pending",
                        "revision": 1,
                        "createdAt": "2026-07-24T01:00:00Z",
                        "updatedAt": "2026-07-24T01:00:00Z",
                        "lastRotatedAt": null
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "x-indwel-resource-id": "resource.client",
        "x-indwel-tenancy": "organisation-project-bound",
        "x-indwel-effect": {
          "level": "read",
          "receiptRequired": false
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganisationId"
          },
          {
            "$ref": "#/components/parameters/ProjectId"
          },
          {
            "$ref": "#/components/parameters/ClientId"
          }
        ]
      }
    },
    "/v1/organisations/{organisationId}/projects/{projectId}/clients/{clientId}/credentials": {
      "get": {
        "operationId": "listCredentials",
        "summary": "List credential metadata",
        "description": "Lists credential lifecycle metadata without hashes or plaintext secrets.\n\n**Contract:** scope `credentials.read` · organization project bound · read.",
        "tags": [
          "Credentials"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "credentials.read"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "List credential metadata.",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CredentialListResponse"
                },
                "examples": {
                  "representative": {
                    "summary": "Representative response",
                    "value": {
                      "data": {
                        "items": [
                          {
                            "credentialId": "crede_01J0EXAMPLE",
                            "organisationId": "organ_01J0EXAMPLE",
                            "projectId": "proje_01J0EXAMPLE",
                            "clientId": "clien_01J0EXAMPLE",
                            "status": "active",
                            "revision": 1,
                            "createdAt": "2026-07-24T01:00:00Z",
                            "updatedAt": "2026-07-24T01:00:00Z",
                            "expiresAt": null,
                            "validUntil": null
                          }
                        ],
                        "nextCursor": null
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "x-indwel-resource-id": "resource.credential",
        "x-indwel-tenancy": "organisation-project-bound",
        "x-indwel-effect": {
          "level": "read",
          "receiptRequired": false
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganisationId"
          },
          {
            "$ref": "#/components/parameters/ProjectId"
          },
          {
            "$ref": "#/components/parameters/ClientId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/Cursor"
          }
        ]
      }
    },
    "/v1/organisations/{organisationId}/projects/{projectId}/clients/{clientId}/credentials/{credentialId}:revoke": {
      "post": {
        "operationId": "revokeCredential",
        "summary": "Revoke a client credential",
        "description": "Revokes a bounded credential and returns its non-secret terminal metadata plus a receipt.\n\n**Contract:** scope `credentials.write` · organization project bound · bounded write · receipt required · idempotency required.",
        "tags": [
          "Credentials"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "credentials.write"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "Revoke a client credential.",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CredentialResponse"
                },
                "examples": {
                  "representative": {
                    "summary": "Representative response",
                    "value": {
                      "data": {
                        "credentialId": "crede_01J0EXAMPLE",
                        "organisationId": "organ_01J0EXAMPLE",
                        "projectId": "proje_01J0EXAMPLE",
                        "clientId": "clien_01J0EXAMPLE",
                        "status": "revoked",
                        "revision": 2,
                        "createdAt": "2026-07-24T01:00:00Z",
                        "updatedAt": "2026-07-24T01:00:00Z",
                        "expiresAt": null,
                        "validUntil": "2026-07-24T01:05:00Z"
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "x-indwel-resource-id": "resource.credential",
        "x-indwel-tenancy": "organisation-project-bound",
        "x-indwel-effect": {
          "level": "bounded-write",
          "receiptRequired": true
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganisationId"
          },
          {
            "$ref": "#/components/parameters/ProjectId"
          },
          {
            "$ref": "#/components/parameters/ClientId"
          },
          {
            "$ref": "#/components/parameters/CredentialId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "x-indwel-idempotency": {
          "required": true,
          "requestFingerprint": "method + canonical path + tenant boundary + canonical request body",
          "replayOutcome": "return original response and receipt",
          "conflictingRequest": "409 IDEMPOTENCY_KEY_REUSED"
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false
              },
              "example": {}
            }
          }
        }
      }
    },
    "/v1/organisations/{organisationId}/workspaces/{workspaceId}/cases/{caseId}/run-plans": {
      "post": {
        "operationId": "createRunPlan",
        "tags": [
          "Runs"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "runs.write"
            ]
          }
        ],
        "x-indwel-resource-id": "resource.runPlan",
        "x-indwel-tenancy": "organisation-workspace-case-bound",
        "x-indwel-effect": {
          "level": "bounded-write",
          "receiptRequired": true
        },
        "summary": "Create a governed run plan",
        "description": "Creates an Installation- and Case-revision-bound admission plan for canonical Case-bound governed cognition.\n\n**Contract:** scope `runs.write` · organization workspace case bound · bounded write · receipt required · idempotency required.",
        "responses": {
          "201": {
            "description": "Resource created and admitted.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RunPlanResponse"
                },
                "examples": {
                  "representative": {
                    "value": {
                      "data": {
                        "planId": "runpl_01J0EXAMPLE",
                        "caseId": "case_01J0EXAMPLE",
                        "caseRevision": 1,
                        "installationId": "insta_01J0EXAMPLE",
                        "workflowId": "answer",
                        "sessionId": "session-1",
                        "promptDigest": "sha256-prompt",
                        "requestedModeId": "ordinary",
                        "routeTemplateId": "native-ordinary",
                        "previewContractHash": "sha256-contract",
                        "previewAdmissionSnapshotDigest": "sha256-admission",
                        "executionBasisDigest": "sha256-basis",
                        "status": "admitted",
                        "createdAt": "2026-08-03T21:35:00Z"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganisationId"
          },
          {
            "$ref": "#/components/parameters/WorkspaceId"
          },
          {
            "name": "caseId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            }
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateRunPlanRequest"
              },
              "example": {
                "sessionId": "session-1",
                "prompt": "Assess the case evidence.",
                "history": [],
                "mode": "ordinary",
                "routeTemplateId": "native-ordinary"
              }
            }
          }
        },
        "x-indwel-idempotency": {
          "required": true,
          "requestFingerprint": "case authority + canonical request body",
          "replayOutcome": "return original terminal response",
          "conflictingRequest": "409 IDEMPOTENCY_KEY_REUSED"
        }
      }
    },
    "/v1/organisations/{organisationId}/workspaces/{workspaceId}/cases/{caseId}/runs": {
      "post": {
        "operationId": "createRun",
        "tags": [
          "Runs"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "runs.write"
            ]
          }
        ],
        "x-indwel-resource-id": "resource.run",
        "x-indwel-tenancy": "organisation-workspace-case-bound",
        "x-indwel-effect": {
          "level": "bounded-write",
          "receiptRequired": true
        },
        "summary": "Execute an admitted governed run",
        "description": "Executes the previously admitted Run Plan through canonical Case-bound cognition authority and returns the terminal governed Run projection.\n\n**Authority:** organization/workspace/Case and installed application authority.\n\n**Contract:** scope `runs.write` · organization workspace case bound · bounded write · receipt required · idempotency required.",
        "responses": {
          "201": {
            "description": "Resource created and admitted.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CaseRunResponse"
                },
                "example": {
                  "data": {
                    "caseId": "case_vendor_review",
                    "planId": "runplan_vendor_review_01",
                    "sourceOfTruth": "example",
                    "projection": {
                      "runId": "run_vendor_review_01",
                      "contractHash": "sha256:contract-vendor-review",
                      "lifecycleState": "settled_success",
                      "status": "complete",
                      "renderManifest": {
                        "renderManifestId": "render_vendor_review_01",
                        "renderManifestDigest": "sha256:example",
                        "evidenceBindingCount": 1,
                        "suppressedEvidenceCount": 1
                      },
                      "createdAt": "2026-09-01T15:00:00Z"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganisationId"
          },
          {
            "$ref": "#/components/parameters/WorkspaceId"
          },
          {
            "name": "caseId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            }
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateRunRequest"
              },
              "example": {
                "planId": "runplan_vendor_review_01",
                "prompt": "Assess the admitted vendor evidence against the installed workflow and return the governed result."
              }
            }
          }
        },
        "x-indwel-idempotency": {
          "required": true,
          "requestFingerprint": "case authority + canonical request body",
          "replayOutcome": "return original terminal response",
          "conflictingRequest": "409 IDEMPOTENCY_KEY_REUSED"
        },
        "x-indwel-semantics": {
          "authority": "organisation/workspace/Case and installed application authority",
          "effect": "bounded-write",
          "receipt": "required",
          "idempotency": "required"
        }
      }
    },
    "/v1/organisations/{organisationId}/workspaces/{workspaceId}/cases/{caseId}/runs/{runId}": {
      "get": {
        "operationId": "getRun",
        "tags": [
          "Runs"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "runs.read"
            ]
          }
        ],
        "x-indwel-resource-id": "resource.run",
        "x-indwel-tenancy": "organisation-workspace-case-bound",
        "x-indwel-effect": {
          "level": "read",
          "receiptRequired": false
        },
        "summary": "Get an authorized run projection",
        "description": "Returns the terminal governed Run projection after Installation and principal-scope checks.\n\n**Contract:** scope `runs.read` · organization workspace case bound · read.",
        "responses": {
          "200": {
            "description": "Authorized projection.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CaseRunResponse"
                },
                "example": {
                  "data": {
                    "caseId": "case_vendor_review",
                    "planId": "runplan_vendor_review_01",
                    "sourceOfTruth": "example",
                    "projection": {
                      "runId": "run_vendor_review_01",
                      "contractHash": "sha256:contract-vendor-review",
                      "lifecycleState": "settled_success",
                      "status": "complete",
                      "renderManifest": {
                        "renderManifestId": "render_vendor_review_01",
                        "renderManifestDigest": "sha256:example",
                        "evidenceBindingCount": 1,
                        "suppressedEvidenceCount": 1
                      },
                      "createdAt": "2026-09-01T15:00:00Z"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganisationId"
          },
          {
            "$ref": "#/components/parameters/WorkspaceId"
          },
          {
            "name": "caseId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            }
          },
          {
            "name": "runId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            }
          }
        ]
      }
    },
    "/v1/organisations/{organisationId}/workspaces/{workspaceId}/cases/{caseId}/runs/{runId}/evidence": {
      "get": {
        "operationId": "listEvidence",
        "tags": [
          "Runs"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "runs.read"
            ]
          }
        ],
        "x-indwel-resource-id": "resource.evidence",
        "x-indwel-tenancy": "organisation-workspace-case-bound",
        "x-indwel-effect": {
          "level": "read",
          "receiptRequired": false
        },
        "summary": "List terminal run evidence",
        "description": "Lists admitted, suppressed and unsupported evidence from the terminal governed Run render manifest.\n\n**Contract:** scope `runs.read` · organization workspace case bound · read.",
        "responses": {
          "200": {
            "description": "Authorized projection.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RunEvidenceListResponse"
                },
                "example": {
                  "data": {
                    "runId": "run_vendor_review_01",
                    "caseId": "case_vendor_review",
                    "sourceOfTruth": "example",
                    "renderManifestId": "render_vendor_review_01",
                    "renderManifestDigest": "sha256:example",
                    "items": [
                      {
                        "evidenceId": "evidence_vendor_policy_01",
                        "disposition": "admitted"
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganisationId"
          },
          {
            "$ref": "#/components/parameters/WorkspaceId"
          },
          {
            "name": "caseId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            }
          },
          {
            "name": "runId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            }
          }
        ]
      }
    },
    "/v1/organisations/{organisationId}/workspaces/{workspaceId}/cases/{caseId}/business-transitions/{transitionId}": {
      "post": {
        "operationId": "advanceCognitiveBusinessTransition",
        "tags": [
          "Cases"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "case-transitions.write"
            ]
          }
        ],
        "x-indwel-resource-id": "resource.case",
        "x-indwel-tenancy": "organisation-workspace-case-bound",
        "x-indwel-effect": {
          "level": "bounded-write",
          "receiptRequired": true
        },
        "summary": "Attempt a Cognitive Contract-governed Case business transition",
        "description": "Attempts the named transition against the Case-retained canonical Cognitive Contract. The client supplies only transition identity, expected Case revision and Idempotency-Key. Destination stage, contract, evidence state, human approvals and transition authority cannot be client-submitted. OAuth permission authorizes only the attempt; organizational approval must already exist as a durable Work governance receipt.\n\n**Contract:** scope `case-transitions.write` · organization workspace case bound · bounded write · receipt required · idempotency required.",
        "responses": {
          "200": {
            "description": "Transition adjudicated. A withheld adjudication leaves the Case business stage unchanged; an authorized adjudication advances only the business stage while preserving administrative Case state.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "data"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "case",
                        "transitionId",
                        "disposition",
                        "authorityReceiptId"
                      ],
                      "properties": {
                        "case": {
                          "type": "object"
                        },
                        "transitionId": {
                          "type": "string"
                        },
                        "disposition": {
                          "type": "string",
                          "enum": [
                            "authorised",
                            "withheld"
                          ]
                        },
                        "authorityReceiptId": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "examples": {
                  "representative": {
                    "summary": "Governed business-transition adjudication",
                    "value": {
                      "data": {
                        "case": {
                          "caseId": "case_01J0EXAMPLE",
                          "state": "in-progress",
                          "businessStage": "approved",
                          "revision": 3
                        },
                        "transitionId": "approve-review",
                        "disposition": "authorised",
                        "authorityReceiptId": "work_transition_sha256"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "examples": {
                  "idempotencyKeyRequired": {
                    "value": {
                      "type": "https://api.indwel.ai/problems/idempotency-key-required",
                      "title": "Bad request",
                      "status": 400,
                      "detail": "Idempotency-Key is required for this operation",
                      "instance": "/v1/organisations/org_acme/workspaces/ws_risk/cases/case_vendor/business-transitions/approve",
                      "code": "IDEMPOTENCY_KEY_REQUIRED",
                      "traceId": "trace_01J0EXAMPLE",
                      "retryable": false
                    }
                  },
                  "invalidExpectedRevision": {
                    "value": {
                      "type": "https://api.indwel.ai/problems/invalid-argument",
                      "title": "Bad request",
                      "status": 400,
                      "detail": "expectedRevision must be a positive integer",
                      "instance": "/v1/organisations/org_acme/workspaces/ws_risk/cases/case_vendor/business-transitions/approve",
                      "code": "INVALID_ARGUMENT",
                      "traceId": "trace_01J0EXAMPLE",
                      "retryable": false
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganisationId"
          },
          {
            "$ref": "#/components/parameters/WorkspaceId"
          },
          {
            "name": "caseId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            }
          },
          {
            "name": "transitionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            }
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "expectedRevision"
                ],
                "properties": {
                  "expectedRevision": {
                    "type": "integer",
                    "minimum": 1
                  }
                }
              },
              "example": {
                "expectedRevision": 2
              }
            }
          }
        },
        "x-indwel-idempotency": {
          "required": true,
          "requestFingerprint": "organisation + workspace + case + transition identity + expected Case revision",
          "replayOutcome": "return the original durable transition adjudication; later evidence cannot reinterpret the same attempt",
          "conflictingRequest": "409 IDEMPOTENCY_KEY_REUSED"
        }
      }
    },
    "/v1/organisations/{organisationId}/workspaces/{workspaceId}/cases/{caseId}/governance": {
      "get": {
        "operationId": "getCaseGovernanceProjection",
        "tags": [
          "Cases"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "cases.read"
            ]
          }
        ],
        "x-indwel-resource-id": "resource.case",
        "x-indwel-tenancy": "organisation-workspace-case-bound",
        "x-indwel-effect": {
          "level": "read-only",
          "receiptRequired": false
        },
        "summary": "Read the governed Case Attention projection",
        "description": "Returns a server-owned, receipt-backed projection of the Case administrative state, Cognitive Contract business stage, current transition readiness, exact evidence and human-authority requirement posture, and active causal governance signals. The client receives projection authority only and must not reconstruct adjudication from raw ledger receipts.\n\n**Contract:** scope `cases.read` · organization workspace case bound · read only.",
        "responses": {
          "200": {
            "description": "Current governed Case projection.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                },
                "examples": {
                  "representative": {
                    "summary": "Receipt-backed governed Case Attention projection",
                    "value": {
                      "schema": "indwel.developer-case-governance-projection.v1",
                      "organisationId": "org_acme",
                      "workspaceId": "ws_vendor_risk",
                      "caseId": "case_01J0EXAMPLE",
                      "revision": 2,
                      "administrativeState": "in-progress",
                      "businessStage": "intake",
                      "contract": {
                        "contractId": "contract.vendor-risk-review",
                        "version": "1.0.0"
                      },
                      "attention": {
                        "posture": "attention",
                        "activeVetoCount": 0,
                        "unresolvedVarianceCount": 0,
                        "pendingNotificationCount": 0,
                        "activeEscalationCount": 0,
                        "unsatisfiedRequirementCount": 1
                      },
                      "transitions": [],
                      "receiptCount": 1
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganisationId"
          },
          {
            "$ref": "#/components/parameters/WorkspaceId"
          },
          {
            "name": "caseId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            }
          }
        ]
      }
    },
    "/v1/organisations/{organisationId}/workspaces/{workspaceId}/cases/{caseId}/human-authority-requirements/{requirementId}/participations": {
      "post": {
        "operationId": "recordCaseHumanParticipation",
        "tags": [
          "Cases"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "case-participation.write"
            ]
          }
        ],
        "x-indwel-resource-id": "resource.case",
        "x-indwel-tenancy": "organisation-workspace-case-bound",
        "x-indwel-effect": {
          "level": "governed-human-participation",
          "receiptRequired": true
        },
        "summary": "Record a governed human participation decision",
        "description": "Records an authenticated participant decision against one exact current Cognitive Contract human-authority requirement. The client may supply only Case revision and disposition. Platform resolves authority class and participant identity, verifies organizational eligibility, and writes an immutable human-authority receipt. A contradictory later decision under the single-authority policy is rejected rather than timestamp-arbitrated.\n\n**Contract:** scope `case-participation.write` · organization workspace case bound · governed human participation · receipt required · idempotency required.",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganisationId"
          },
          {
            "$ref": "#/components/parameters/WorkspaceId"
          },
          {
            "name": "caseId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            }
          },
          {
            "name": "requirementId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            }
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "expectedRevision",
                  "disposition"
                ],
                "properties": {
                  "expectedRevision": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "disposition": {
                    "type": "string",
                    "enum": [
                      "approved",
                      "rejected",
                      "abstained"
                    ]
                  }
                }
              },
              "example": {
                "expectedRevision": 7,
                "disposition": "approved"
              }
            }
          }
        },
        "x-indwel-idempotency": {
          "required": true,
          "requestFingerprint": "organisation + workspace + case + current human-authority requirement + authenticated participant + disposition",
          "replayOutcome": "return the existing immutable single-authority decision when semantically identical",
          "conflictingRequest": "409 HUMAN_AUTHORITY_DECISION_ALREADY_SETTLED"
        },
        "responses": {
          "200": {
            "description": "Equivalent existing single-authority decision returned.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "data"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "receiptId",
                        "requirementId",
                        "disposition"
                      ],
                      "properties": {
                        "receiptId": {
                          "type": "string"
                        },
                        "requirementId": {
                          "type": "string"
                        },
                        "disposition": {
                          "type": "string",
                          "enum": [
                            "approved",
                            "rejected",
                            "abstained"
                          ]
                        }
                      }
                    }
                  }
                },
                "examples": {
                  "representative": {
                    "summary": "Governed human-participation receipt",
                    "value": {
                      "data": {
                        "receiptId": "work_human_sha256",
                        "requirementId": "authority.risk-owner",
                        "disposition": "approved"
                      }
                    }
                  }
                }
              }
            }
          },
          "201": {
            "description": "Human participation recorded.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "data"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "receiptId",
                        "requirementId",
                        "disposition"
                      ],
                      "properties": {
                        "receiptId": {
                          "type": "string"
                        },
                        "requirementId": {
                          "type": "string"
                        },
                        "disposition": {
                          "type": "string",
                          "enum": [
                            "approved",
                            "rejected",
                            "abstained"
                          ]
                        }
                      }
                    }
                  }
                },
                "examples": {
                  "representative": {
                    "summary": "Governed human-participation receipt",
                    "value": {
                      "data": {
                        "receiptId": "work_human_sha256",
                        "requirementId": "authority.risk-owner",
                        "disposition": "approved"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "examples": {
                  "idempotencyKeyRequired": {
                    "value": {
                      "type": "https://api.indwel.ai/problems/idempotency-key-required",
                      "title": "Bad request",
                      "status": 400,
                      "detail": "Idempotency-Key is required for this operation",
                      "instance": "/v1/organisations/org_acme/workspaces/ws_risk/cases/case_vendor/human-authority-requirements/har_01/participations",
                      "code": "IDEMPOTENCY_KEY_REQUIRED",
                      "traceId": "trace_01J0EXAMPLE",
                      "retryable": false
                    }
                  },
                  "invalidExpectedRevision": {
                    "value": {
                      "type": "https://api.indwel.ai/problems/invalid-argument",
                      "title": "Bad request",
                      "status": 400,
                      "detail": "expectedRevision must be a positive integer",
                      "instance": "/v1/organisations/org_acme/workspaces/ws_risk/cases/case_vendor/human-authority-requirements/har_01/participations",
                      "code": "INVALID_ARGUMENT",
                      "traceId": "trace_01J0EXAMPLE",
                      "retryable": false
                    }
                  },
                  "invalidDisposition": {
                    "value": {
                      "type": "https://api.indwel.ai/problems/invalid-argument",
                      "title": "Bad request",
                      "status": 400,
                      "detail": "disposition must be approved, rejected or abstained",
                      "instance": "/v1/organisations/org_acme/workspaces/ws_risk/cases/case_vendor/human-authority-requirements/har_01/participations",
                      "code": "INVALID_ARGUMENT",
                      "traceId": "trace_01J0EXAMPLE",
                      "retryable": false
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        }
      }
    },
    "/v1/organisations/{organisationId}/workspaces/{workspaceId}/cases/{caseId}/effects/{actionId}": {
      "post": {
        "operationId": "executeInstalledEffect",
        "tags": [
          "Cases"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "effects.write"
            ]
          }
        ],
        "x-indwel-resource-id": "resource.case",
        "x-indwel-tenancy": "organisation-workspace-case-bound",
        "x-indwel-effect": {
          "level": "external-effect",
          "receiptRequired": true
        },
        "summary": "Execute an installed governed effect",
        "description": "Executes only an effect action declared by the immutable installed app version. Platform resolves the installed action, Cognitive Contract authority, durable human participation, provider binding, idempotency and postcondition verification before settlement; the client cannot create an arbitrary effect definition.\n\n**Authority:** installed immutable App Version + Cognitive Contract + durable human participation where required.\n\n**Contract:** scope `effects.write` · organization workspace case bound · external effect · receipt required · idempotency required.",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganisationId"
          },
          {
            "$ref": "#/components/parameters/WorkspaceId"
          },
          {
            "name": "caseId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            }
          },
          {
            "name": "actionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            }
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "expectedRevision",
                  "payload",
                  "expectedPostcondition"
                ],
                "properties": {
                  "expectedRevision": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "payload": {
                    "type": "object"
                  },
                  "expectedPostcondition": {
                    "type": "object"
                  }
                }
              },
              "example": {
                "expectedRevision": 3,
                "payload": {
                  "release": "ACT-991",
                  "state": "deployed"
                },
                "expectedPostcondition": {
                  "release": "ACT-991",
                  "state": "deployed"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Equivalent settled effect returned or newly settled effect completed.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                },
                "examples": {
                  "representative": {
                    "value": {
                      "data": {
                        "actionId": "release.deploy",
                        "settlementState": "settled",
                        "receiptId": "effect_receipt_sha256",
                        "providerRequestId": "sandbox_request_sha256",
                        "verificationReceiptId": "sandbox_verify_sha256"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "examples": {
                  "idempotencyKeyRequired": {
                    "value": {
                      "type": "https://api.indwel.ai/problems/idempotency-key-required",
                      "title": "Bad request",
                      "status": 400,
                      "detail": "Idempotency-Key is required for this operation",
                      "instance": "/v1/organisations/org_acme/workspaces/ws_risk/cases/case_vendor/effects/notify_vendor",
                      "code": "IDEMPOTENCY_KEY_REQUIRED",
                      "traceId": "trace_01J0EXAMPLE",
                      "retryable": false
                    }
                  },
                  "invalidExpectedRevision": {
                    "value": {
                      "type": "https://api.indwel.ai/problems/invalid-argument",
                      "title": "Bad request",
                      "status": 400,
                      "detail": "expectedRevision must be a positive integer",
                      "instance": "/v1/organisations/org_acme/workspaces/ws_risk/cases/case_vendor/effects/notify_vendor",
                      "code": "INVALID_ARGUMENT",
                      "traceId": "trace_01J0EXAMPLE",
                      "retryable": false
                    }
                  },
                  "payloadObjectRequired": {
                    "value": {
                      "type": "https://api.indwel.ai/problems/invalid-argument",
                      "title": "Bad request",
                      "status": 400,
                      "detail": "payload must be an object",
                      "instance": "/v1/organisations/org_acme/workspaces/ws_risk/cases/case_vendor/effects/notify_vendor",
                      "code": "INVALID_ARGUMENT",
                      "traceId": "trace_01J0EXAMPLE",
                      "retryable": false
                    }
                  },
                  "postconditionObjectRequired": {
                    "value": {
                      "type": "https://api.indwel.ai/problems/invalid-argument",
                      "title": "Bad request",
                      "status": 400,
                      "detail": "expectedPostcondition must be an object",
                      "instance": "/v1/organisations/org_acme/workspaces/ws_risk/cases/case_vendor/effects/notify_vendor",
                      "code": "INVALID_ARGUMENT",
                      "traceId": "trace_01J0EXAMPLE",
                      "retryable": false
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "x-indwel-semantics": {
          "authority": "installed immutable App Version + Cognitive Contract + durable human participation where required",
          "effect": "external-effect",
          "receipt": "required",
          "idempotency": "required"
        }
      }
    },
    "/v1/organisations/{organisationId}/workspaces/{workspaceId}/cases/{caseId}/runs/{runId}/artifacts": {
      "get": {
        "operationId": "listArtifacts",
        "tags": [
          "Runs"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "runs.read"
            ]
          }
        ],
        "x-indwel-resource-id": "resource.artifact",
        "x-indwel-tenancy": "organisation-workspace-case-bound",
        "x-indwel-effect": {
          "level": "read",
          "receiptRequired": false
        },
        "summary": "List terminal run artifacts",
        "description": "Projects the stable terminal work product for an authorized developer Run. The projection is derived from durable terminal Run truth and includes the answer/display artifact without exposing private execution state.\n\n**Contract:** scope `runs.read` · organization workspace case bound · read.",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganisationId"
          },
          {
            "$ref": "#/components/parameters/WorkspaceId"
          },
          {
            "name": "caseId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            }
          },
          {
            "name": "runId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Authorized terminal artifact projection.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                },
                "examples": {
                  "representative": {
                    "value": {
                      "data": {
                        "schema": "indwel.developer-run-artifact-list.v1",
                        "runId": "run_01J0EXAMPLE",
                        "caseId": "case_01J0EXAMPLE",
                        "items": [
                          {
                            "artifactId": "projection_01J0EXAMPLE",
                            "kind": "answer",
                            "status": "complete",
                            "answer": "Assessment complete."
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        }
      }
    },
    "/v1/organisations/{organisationId}/workspaces/{workspaceId}/cases/{caseId}/runs/{runId}/receipts": {
      "get": {
        "operationId": "listReceipts",
        "tags": [
          "Runs"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "runs.read"
            ]
          }
        ],
        "x-indwel-resource-id": "resource.receipt",
        "x-indwel-tenancy": "organisation-workspace-case-bound",
        "x-indwel-effect": {
          "level": "read",
          "receiptRequired": false
        },
        "summary": "List governed run and case receipts",
        "description": "Returns an authorized receipt projection combining durable terminal run settlement, Case governance receipts and governed Effect Egress settlement receipts for the exact developer run and Case.\n\n**Authority:** authorized Case-bound Run projection.\n\n**Contract:** scope `runs.read` · organization workspace case bound · read.",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganisationId"
          },
          {
            "$ref": "#/components/parameters/WorkspaceId"
          },
          {
            "name": "caseId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            }
          },
          {
            "name": "runId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Authorized receipt projection.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                },
                "examples": {
                  "representative": {
                    "value": {
                      "data": {
                        "schema": "indwel.developer-run-receipt-list.v1",
                        "runId": "run_01J0EXAMPLE",
                        "caseId": "case_01J0EXAMPLE",
                        "items": [
                          {
                            "schema": "indwel.developer-run-settlement-receipt-projection.v1",
                            "receiptId": "run-settlement:projection_01J0EXAMPLE",
                            "status": "complete"
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "x-indwel-semantics": {
          "authority": "authorised Case-bound Run projection",
          "receipt": "customer-safe governed receipt set"
        }
      }
    },
    "/v1/organisations/{organisationId}/projects/{projectId}/event-destinations": {
      "post": {
        "operationId": "createEventDestination",
        "summary": "Create an event destination",
        "description": "Creates an environment-bound signed event destination with explicit event filters and version posture.\n\n**Contract:** scope `events.write` · project bound · bounded write · receipt required · idempotency required.",
        "tags": [
          "Events"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "events.write"
            ]
          }
        ],
        "responses": {
          "201": {
            "description": "Successful response.",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventDestinationResponse"
                },
                "examples": {
                  "representative": {
                    "summary": "Representative response",
                    "value": {
                      "data": {
                        "eventDestinationId": "event_01J0EXAMPLE",
                        "projectId": "proje_01J0EXAMPLE",
                        "environmentId": "envir_01J0EXAMPLE",
                        "url": "https://example.test/indwel-events",
                        "eventTypes": [
                          "indwel.run.settled.v1"
                        ],
                        "apiVersion": "2026-07-23",
                        "status": "active",
                        "signingAlgorithm": "hmac-sha256",
                        "secretLastRotatedAt": "2026-07-23T22:45:00Z",
                        "createdAt": "2026-07-23T22:45:00Z"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "428": {
            "$ref": "#/components/responses/Problem428"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "x-indwel-resource-id": "resource.eventDestination",
        "x-indwel-tenancy": "project-bound",
        "x-indwel-effect": {
          "level": "bounded-write",
          "receiptRequired": true
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganisationId"
          },
          {
            "$ref": "#/components/parameters/ProjectId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateEventDestinationRequest"
              },
              "example": {
                "environmentId": "envir_01J0EXAMPLE",
                "url": "https://example.test/indwel-events",
                "eventTypes": [
                  "indwel.run.settled.v1"
                ],
                "apiVersion": "2026-07-23",
                "description": "Company Answers event consumer."
              }
            }
          }
        },
        "x-indwel-idempotency": {
          "required": true,
          "requestFingerprint": "method + canonical path + tenant boundary + canonical request body",
          "replayOutcome": "return original terminal response or stable in-progress state",
          "conflictingRequest": "409 IDEMPOTENCY_KEY_REUSED"
        }
      }
    },
    "/v1/organisations/{organisationId}/projects/{projectId}/event-destinations/{eventDestinationId}:send-test-event": {
      "post": {
        "operationId": "sendTestEvent",
        "summary": "Send a test event",
        "description": "Creates a non-production test Delivery through the same signing and dispatch pipeline used by the destination.\n\n**Contract:** scope `events.write` · project bound · bounded write · receipt required · idempotency required.",
        "tags": [
          "Events"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "events.write"
            ]
          }
        ],
        "responses": {
          "202": {
            "description": "Successful response.",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeliveryResponse"
                },
                "examples": {
                  "representative": {
                    "summary": "Representative response",
                    "value": {
                      "data": {
                        "deliveryId": "deliv_01J0EXAMPLE",
                        "eventDestinationId": "event_01J0EXAMPLE",
                        "eventId": "evt_01J0EXAMPLE",
                        "originalDeliveryId": null,
                        "attemptNumber": 1,
                        "status": "queued",
                        "responseStatus": null,
                        "latencyMs": null,
                        "nextAttemptAt": null,
                        "createdAt": "2026-07-23T22:45:00Z"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "428": {
            "$ref": "#/components/responses/Problem428"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "x-indwel-resource-id": "resource.eventDestination",
        "x-indwel-tenancy": "project-bound",
        "x-indwel-effect": {
          "level": "bounded-write",
          "receiptRequired": true
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganisationId"
          },
          {
            "$ref": "#/components/parameters/ProjectId"
          },
          {
            "$ref": "#/components/parameters/EventDestinationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SendTestEventRequest"
              },
              "example": {
                "eventType": "indwel.test.v1",
                "payload": {
                  "message": "verification"
                }
              }
            }
          }
        },
        "x-indwel-idempotency": {
          "required": true,
          "requestFingerprint": "method + canonical path + tenant boundary + canonical request body",
          "replayOutcome": "return original terminal response or stable in-progress state",
          "conflictingRequest": "409 IDEMPOTENCY_KEY_REUSED"
        }
      }
    },
    "/v1/organisations/{organisationId}/operations/{operationId}": {
      "get": {
        "operationId": "getOperation",
        "summary": "Get a long-running operation",
        "description": "Returns the durable progress, terminal result or problem for work initiated by another platform command.\n\n**Contract:** scope `operations.read` · organization bound · read.",
        "tags": [
          "Operations"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "operations.read"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OperationResponse"
                },
                "examples": {
                  "representative": {
                    "summary": "Representative response",
                    "value": {
                      "data": {
                        "operationId": "opera_01J0EXAMPLE",
                        "kind": "deployment.rollback",
                        "status": "running",
                        "targetResourceId": "deplo_01J0EXAMPLE",
                        "progressPercent": 25,
                        "cancellable": true,
                        "resultResourceId": null,
                        "receiptId": null,
                        "createdAt": "2026-07-23T22:45:00Z",
                        "updatedAt": "2026-07-23T22:46:00Z",
                        "terminalAt": null,
                        "problem": null
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "428": {
            "$ref": "#/components/responses/Problem428"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "x-indwel-resource-id": "resource.operation",
        "x-indwel-tenancy": "organisation-bound",
        "x-indwel-effect": {
          "level": "read",
          "receiptRequired": false
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganisationId"
          },
          {
            "$ref": "#/components/parameters/OperationId"
          }
        ]
      }
    },
    "/v1/organisations/{organisationId}/projects/{projectId}/quotas/effective": {
      "get": {
        "operationId": "getQuota",
        "summary": "Get effective project quotas",
        "description": "Returns effective limits, reservations, usage and remaining capacity for the project and environment context.\n\n**Contract:** scope `usage.read` · project bound · read.",
        "tags": [
          "Usage"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "usage.read"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuotaSetResponse"
                },
                "examples": {
                  "representative": {
                    "summary": "Representative response",
                    "value": {
                      "data": {
                        "items": [
                          {
                            "quotaId": "quota_runs",
                            "metric": "governed_runs",
                            "limit": 1000,
                            "used": 120,
                            "reserved": 10,
                            "remaining": 870,
                            "unit": "runs",
                            "periodStart": "2026-07-01T00:00:00Z",
                            "periodEnd": "2026-08-01T00:00:00Z"
                          }
                        ],
                        "nextCursor": null
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "428": {
            "$ref": "#/components/responses/Problem428"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "x-indwel-resource-id": "resource.quota",
        "x-indwel-tenancy": "project-bound",
        "x-indwel-effect": {
          "level": "read",
          "receiptRequired": false
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganisationId"
          },
          {
            "$ref": "#/components/parameters/ProjectId"
          }
        ]
      }
    },
    "/v1/services/{serviceId}": {
      "get": {
        "operationId": "getServiceStatus",
        "summary": "Get service status",
        "description": "Returns a bounded service identity and availability projection without claiming operational certification not supported by evidence.\n\n**Contract:** none · read.",
        "tags": [
          "Platform"
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Successful response.",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceResponse"
                },
                "examples": {
                  "representative": {
                    "summary": "Representative response",
                    "value": {
                      "data": {
                        "serviceId": "platform",
                        "name": "Indwel Platform",
                        "status": "operational",
                        "apiVersions": [
                          "v1"
                        ],
                        "governance": "evidence-first",
                        "releaseId": null
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "428": {
            "$ref": "#/components/responses/Problem428"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "x-indwel-resource-id": "resource.service",
        "x-indwel-tenancy": "none",
        "x-indwel-effect": {
          "level": "read",
          "receiptRequired": false
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/ServiceId"
          }
        ]
      }
    },
    "/v1/organisations/{organisationId}/projects/{projectId}/activity-events": {
      "get": {
        "operationId": "listActivityEvents",
        "summary": "List customer-safe activity events",
        "description": "Lists privacy-filtered project activity derived from authoritative audit, event and receipt records without exposing private operator context.\n\n**Contract:** scope `activity.read` · project bound · read.",
        "tags": [
          "Activity"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "activity.read"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ActivityEventListResponse"
                },
                "examples": {
                  "representative": {
                    "summary": "Representative response",
                    "value": {
                      "data": {
                        "items": [
                          {
                            "activityEventId": "activ_01J0EXAMPLE",
                            "projectId": "proje_01J0EXAMPLE",
                            "type": "deployment.rollback.requested",
                            "actor": "user_01J0EXAMPLE",
                            "resourceId": "deplo_01J0EXAMPLE",
                            "summary": "Rollback requested.",
                            "occurredAt": "2026-07-23T22:45:00Z"
                          }
                        ],
                        "nextCursor": null
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "428": {
            "$ref": "#/components/responses/Problem428"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "x-indwel-resource-id": "resource.activityEvent",
        "x-indwel-tenancy": "project-bound",
        "x-indwel-effect": {
          "level": "read",
          "receiptRequired": false
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganisationId"
          },
          {
            "$ref": "#/components/parameters/ProjectId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/Cursor"
          }
        ]
      }
    },
    "/v1/organisations/{organisationId}/projects/{projectId}/event-destinations/{eventDestinationId}/deliveries": {
      "get": {
        "operationId": "listDeliveries",
        "summary": "List event deliveries",
        "description": "Lists signed delivery attempts, response outcomes, retry posture and replay lineage for one destination.\n\n**Contract:** scope `events.read` · project bound · read.",
        "tags": [
          "Events"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "events.read"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeliveryListResponse"
                },
                "examples": {
                  "representative": {
                    "summary": "Representative response",
                    "value": {
                      "data": {
                        "items": [
                          {
                            "deliveryId": "deliv_01J0EXAMPLE",
                            "eventDestinationId": "event_01J0EXAMPLE",
                            "eventId": "evt_01J0EXAMPLE",
                            "originalDeliveryId": null,
                            "attemptNumber": 1,
                            "status": "succeeded",
                            "responseStatus": 204,
                            "latencyMs": 83,
                            "nextAttemptAt": null,
                            "createdAt": "2026-07-23T22:45:00Z"
                          }
                        ],
                        "nextCursor": null
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "428": {
            "$ref": "#/components/responses/Problem428"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "x-indwel-resource-id": "resource.delivery",
        "x-indwel-tenancy": "project-bound",
        "x-indwel-effect": {
          "level": "read",
          "receiptRequired": false
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganisationId"
          },
          {
            "$ref": "#/components/parameters/ProjectId"
          },
          {
            "$ref": "#/components/parameters/EventDestinationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/Cursor"
          }
        ]
      }
    },
    "/v1/organisations/{organisationId}/projects/{projectId}/usage-records": {
      "get": {
        "operationId": "listUsageRecords",
        "summary": "List project usage records",
        "description": "Lists immutable metered usage records bound to project, environment, release and cost class.\n\n**Contract:** scope `usage.read` · project bound · read.",
        "tags": [
          "Usage"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "usage.read"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UsageRecordListResponse"
                },
                "examples": {
                  "representative": {
                    "summary": "Representative response",
                    "value": {
                      "data": {
                        "items": [
                          {
                            "usageRecordId": "usage_01J0EXAMPLE",
                            "projectId": "proje_01J0EXAMPLE",
                            "environmentId": "envir_01J0EXAMPLE",
                            "metric": "governed_runs",
                            "quantity": 1,
                            "unit": "run",
                            "costClass": "cognition.standard",
                            "releaseId": null,
                            "occurredAt": "2026-07-23T22:45:00Z"
                          }
                        ],
                        "nextCursor": null
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "428": {
            "$ref": "#/components/responses/Problem428"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "x-indwel-resource-id": "resource.usageRecord",
        "x-indwel-tenancy": "project-bound",
        "x-indwel-effect": {
          "level": "read",
          "receiptRequired": false
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganisationId"
          },
          {
            "$ref": "#/components/parameters/ProjectId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/Cursor"
          }
        ]
      }
    },
    "/v1/organisations/{organisationId}/operations/{operationId}:cancel": {
      "post": {
        "operationId": "cancelOperation",
        "summary": "Cancel a long-running operation",
        "description": "Requests cancellation where the initiating command declares cancellation lawful; cancellation is idempotent by operation state and idempotency key.\n\n**Contract:** scope `operations.write` · organization bound · bounded write · receipt required · idempotency required.",
        "tags": [
          "Operations"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "operations.write"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OperationResponse"
                },
                "examples": {
                  "representative": {
                    "summary": "Representative response",
                    "value": {
                      "data": {
                        "operationId": "opera_01J0EXAMPLE",
                        "kind": "deployment.rollback",
                        "status": "running",
                        "targetResourceId": "deplo_01J0EXAMPLE",
                        "progressPercent": 25,
                        "cancellable": true,
                        "resultResourceId": null,
                        "receiptId": null,
                        "createdAt": "2026-07-23T22:45:00Z",
                        "updatedAt": "2026-07-23T22:46:00Z",
                        "terminalAt": null,
                        "problem": null
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "428": {
            "$ref": "#/components/responses/Problem428"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "x-indwel-resource-id": "resource.operation",
        "x-indwel-tenancy": "organisation-bound",
        "x-indwel-effect": {
          "level": "bounded-write",
          "receiptRequired": true
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganisationId"
          },
          {
            "$ref": "#/components/parameters/OperationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CancelOperationRequest"
              },
              "example": {
                "reason": "Operator requested cancellation before external effect."
              }
            }
          }
        },
        "x-indwel-idempotency": {
          "required": true,
          "requestFingerprint": "method + canonical path + tenant boundary + canonical request body",
          "replayOutcome": "return original terminal response or stable in-progress state",
          "conflictingRequest": "409 IDEMPOTENCY_KEY_REUSED"
        }
      }
    },
    "/v1/organisations/{organisationId}/projects/{projectId}/event-destinations/{eventDestinationId}/deliveries/{deliveryId}:replay": {
      "post": {
        "operationId": "replayDelivery",
        "summary": "Replay an event delivery",
        "description": "Creates a new signed Delivery attempt linked to the original immutable attempt and current destination secret version.\n\n**Contract:** scope `events.write` · project bound · bounded write · receipt required · idempotency required.",
        "tags": [
          "Events"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "events.write"
            ]
          }
        ],
        "responses": {
          "202": {
            "description": "Successful response.",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeliveryResponse"
                },
                "examples": {
                  "representative": {
                    "summary": "Representative response",
                    "value": {
                      "data": {
                        "deliveryId": "deliv_01J0EXAMPLE",
                        "eventDestinationId": "event_01J0EXAMPLE",
                        "eventId": "evt_01J0EXAMPLE",
                        "originalDeliveryId": null,
                        "attemptNumber": 1,
                        "status": "queued",
                        "responseStatus": null,
                        "latencyMs": null,
                        "nextAttemptAt": null,
                        "createdAt": "2026-07-23T22:45:00Z"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "428": {
            "$ref": "#/components/responses/Problem428"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "x-indwel-resource-id": "resource.delivery",
        "x-indwel-tenancy": "project-bound",
        "x-indwel-effect": {
          "level": "bounded-write",
          "receiptRequired": true
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganisationId"
          },
          {
            "$ref": "#/components/parameters/ProjectId"
          },
          {
            "$ref": "#/components/parameters/EventDestinationId"
          },
          {
            "$ref": "#/components/parameters/DeliveryId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReplayDeliveryRequest"
              },
              "example": {
                "reason": "Consumer recovered after outage."
              }
            }
          }
        },
        "x-indwel-idempotency": {
          "required": true,
          "requestFingerprint": "method + canonical path + tenant boundary + canonical request body",
          "replayOutcome": "return original terminal response or stable in-progress state",
          "conflictingRequest": "409 IDEMPOTENCY_KEY_REUSED"
        }
      }
    },
    "/v1/organisations/{organisationId}/projects/{projectId}/environments/{environmentId}/deployments/{deploymentId}:rollback": {
      "post": {
        "operationId": "rollbackDeployment",
        "summary": "Roll back a deployment",
        "description": "Begins a durable rollback operation to the previous certified deployment or an explicitly named compatible deployment.\n\n**Contract:** scope `deployments.write` · project bound · external effect · receipt required · idempotency required.",
        "tags": [
          "Apps"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "deployments.write"
            ]
          }
        ],
        "responses": {
          "202": {
            "description": "Successful response.",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OperationResponse"
                },
                "examples": {
                  "representative": {
                    "summary": "Representative response",
                    "value": {
                      "data": {
                        "operationId": "opera_01J0EXAMPLE",
                        "kind": "deployment.rollback",
                        "status": "running",
                        "targetResourceId": "deplo_01J0EXAMPLE",
                        "progressPercent": 25,
                        "cancellable": true,
                        "resultResourceId": null,
                        "receiptId": null,
                        "createdAt": "2026-07-23T22:45:00Z",
                        "updatedAt": "2026-07-23T22:46:00Z",
                        "terminalAt": null,
                        "problem": null
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "428": {
            "$ref": "#/components/responses/Problem428"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "x-indwel-resource-id": "resource.deployment",
        "x-indwel-tenancy": "project-bound",
        "x-indwel-effect": {
          "level": "external-effect",
          "receiptRequired": true
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganisationId"
          },
          {
            "$ref": "#/components/parameters/ProjectId"
          },
          {
            "$ref": "#/components/parameters/EnvironmentId"
          },
          {
            "$ref": "#/components/parameters/DeploymentId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RollbackDeploymentRequest"
              },
              "example": {
                "targetDeploymentId": null,
                "reason": "Production readiness evidence was invalidated."
              }
            }
          }
        },
        "x-indwel-idempotency": {
          "required": true,
          "requestFingerprint": "method + canonical path + tenant boundary + canonical request body",
          "replayOutcome": "return original terminal response or stable in-progress state",
          "conflictingRequest": "409 IDEMPOTENCY_KEY_REUSED"
        }
      }
    },
    "/v1/organisations/{organisationId}/projects/{projectId}/clients/{clientId}/credentials/{credentialId}:rotate": {
      "post": {
        "operationId": "rotateCredential",
        "summary": "Rotate a client credential",
        "description": "Creates replacement credential material returned once, records overlap posture, and schedules or performs prior-credential revocation.\n\n**Contract:** scope `clients.write` · project bound · bounded write · receipt required · idempotency required.",
        "tags": [
          "Credentials"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "clients.write"
            ]
          }
        ],
        "responses": {
          "201": {
            "description": "Successful response.",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CredentialRotationReceiptResponse"
                },
                "examples": {
                  "representative": {
                    "summary": "Representative response",
                    "value": {
                      "data": {
                        "credentialId": "crede_01J0EXAMPLE",
                        "clientId": "clien_01J0EXAMPLE",
                        "secret": "indwel_secret_returned_once",
                        "rotatedAt": "2026-07-23T22:45:00Z",
                        "previousCredentialValidUntil": "2026-07-23T23:00:00Z",
                        "expiresAt": null
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "428": {
            "$ref": "#/components/responses/Problem428"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "x-indwel-resource-id": "resource.credential",
        "x-indwel-tenancy": "project-bound",
        "x-indwel-effect": {
          "level": "bounded-write",
          "receiptRequired": true
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganisationId"
          },
          {
            "$ref": "#/components/parameters/ProjectId"
          },
          {
            "$ref": "#/components/parameters/ClientId"
          },
          {
            "$ref": "#/components/parameters/CredentialId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RotateCredentialRequest"
              },
              "example": {
                "overlapSeconds": 900,
                "expiresAt": null
              }
            }
          }
        },
        "x-indwel-idempotency": {
          "required": true,
          "requestFingerprint": "method + canonical path + tenant boundary + canonical request body",
          "replayOutcome": "return original terminal response or stable in-progress state",
          "conflictingRequest": "409 IDEMPOTENCY_KEY_REUSED"
        }
      }
    },
    "/v1/organisations/{organisationId}/projects/{projectId}/event-destinations/{eventDestinationId}:rotate-secret": {
      "post": {
        "operationId": "rotateEventDestinationSecret",
        "summary": "Rotate an event signing secret",
        "description": "Creates a replacement signing secret returned once and records the bounded overlap period for safe consumer migration.\n\n**Contract:** scope `events.write` · project bound · bounded write · receipt required · idempotency required.",
        "tags": [
          "Events"
        ],
        "security": [
          {
            "IndwelOAuth": [
              "events.write"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventDestinationSecretRotationReceiptResponse"
                },
                "examples": {
                  "representative": {
                    "summary": "Representative response",
                    "value": {
                      "data": {
                        "eventDestinationId": "event_01J0EXAMPLE",
                        "signingSecret": "whsec_returned_once",
                        "rotatedAt": "2026-07-23T22:45:00Z",
                        "previousSecretValidUntil": "2026-07-23T23:00:00Z"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "428": {
            "$ref": "#/components/responses/Problem428"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "x-indwel-resource-id": "resource.eventDestination",
        "x-indwel-tenancy": "project-bound",
        "x-indwel-effect": {
          "level": "bounded-write",
          "receiptRequired": true
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganisationId"
          },
          {
            "$ref": "#/components/parameters/ProjectId"
          },
          {
            "$ref": "#/components/parameters/EventDestinationId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RotateEventDestinationSecretRequest"
              },
              "example": {
                "overlapSeconds": 900
              }
            }
          }
        },
        "x-indwel-idempotency": {
          "required": true,
          "requestFingerprint": "method + canonical path + tenant boundary + canonical request body",
          "replayOutcome": "return original terminal response or stable in-progress state",
          "conflictingRequest": "409 IDEMPOTENCY_KEY_REUSED"
        }
      }
    },
    "/v1/work": {
      "get": {
        "operationId": "listWork",
        "tags": [
          "Work"
        ],
        "summary": "List authorized Work",
        "description": "Returns durable Work visible to the authenticated principal. Organization and workspace authority are resolved by the backend; query filters do not grant access.\n\n**Authority:** backend-derived organization/workspace membership.\n\n**Contract:** scope `work.read`.",
        "responses": {
          "200": {
            "description": "Authorized Work docket projection.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkListResponse"
                },
                "example": {
                  "data": {
                    "items": [
                      {
                        "workId": "work_vendor_assurance",
                        "title": "Quarterly vendor assurance",
                        "lifecycle": "active",
                        "posture": "advancing",
                        "tenantId": "org_acme",
                        "workspaceId": "ws_risk",
                        "portfolioId": "portfolio_vendor_risk",
                        "teamIds": [
                          "team_risk"
                        ],
                        "updatedAt": "2026-09-01T14:30:00Z"
                      }
                    ],
                    "count": 1
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "work.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "description": "Case-insensitive text search over authorized Work identifiers, titles, and portfolio identifiers."
          },
          {
            "name": "workspaceIds",
            "in": "query",
            "required": false,
            "description": "Comma-separated workspace filters applied only after backend authority is established.",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "portfolioIds",
            "in": "query",
            "required": false,
            "description": "Comma-separated portfolio filters over authorized Work.",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "teamIds",
            "in": "query",
            "required": false,
            "description": "Comma-separated team filters over authorized Work.",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "lifecycle",
            "in": "query",
            "required": false,
            "description": "Comma-separated Work lifecycle filters.",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "proposed",
                  "active",
                  "paused",
                  "review",
                  "closed"
                ]
              }
            }
          },
          {
            "name": "posture",
            "in": "query",
            "required": false,
            "description": "Comma-separated Work progress-posture filters.",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "advancing",
                  "steady",
                  "blocked",
                  "decision_ready",
                  "settlement_candidate"
                ]
              }
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 500,
              "default": 100
            },
            "description": "Maximum authorized Work projections to return. The server clamps the value to 1–500 and defaults to 100."
          }
        ],
        "x-indwel-semantics": {
          "authority": "backend-derived organisation/workspace membership",
          "custody": "durable Work operating table"
        }
      },
      "post": {
        "operationId": "createWork",
        "tags": [
          "Work"
        ],
        "summary": "Create durable Work",
        "description": "Creates a durable longitudinal undertaking. Tenant and principal authority are derived from authenticated backend state; `workspaceId` is a reference, not an authority grant.\n\n**Authority:** backend-derived organization/workspace membership.\n\n**Contract:** scope `work.write` · bounded write.",
        "responses": {
          "201": {
            "description": "Durable Work created.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkProjectionResponse"
                },
                "example": {
                  "data": {
                    "schema": "indwel.work_status_projection.v1",
                    "workId": "work_vendor_assurance",
                    "title": "Quarterly vendor assurance",
                    "tenantId": "org_acme",
                    "workspaceId": "ws_risk",
                    "lifecycle": "active",
                    "posture": "advancing",
                    "docketRevision": 11,
                    "progressRevision": 8,
                    "residuals": {
                      "unsatisfiedCriterionIds": [
                        "criterion_data_retention"
                      ],
                      "unresolvedQuestionIds": [],
                      "blockerIds": [],
                      "frontierItemIds": [
                        "review_retention"
                      ]
                    },
                    "settlementCandidate": false,
                    "settlementReasonCodes": [
                      "WORK_RESIDUALS_REMAIN"
                    ],
                    "legalNextActions": [
                      "advance"
                    ],
                    "updatedAt": "2026-09-01T14:30:00Z"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "work.write"
            ]
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WorkCreateRequest"
              },
              "example": {
                "title": "Quarterly vendor assurance",
                "workspaceId": "ws_01J0EXAMPLE",
                "objectiveIds": [
                  "obj_01J0EXAMPLE"
                ]
              }
            }
          }
        },
        "x-indwel-semantics": {
          "authority": "backend-derived organisation/workspace membership",
          "custody": "durable Work operating table",
          "effect": "bounded-write"
        }
      }
    },
    "/v1/work/portfolios": {
      "get": {
        "operationId": "getWorkPortfolios",
        "tags": [
          "Work"
        ],
        "summary": "Read Work portfolio projection",
        "description": "Returns the authorized portfolio projection over durable Work. Portfolios are subordinate Work projections rather than independent write authority.\n\n**Authority:** backend-derived organization/workspace membership.\n\n**Contract:** scope `work.read`.",
        "responses": {
          "200": {
            "description": "Portfolio projection.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkPortfolioResponse"
                },
                "example": {
                  "data": {
                    "schema": "indwel.work_portfolio_projection.v1",
                    "tenantId": "org_acme",
                    "principalId": "user_42",
                    "visibleWorkCount": 1,
                    "portfolios": [
                      {
                        "portfolioId": "portfolio_vendor_risk",
                        "workCount": 1,
                        "lifecycleCounts": {
                          "active": 1
                        },
                        "postureCounts": {
                          "advancing": 1
                        },
                        "blockedWorkIds": [],
                        "settlementCandidateWorkIds": [],
                        "lastUpdatedAt": "2026-09-01T14:30:00Z",
                        "workIds": [
                          "work_vendor_assurance"
                        ]
                      }
                    ],
                    "reasonCodes": []
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "work.read"
            ]
          }
        ],
        "x-indwel-semantics": {
          "authority": "backend-derived organisation/workspace membership",
          "custody": "durable Work operating table"
        }
      }
    },
    "/v1/work/{workId}": {
      "get": {
        "operationId": "getWorkStatus",
        "tags": [
          "Work"
        ],
        "summary": "Read durable Work",
        "description": "Returns durable Work status and any canonical settlement receipt after backend membership authority is satisfied.\n\n**Authority:** backend-derived organization/workspace membership.\n\n**Contract:** scope `work.read`.",
        "responses": {
          "200": {
            "description": "Work status and settlement receipt.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkStatusResponse"
                },
                "example": {
                  "data": {
                    "status": {
                      "schema": "indwel.work_status_projection.v1",
                      "workId": "work_vendor_assurance",
                      "title": "Quarterly vendor assurance",
                      "tenantId": "org_acme",
                      "workspaceId": "ws_risk",
                      "lifecycle": "active",
                      "posture": "advancing",
                      "docketRevision": 11,
                      "progressRevision": 8,
                      "residuals": {
                        "unsatisfiedCriterionIds": [
                          "criterion_data_retention"
                        ],
                        "unresolvedQuestionIds": [],
                        "blockerIds": [],
                        "frontierItemIds": [
                          "review_retention"
                        ]
                      },
                      "settlementCandidate": false,
                      "settlementReasonCodes": [
                        "WORK_RESIDUALS_REMAIN"
                      ],
                      "legalNextActions": [
                        "advance"
                      ],
                      "updatedAt": "2026-09-01T14:30:00Z"
                    },
                    "settlementReceipt": null
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "work.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "workId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "description": "Durable Work identifier."
          }
        ],
        "x-indwel-semantics": {
          "authority": "backend-derived organisation/workspace membership",
          "custody": "durable Work operating table"
        }
      },
      "patch": {
        "operationId": "updateWork",
        "tags": [
          "Work"
        ],
        "summary": "Update durable Work",
        "description": "Updates mutable Work docket fields under optimistic concurrency. Backend authority owns tenant, workspace, participation, settlement, and Objective authority.\n\n**Authority:** backend-derived organization/workspace membership.\n\n**Contract:** scope `work.write` · bounded write · optimistic concurrency.",
        "responses": {
          "200": {
            "description": "Updated Work docket.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkProjectionResponse"
                },
                "example": {
                  "data": {
                    "schema": "indwel.work_status_projection.v1",
                    "workId": "work_vendor_assurance",
                    "title": "Quarterly vendor assurance",
                    "tenantId": "org_acme",
                    "workspaceId": "ws_risk",
                    "lifecycle": "active",
                    "posture": "advancing",
                    "docketRevision": 12,
                    "progressRevision": 8,
                    "residuals": {
                      "unsatisfiedCriterionIds": [
                        "criterion_data_retention"
                      ],
                      "unresolvedQuestionIds": [],
                      "blockerIds": [],
                      "frontierItemIds": [
                        "review_retention"
                      ]
                    },
                    "settlementCandidate": false,
                    "settlementReasonCodes": [
                      "WORK_RESIDUALS_REMAIN"
                    ],
                    "legalNextActions": [
                      "advance"
                    ],
                    "updatedAt": "2026-09-01T14:36:00Z"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "work.write"
            ]
          }
        ],
        "parameters": [
          {
            "name": "workId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "description": "Durable Work identifier."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WorkUpdateRequest"
              },
              "example": {
                "expectedRevision": 3,
                "description": "Assurance review covering the current contract year.",
                "lifecycle": "active"
              }
            }
          }
        },
        "x-indwel-semantics": {
          "authority": "backend-derived organisation/workspace membership",
          "custody": "durable Work operating table",
          "effect": "bounded-write",
          "concurrency": "expectedRevision"
        }
      }
    },
    "/v1/work/{workId}/economics": {
      "get": {
        "operationId": "getWorkEconomics",
        "tags": [
          "Work"
        ],
        "summary": "Read Work economics",
        "description": "Returns backend-owned cumulative Work economics. Clients may observe authorized economic state; they do not establish authoritative cost or budget state by supplying larger numbers.\n\n**Authority:** backend-derived organization/workspace membership.\n\n**Contract:** scope `work.read` · auditor authority.",
        "responses": {
          "200": {
            "description": "Complete bounded Work economics projection.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkEconomicsResponse"
                },
                "example": {
                  "data": {
                    "projection": {
                      "schema": "indwel.work_economics_projection.v1",
                      "tenantId": "org_acme",
                      "workId": "work_vendor_assurance",
                      "workspaceIds": [
                        "ws_risk"
                      ],
                      "currency": "USD",
                      "truthClass": "provider_priced_settlement",
                      "machineCostMicros": 1842000,
                      "terminalInferenceRuns": 4,
                      "unpricedTerminalRuns": 0,
                      "unpricedPhysicalAttempts": 0,
                      "humanEngagementEvents": 2,
                      "byUser": [],
                      "byTeam": [],
                      "unallocatedUserMachineCostMicros": 0,
                      "unallocatedTeamMachineCostMicros": 0,
                      "sourceEventIds": [
                        "evt_01",
                        "evt_02"
                      ],
                      "reasonCodes": []
                    },
                    "provenance": {
                      "schemaVersion": "indwel.work_economics_provenance.v1",
                      "authority": "unified-system-ledger",
                      "complete": true,
                      "eventCount": 6,
                      "reasonCodes": []
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "work.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "workId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "description": "Durable Work identifier."
          }
        ],
        "x-indwel-semantics": {
          "authority": "backend-derived organisation/workspace membership",
          "custody": "durable Work operating table",
          "economics": "backend-derived",
          "role": "auditor"
        }
      }
    },
    "/v1/work/{workId}/advance": {
      "post": {
        "operationId": "advanceWork",
        "tags": [
          "Work"
        ],
        "summary": "Record causal Work advancement",
        "description": "Records a governed causal advancement against the current Work progress revision. Advancement describes what changed in the undertaking; it does not let the caller manufacture evidence, decision, approval, or settlement authority.\n\n**Authority:** backend-derived organization/workspace membership.\n\n**Contract:** scope `work.write` · causal advance · optimistic concurrency.",
        "responses": {
          "200": {
            "description": "Updated Work status.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkProjectionResponse"
                },
                "example": {
                  "data": {
                    "schema": "indwel.work_status_projection.v1",
                    "workId": "work_vendor_assurance",
                    "title": "Quarterly vendor assurance",
                    "tenantId": "org_acme",
                    "workspaceId": "ws_risk",
                    "lifecycle": "active",
                    "posture": "advancing",
                    "docketRevision": 11,
                    "progressRevision": 9,
                    "residuals": {
                      "unsatisfiedCriterionIds": [
                        "criterion_data_retention"
                      ],
                      "unresolvedQuestionIds": [],
                      "blockerIds": [],
                      "frontierItemIds": [
                        "review_retention"
                      ]
                    },
                    "settlementCandidate": false,
                    "settlementReasonCodes": [
                      "WORK_RESIDUALS_REMAIN"
                    ],
                    "legalNextActions": [
                      "advance"
                    ],
                    "updatedAt": "2026-09-01T14:42:00Z"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "work.write"
            ]
          }
        ],
        "parameters": [
          {
            "name": "workId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "description": "Durable Work identifier."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WorkAdvanceRequest"
              },
              "example": {
                "expectedProgressRevision": 7,
                "kind": "evidence_admitted",
                "summary": "Current SOC 2 report admitted to the assurance record.",
                "receiptIds": [
                  "receipt_01J0EXAMPLE"
                ],
                "posture": "advancing"
              }
            }
          }
        },
        "x-indwel-semantics": {
          "authority": "backend-derived organisation/workspace membership",
          "custody": "durable Work operating table",
          "effect": "causal-advance",
          "concurrency": "expectedProgressRevision"
        }
      }
    },
    "/v1/work/{workId}/settle": {
      "post": {
        "operationId": "settleWork",
        "tags": [
          "Work"
        ],
        "summary": "Settle durable Work",
        "description": "Attempts terminal settlement under canonical Work authority. Settlement may be refused when completion claims are false, required conditions remain unresolved, or the docket revision has changed.\n\n**Authority:** backend-derived organization/workspace membership.\n\n**Contract:** scope `work.write` · terminal settlement.",
        "responses": {
          "200": {
            "description": "Settlement status and canonical receipt.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkSettlementResponse"
                },
                "example": {
                  "data": {
                    "status": {
                      "schema": "indwel.work_status_projection.v1",
                      "workId": "work_vendor_assurance",
                      "title": "Quarterly vendor assurance",
                      "tenantId": "org_acme",
                      "workspaceId": "ws_risk",
                      "lifecycle": "closed",
                      "posture": "steady",
                      "docketRevision": 13,
                      "progressRevision": 10,
                      "residuals": {
                        "unsatisfiedCriterionIds": [],
                        "unresolvedQuestionIds": [],
                        "blockerIds": [],
                        "frontierItemIds": []
                      },
                      "settlementCandidate": false,
                      "settlementReasonCodes": [],
                      "legalNextActions": [],
                      "updatedAt": "2026-09-01T15:10:00Z"
                    },
                    "receipt": {
                      "schema": "indwel.work_settlement_receipt.v1",
                      "receiptId": "receipt_work_settlement_01",
                      "workId": "work_vendor_assurance",
                      "disposition": "satisfied",
                      "closedAt": "2026-09-01T15:10:00Z",
                      "closedBy": "user_42",
                      "docketRevision": 13,
                      "progressRevision": 10,
                      "residuals": {
                        "unsatisfiedCriterionIds": [],
                        "unresolvedQuestionIds": [],
                        "blockerIds": [],
                        "frontierItemIds": []
                      },
                      "evidenceRefs": [
                        "evidence_soc2_2026"
                      ],
                      "decisionRefs": [
                        "decision_accept_vendor"
                      ],
                      "sourceReceiptIds": [
                        "receipt_run_01"
                      ],
                      "residualRisk": "low",
                      "status": "settled",
                      "reasonCodes": [],
                      "digest": "sha256:example"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "work.write"
            ]
          }
        ],
        "parameters": [
          {
            "name": "workId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "description": "Durable Work identifier."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WorkSettleRequest"
              },
              "example": {
                "expectedDocketRevision": 11,
                "disposition": "satisfied",
                "summary": "Assurance review settled on the admitted record.",
                "satisfiedCriterionIds": [
                  "criterion_01"
                ],
                "residualRisk": "low",
                "userAccepted": true
              }
            }
          }
        },
        "x-indwel-semantics": {
          "authority": "backend-derived organisation/workspace membership",
          "custody": "durable Work operating table",
          "effect": "terminal-settlement",
          "receipt": "canonical"
        }
      }
    },
    "/v2/account/memory/items": {
      "get": {
        "operationId": "listMemoryItems",
        "tags": [
          "Memory"
        ],
        "summary": "List Memory items",
        "description": "Returns the authenticated subject's Memory items. Personal Memory scope is derived from authenticated identity; callers cannot select another subject or manufacture scope.\n\n**Authority:** authenticated personal Memory authority.\n\n**Contract:** scope `memory.read` · user delegated only.",
        "responses": {
          "200": {
            "description": "Memory item projection.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MemoryListResponse"
                },
                "example": {
                  "ok": true,
                  "items": [
                    {
                      "schemaVersion": "personal_memory_view.v2",
                      "memoryRef": "mem_response_style",
                      "version": 1,
                      "title": "Response style",
                      "content": "Prefer concise release briefs that lead with the decision, evidence, and remaining risk.",
                      "category": "preference",
                      "state": "active",
                      "importance": "ordinary",
                      "authority": "user_authored",
                      "origin": {
                        "kind": "conversation",
                        "label": "Account memory"
                      },
                      "scope": {
                        "mode": "account",
                        "label": "Account memory"
                      },
                      "influence": {
                        "eligible": true,
                        "explanation": "Eligible to shape response structure under the active Memory posture."
                      },
                      "createdAt": "2026-09-01T15:00:00Z",
                      "updatedAt": "2026-09-01T15:00:00Z",
                      "capabilities": {
                        "edit": true,
                        "correct": true,
                        "makeImportant": true,
                        "pause": true,
                        "restore": true,
                        "stop": true,
                        "useAgain": true,
                        "delete": true,
                        "versions": true,
                        "proof": true
                      }
                    }
                  ],
                  "page": {
                    "hasMore": true
                  },
                  "query": {},
                  "freshness": {
                    "schemaVersion": "memory_projection_freshness.v1",
                    "state": "complete",
                    "readAvailable": true,
                    "mutationAvailable": true,
                    "observedAt": "2026-09-01T15:00:00Z",
                    "explanation": "Eligible to shape response structure under the active Memory posture.",
                    "reasonCodes": [
                      "REPRESENTATIVE_REASON"
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "memory.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "view",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "remembered",
                "review",
                "inactive",
                "all"
              ]
            }
          },
          {
            "name": "q",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "minLength": 1
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "minLength": 1
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1
            }
          }
        ],
        "x-indwel-semantics": {
          "authority": "authenticated personal Memory authority",
          "evidenceBoundary": "Memory informs cognition under governance; it is not sovereign evidence",
          "delegation": "user-delegated-only"
        }
      },
      "post": {
        "operationId": "createMemoryItem",
        "tags": [
          "Memory"
        ],
        "summary": "Create a Memory item",
        "description": "Creates an explicit personal Memory item for the authenticated subject. This changes Memory, not evidence authority.\n\n**Authority:** authenticated personal Memory authority.\n\n**Contract:** scope `memory.write` · idempotency required · user delegated only.",
        "responses": {
          "201": {
            "description": "Memory item created or idempotently replayed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MemoryItemCreateResponse"
                },
                "example": {
                  "ok": true,
                  "item": {
                    "schemaVersion": "personal_memory_view.v2",
                    "memoryRef": "mem_response_style",
                    "version": 1,
                    "title": "Response style",
                    "content": "Prefer concise release briefs that lead with the decision, evidence, and remaining risk.",
                    "category": "preference",
                    "state": "active",
                    "importance": "ordinary",
                    "authority": "user_authored",
                    "origin": {
                      "kind": "conversation",
                      "label": "Account memory"
                    },
                    "scope": {
                      "mode": "account",
                      "label": "Account memory"
                    },
                    "influence": {
                      "eligible": true,
                      "explanation": "Eligible to shape response structure under the active Memory posture."
                    },
                    "createdAt": "2026-09-01T15:00:00Z",
                    "updatedAt": "2026-09-01T15:00:00Z",
                    "capabilities": {
                      "edit": true,
                      "correct": true,
                      "makeImportant": true,
                      "pause": true,
                      "restore": true,
                      "stop": true,
                      "useAgain": true,
                      "delete": true,
                      "versions": true,
                      "proof": true
                    }
                  },
                  "created": true,
                  "idempotentReplay": true,
                  "freshness": {
                    "schemaVersion": "memory_projection_freshness.v1",
                    "state": "complete",
                    "readAvailable": true,
                    "mutationAvailable": true,
                    "observedAt": "2026-09-01T15:00:00Z",
                    "explanation": "Eligible to shape response structure under the active Memory posture.",
                    "reasonCodes": [
                      "REPRESENTATIVE_REASON"
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "memory.write"
            ]
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/MemoryIdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MemoryCreateRequest"
              },
              "example": {
                "title": "Response style"
              }
            }
          }
        },
        "x-indwel-semantics": {
          "authority": "authenticated personal Memory authority",
          "evidenceBoundary": "Memory informs cognition under governance; it is not sovereign evidence",
          "delegation": "user-delegated-only",
          "idempotency": "required"
        }
      }
    },
    "/v2/account/memory/items/{memoryRef}": {
      "get": {
        "operationId": "getMemoryItem",
        "tags": [
          "Memory"
        ],
        "summary": "Get a Memory item",
        "description": "Returns one authorized Memory item for the authenticated subject.\n\n**Authority:** authenticated personal Memory authority.\n\n**Contract:** scope `memory.read` · user delegated only.",
        "responses": {
          "200": {
            "description": "Memory item.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MemoryItemResponse"
                },
                "example": {
                  "ok": true,
                  "item": {
                    "schemaVersion": "personal_memory_view.v2",
                    "memoryRef": "mem_response_style",
                    "version": 1,
                    "title": "Response style",
                    "content": "Prefer concise release briefs that lead with the decision, evidence, and remaining risk.",
                    "category": "preference",
                    "state": "active",
                    "importance": "ordinary",
                    "authority": "user_authored",
                    "origin": {
                      "kind": "conversation",
                      "label": "Account memory"
                    },
                    "scope": {
                      "mode": "account",
                      "label": "Account memory"
                    },
                    "influence": {
                      "eligible": true,
                      "explanation": "Eligible to shape response structure under the active Memory posture."
                    },
                    "createdAt": "2026-09-01T15:00:00Z",
                    "updatedAt": "2026-09-01T15:00:00Z",
                    "capabilities": {
                      "edit": true,
                      "correct": true,
                      "makeImportant": true,
                      "pause": true,
                      "restore": true,
                      "stop": true,
                      "useAgain": true,
                      "delete": true,
                      "versions": true,
                      "proof": true
                    }
                  },
                  "freshness": {
                    "schemaVersion": "memory_projection_freshness.v1",
                    "state": "complete",
                    "readAvailable": true,
                    "mutationAvailable": true,
                    "observedAt": "2026-09-01T15:00:00Z",
                    "explanation": "Eligible to shape response structure under the active Memory posture.",
                    "reasonCodes": [
                      "REPRESENTATIVE_REASON"
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "memory.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "memoryRef",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "description": "Opaque Memory item reference."
          }
        ],
        "x-indwel-semantics": {
          "authority": "authenticated personal Memory authority",
          "evidenceBoundary": "Memory informs cognition under governance; it is not sovereign evidence",
          "delegation": "user-delegated-only"
        }
      },
      "delete": {
        "operationId": "deleteMemoryItem",
        "tags": [
          "Memory"
        ],
        "summary": "Delete a Memory item",
        "description": "Deletes the selected personal Memory item under authenticated subject authority. An optional expected version may be supplied for concurrency.\n\n**Authority:** authenticated personal Memory authority.\n\n**Contract:** scope `memory.write` · idempotency required · user delegated only.",
        "responses": {
          "200": {
            "description": "Deletion result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MemoryDeleteResponse"
                },
                "example": {
                  "ok": true,
                  "memoryRef": "mem_response_style",
                  "deleted": true,
                  "deletedAt": "2026-09-01T15:00:00Z",
                  "idempotentReplay": true,
                  "freshness": {
                    "schemaVersion": "memory_projection_freshness.v1",
                    "state": "complete",
                    "readAvailable": true,
                    "mutationAvailable": true,
                    "observedAt": "2026-09-01T15:00:00Z",
                    "explanation": "Eligible to shape response structure under the active Memory posture.",
                    "reasonCodes": [
                      "REPRESENTATIVE_REASON"
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "memory.write"
            ]
          }
        ],
        "parameters": [
          {
            "name": "memoryRef",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "description": "Opaque Memory item reference."
          },
          {
            "$ref": "#/components/parameters/MemoryIdempotencyKey"
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "expectedVersion": {
                    "type": "integer",
                    "minimum": 1
                  }
                }
              },
              "example": {}
            }
          }
        },
        "x-indwel-semantics": {
          "authority": "authenticated personal Memory authority",
          "evidenceBoundary": "Memory informs cognition under governance; it is not sovereign evidence",
          "delegation": "user-delegated-only",
          "idempotency": "required"
        }
      }
    },
    "/v2/account/memory/items/{memoryRef}/versions": {
      "get": {
        "operationId": "listMemoryItemVersions",
        "tags": [
          "Memory"
        ],
        "summary": "List Memory versions",
        "description": "Returns the governed version history for one authorized Memory item.\n\n**Authority:** authenticated personal Memory authority.\n\n**Contract:** scope `memory.read` · user delegated only.",
        "responses": {
          "200": {
            "description": "Memory version history.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MemoryVersionsResponse"
                },
                "example": {
                  "ok": true,
                  "memoryRef": "mem_response_style",
                  "versions": [
                    {
                      "version": 1,
                      "createdAt": "2026-09-01T15:00:00Z",
                      "mutationEventId": "mem_event_03",
                      "item": {
                        "schemaVersion": "personal_memory_view.v2",
                        "memoryRef": "mem_response_style",
                        "version": 1,
                        "title": "Response style",
                        "content": "Prefer concise release briefs that lead with the decision, evidence, and remaining risk.",
                        "category": "preference",
                        "state": "active",
                        "importance": "ordinary",
                        "authority": "user_authored",
                        "origin": {
                          "kind": "conversation",
                          "label": "Account memory"
                        },
                        "scope": {
                          "mode": "account",
                          "label": "Account memory"
                        },
                        "influence": {
                          "eligible": true,
                          "explanation": "Eligible to shape response structure under the active Memory posture."
                        },
                        "createdAt": "2026-09-01T15:00:00Z",
                        "updatedAt": "2026-09-01T15:00:00Z",
                        "capabilities": {
                          "edit": true,
                          "correct": true,
                          "makeImportant": true,
                          "pause": true,
                          "restore": true,
                          "stop": true,
                          "useAgain": true,
                          "delete": true,
                          "versions": true,
                          "proof": true
                        }
                      }
                    }
                  ],
                  "page": {
                    "hasMore": true
                  },
                  "freshness": {
                    "schemaVersion": "memory_projection_freshness.v1",
                    "state": "complete",
                    "readAvailable": true,
                    "mutationAvailable": true,
                    "observedAt": "2026-09-01T15:00:00Z",
                    "explanation": "Eligible to shape response structure under the active Memory posture.",
                    "reasonCodes": [
                      "REPRESENTATIVE_REASON"
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "memory.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "memoryRef",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "description": "Opaque Memory item reference."
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "minLength": 1
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1
            }
          }
        ],
        "x-indwel-semantics": {
          "authority": "authenticated personal Memory authority",
          "evidenceBoundary": "Memory informs cognition under governance; it is not sovereign evidence",
          "delegation": "user-delegated-only"
        }
      }
    },
    "/v2/account/memory/items/{memoryRef}/links": {
      "post": {
        "operationId": "createMemoryItemLink",
        "tags": [
          "Memory"
        ],
        "summary": "Create an opaque Memory link",
        "description": "Creates an opaque link token for an authorized non-proposal Memory item. The token resolves only under the same authenticated personal Memory authority.\n\n**Authority:** authenticated personal Memory authority.\n\n**Contract:** scope `memory.write` · user delegated only.",
        "responses": {
          "201": {
            "description": "Opaque Memory link token.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MemoryLinkCreateResponse"
                },
                "example": {
                  "ok": true,
                  "linkToken": "memlink_response_style",
                  "createdAt": "2026-09-01T15:00:00Z"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "memory.write"
            ]
          }
        ],
        "parameters": [
          {
            "name": "memoryRef",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "description": "Opaque Memory item reference."
          }
        ],
        "x-indwel-semantics": {
          "authority": "authenticated personal Memory authority",
          "evidenceBoundary": "Memory informs cognition under governance; it is not sovereign evidence",
          "delegation": "user-delegated-only"
        }
      }
    },
    "/v2/account/memory/links/{linkToken}": {
      "get": {
        "operationId": "resolveMemoryItemLink",
        "tags": [
          "Memory"
        ],
        "summary": "Resolve an opaque Memory link",
        "description": "Resolves an opaque Memory link within the authenticated subject's personal Memory authority.\n\n**Authority:** authenticated personal Memory authority.\n\n**Contract:** scope `memory.read` · user delegated only.",
        "responses": {
          "200": {
            "description": "Authorized Memory item.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MemoryItemResponse"
                },
                "example": {
                  "ok": true,
                  "item": {
                    "schemaVersion": "personal_memory_view.v2",
                    "memoryRef": "mem_response_style",
                    "version": 1,
                    "title": "Response style",
                    "content": "Prefer concise release briefs that lead with the decision, evidence, and remaining risk.",
                    "category": "preference",
                    "state": "active",
                    "importance": "ordinary",
                    "authority": "user_authored",
                    "origin": {
                      "kind": "conversation",
                      "label": "Account memory"
                    },
                    "scope": {
                      "mode": "account",
                      "label": "Account memory"
                    },
                    "influence": {
                      "eligible": true,
                      "explanation": "Eligible to shape response structure under the active Memory posture."
                    },
                    "createdAt": "2026-09-01T15:00:00Z",
                    "updatedAt": "2026-09-01T15:00:00Z",
                    "capabilities": {
                      "edit": true,
                      "correct": true,
                      "makeImportant": true,
                      "pause": true,
                      "restore": true,
                      "stop": true,
                      "useAgain": true,
                      "delete": true,
                      "versions": true,
                      "proof": true
                    }
                  },
                  "freshness": {
                    "schemaVersion": "memory_projection_freshness.v1",
                    "state": "complete",
                    "readAvailable": true,
                    "mutationAvailable": true,
                    "observedAt": "2026-09-01T15:00:00Z",
                    "explanation": "Eligible to shape response structure under the active Memory posture.",
                    "reasonCodes": [
                      "REPRESENTATIVE_REASON"
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "memory.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "linkToken",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            }
          }
        ],
        "x-indwel-semantics": {
          "authority": "authenticated personal Memory authority",
          "evidenceBoundary": "Memory informs cognition under governance; it is not sovereign evidence",
          "delegation": "user-delegated-only"
        }
      }
    },
    "/v2/account/memory/items/{memoryRef}/keep": {
      "post": {
        "operationId": "memoryKeep",
        "tags": [
          "Memory"
        ],
        "summary": "Keep a Memory item",
        "description": "Keeps the selected item in active personal Memory under versioned lifecycle authority.\n\n**Authority:** authenticated personal Memory authority.\n\n**Contract:** scope `memory.write` · idempotency required · user delegated only.",
        "responses": {
          "200": {
            "description": "Updated Memory item and mutation receipt.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MemoryMutationResponse"
                },
                "example": {
                  "ok": true,
                  "item": {
                    "schemaVersion": "personal_memory_view.v2",
                    "memoryRef": "mem_response_style",
                    "version": 1,
                    "title": "Response style",
                    "content": "Prefer concise release briefs that lead with the decision, evidence, and remaining risk.",
                    "category": "preference",
                    "state": "active",
                    "importance": "ordinary",
                    "authority": "user_authored",
                    "origin": {
                      "kind": "conversation",
                      "label": "Account memory"
                    },
                    "scope": {
                      "mode": "account",
                      "label": "Account memory"
                    },
                    "influence": {
                      "eligible": true,
                      "explanation": "Eligible to shape response structure under the active Memory posture."
                    },
                    "createdAt": "2026-09-01T15:00:00Z",
                    "updatedAt": "2026-09-01T15:00:00Z",
                    "capabilities": {
                      "edit": true,
                      "correct": true,
                      "makeImportant": true,
                      "pause": true,
                      "restore": true,
                      "stop": true,
                      "useAgain": true,
                      "delete": true,
                      "versions": true,
                      "proof": true
                    }
                  },
                  "receipt": {
                    "schemaVersion": "memory_lifecycle_mutation.v2",
                    "action": "keep",
                    "memoryRef": "mem_response_style",
                    "expectedVersion": 1,
                    "resultingVersion": 1,
                    "stateBefore": "active",
                    "stateAfter": "active",
                    "importanceBefore": "ordinary",
                    "importanceAfter": "ordinary",
                    "occurredAt": "2026-09-01T15:00:00Z",
                    "idempotentReplay": true
                  },
                  "freshness": {
                    "schemaVersion": "memory_projection_freshness.v1",
                    "state": "complete",
                    "readAvailable": true,
                    "mutationAvailable": true,
                    "observedAt": "2026-09-01T15:00:00Z",
                    "explanation": "Eligible to shape response structure under the active Memory posture.",
                    "reasonCodes": [
                      "REPRESENTATIVE_REASON"
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "memory.write"
            ]
          }
        ],
        "parameters": [
          {
            "name": "memoryRef",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "description": "Opaque Memory item reference."
          },
          {
            "$ref": "#/components/parameters/MemoryIdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MemoryVersionedActionRequest"
              },
              "example": {
                "expectedVersion": 1
              }
            }
          }
        },
        "x-indwel-semantics": {
          "authority": "authenticated personal Memory authority",
          "evidenceBoundary": "Memory informs cognition under governance; it is not sovereign evidence",
          "delegation": "user-delegated-only",
          "idempotency": "required",
          "receipt": "mutation"
        }
      }
    },
    "/v2/account/memory/items/{memoryRef}/pause": {
      "post": {
        "operationId": "memoryPause",
        "tags": [
          "Memory"
        ],
        "summary": "Pause a Memory item",
        "description": "Pauses use of the selected item without deleting its governed history.\n\n**Authority:** authenticated personal Memory authority.\n\n**Contract:** scope `memory.write` · idempotency required · user delegated only.",
        "responses": {
          "200": {
            "description": "Updated Memory item and mutation receipt.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MemoryMutationResponse"
                },
                "example": {
                  "ok": true,
                  "item": {
                    "schemaVersion": "personal_memory_view.v2",
                    "memoryRef": "mem_response_style",
                    "version": 1,
                    "title": "Response style",
                    "content": "Prefer concise release briefs that lead with the decision, evidence, and remaining risk.",
                    "category": "preference",
                    "state": "active",
                    "importance": "ordinary",
                    "authority": "user_authored",
                    "origin": {
                      "kind": "conversation",
                      "label": "Account memory"
                    },
                    "scope": {
                      "mode": "account",
                      "label": "Account memory"
                    },
                    "influence": {
                      "eligible": true,
                      "explanation": "Eligible to shape response structure under the active Memory posture."
                    },
                    "createdAt": "2026-09-01T15:00:00Z",
                    "updatedAt": "2026-09-01T15:00:00Z",
                    "capabilities": {
                      "edit": true,
                      "correct": true,
                      "makeImportant": true,
                      "pause": true,
                      "restore": true,
                      "stop": true,
                      "useAgain": true,
                      "delete": true,
                      "versions": true,
                      "proof": true
                    }
                  },
                  "receipt": {
                    "schemaVersion": "memory_lifecycle_mutation.v2",
                    "action": "keep",
                    "memoryRef": "mem_response_style",
                    "expectedVersion": 1,
                    "resultingVersion": 1,
                    "stateBefore": "active",
                    "stateAfter": "active",
                    "importanceBefore": "ordinary",
                    "importanceAfter": "ordinary",
                    "occurredAt": "2026-09-01T15:00:00Z",
                    "idempotentReplay": true
                  },
                  "freshness": {
                    "schemaVersion": "memory_projection_freshness.v1",
                    "state": "complete",
                    "readAvailable": true,
                    "mutationAvailable": true,
                    "observedAt": "2026-09-01T15:00:00Z",
                    "explanation": "Eligible to shape response structure under the active Memory posture.",
                    "reasonCodes": [
                      "REPRESENTATIVE_REASON"
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "memory.write"
            ]
          }
        ],
        "parameters": [
          {
            "name": "memoryRef",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "description": "Opaque Memory item reference."
          },
          {
            "$ref": "#/components/parameters/MemoryIdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MemoryVersionedActionRequest"
              },
              "example": {
                "expectedVersion": 1
              }
            }
          }
        },
        "x-indwel-semantics": {
          "authority": "authenticated personal Memory authority",
          "evidenceBoundary": "Memory informs cognition under governance; it is not sovereign evidence",
          "delegation": "user-delegated-only",
          "idempotency": "required",
          "receipt": "mutation"
        }
      }
    },
    "/v2/account/memory/items/{memoryRef}/restore": {
      "post": {
        "operationId": "memoryRestore",
        "tags": [
          "Memory"
        ],
        "summary": "Restore a Memory item",
        "description": "Restores an eligible paused or inactive Memory item under versioned lifecycle authority.\n\n**Authority:** authenticated personal Memory authority.\n\n**Contract:** scope `memory.write` · idempotency required · user delegated only.",
        "responses": {
          "200": {
            "description": "Updated Memory item and mutation receipt.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MemoryMutationResponse"
                },
                "example": {
                  "ok": true,
                  "item": {
                    "schemaVersion": "personal_memory_view.v2",
                    "memoryRef": "mem_response_style",
                    "version": 1,
                    "title": "Response style",
                    "content": "Prefer concise release briefs that lead with the decision, evidence, and remaining risk.",
                    "category": "preference",
                    "state": "active",
                    "importance": "ordinary",
                    "authority": "user_authored",
                    "origin": {
                      "kind": "conversation",
                      "label": "Account memory"
                    },
                    "scope": {
                      "mode": "account",
                      "label": "Account memory"
                    },
                    "influence": {
                      "eligible": true,
                      "explanation": "Eligible to shape response structure under the active Memory posture."
                    },
                    "createdAt": "2026-09-01T15:00:00Z",
                    "updatedAt": "2026-09-01T15:00:00Z",
                    "capabilities": {
                      "edit": true,
                      "correct": true,
                      "makeImportant": true,
                      "pause": true,
                      "restore": true,
                      "stop": true,
                      "useAgain": true,
                      "delete": true,
                      "versions": true,
                      "proof": true
                    }
                  },
                  "receipt": {
                    "schemaVersion": "memory_lifecycle_mutation.v2",
                    "action": "keep",
                    "memoryRef": "mem_response_style",
                    "expectedVersion": 1,
                    "resultingVersion": 1,
                    "stateBefore": "active",
                    "stateAfter": "active",
                    "importanceBefore": "ordinary",
                    "importanceAfter": "ordinary",
                    "occurredAt": "2026-09-01T15:00:00Z",
                    "idempotentReplay": true
                  },
                  "freshness": {
                    "schemaVersion": "memory_projection_freshness.v1",
                    "state": "complete",
                    "readAvailable": true,
                    "mutationAvailable": true,
                    "observedAt": "2026-09-01T15:00:00Z",
                    "explanation": "Eligible to shape response structure under the active Memory posture.",
                    "reasonCodes": [
                      "REPRESENTATIVE_REASON"
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "memory.write"
            ]
          }
        ],
        "parameters": [
          {
            "name": "memoryRef",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "description": "Opaque Memory item reference."
          },
          {
            "$ref": "#/components/parameters/MemoryIdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MemoryVersionedActionRequest"
              },
              "example": {
                "expectedVersion": 1
              }
            }
          }
        },
        "x-indwel-semantics": {
          "authority": "authenticated personal Memory authority",
          "evidenceBoundary": "Memory informs cognition under governance; it is not sovereign evidence",
          "delegation": "user-delegated-only",
          "idempotency": "required",
          "receipt": "mutation"
        }
      }
    },
    "/v2/account/memory/items/{memoryRef}/stop": {
      "post": {
        "operationId": "memoryStop",
        "tags": [
          "Memory"
        ],
        "summary": "Stop using a Memory item",
        "description": "Stops ordinary use of the selected item while preserving governed history.\n\n**Authority:** authenticated personal Memory authority.\n\n**Contract:** scope `memory.write` · idempotency required · user delegated only.",
        "responses": {
          "200": {
            "description": "Updated Memory item and mutation receipt.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MemoryMutationResponse"
                },
                "example": {
                  "ok": true,
                  "item": {
                    "schemaVersion": "personal_memory_view.v2",
                    "memoryRef": "mem_response_style",
                    "version": 1,
                    "title": "Response style",
                    "content": "Prefer concise release briefs that lead with the decision, evidence, and remaining risk.",
                    "category": "preference",
                    "state": "active",
                    "importance": "ordinary",
                    "authority": "user_authored",
                    "origin": {
                      "kind": "conversation",
                      "label": "Account memory"
                    },
                    "scope": {
                      "mode": "account",
                      "label": "Account memory"
                    },
                    "influence": {
                      "eligible": true,
                      "explanation": "Eligible to shape response structure under the active Memory posture."
                    },
                    "createdAt": "2026-09-01T15:00:00Z",
                    "updatedAt": "2026-09-01T15:00:00Z",
                    "capabilities": {
                      "edit": true,
                      "correct": true,
                      "makeImportant": true,
                      "pause": true,
                      "restore": true,
                      "stop": true,
                      "useAgain": true,
                      "delete": true,
                      "versions": true,
                      "proof": true
                    }
                  },
                  "receipt": {
                    "schemaVersion": "memory_lifecycle_mutation.v2",
                    "action": "keep",
                    "memoryRef": "mem_response_style",
                    "expectedVersion": 1,
                    "resultingVersion": 1,
                    "stateBefore": "active",
                    "stateAfter": "active",
                    "importanceBefore": "ordinary",
                    "importanceAfter": "ordinary",
                    "occurredAt": "2026-09-01T15:00:00Z",
                    "idempotentReplay": true
                  },
                  "freshness": {
                    "schemaVersion": "memory_projection_freshness.v1",
                    "state": "complete",
                    "readAvailable": true,
                    "mutationAvailable": true,
                    "observedAt": "2026-09-01T15:00:00Z",
                    "explanation": "Eligible to shape response structure under the active Memory posture.",
                    "reasonCodes": [
                      "REPRESENTATIVE_REASON"
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "memory.write"
            ]
          }
        ],
        "parameters": [
          {
            "name": "memoryRef",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "description": "Opaque Memory item reference."
          },
          {
            "$ref": "#/components/parameters/MemoryIdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MemoryVersionedActionRequest"
              },
              "example": {
                "expectedVersion": 1
              }
            }
          }
        },
        "x-indwel-semantics": {
          "authority": "authenticated personal Memory authority",
          "evidenceBoundary": "Memory informs cognition under governance; it is not sovereign evidence",
          "delegation": "user-delegated-only",
          "idempotency": "required",
          "receipt": "mutation"
        }
      }
    },
    "/v2/account/memory/items/{memoryRef}/use-again": {
      "post": {
        "operationId": "memoryUseAgain",
        "tags": [
          "Memory"
        ],
        "summary": "Use a Memory item again",
        "description": "Returns an eligible stopped Memory item to ordinary governed use.\n\n**Authority:** authenticated personal Memory authority.\n\n**Contract:** scope `memory.write` · idempotency required · user delegated only.",
        "responses": {
          "200": {
            "description": "Updated Memory item and mutation receipt.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MemoryMutationResponse"
                },
                "example": {
                  "ok": true,
                  "item": {
                    "schemaVersion": "personal_memory_view.v2",
                    "memoryRef": "mem_response_style",
                    "version": 1,
                    "title": "Response style",
                    "content": "Prefer concise release briefs that lead with the decision, evidence, and remaining risk.",
                    "category": "preference",
                    "state": "active",
                    "importance": "ordinary",
                    "authority": "user_authored",
                    "origin": {
                      "kind": "conversation",
                      "label": "Account memory"
                    },
                    "scope": {
                      "mode": "account",
                      "label": "Account memory"
                    },
                    "influence": {
                      "eligible": true,
                      "explanation": "Eligible to shape response structure under the active Memory posture."
                    },
                    "createdAt": "2026-09-01T15:00:00Z",
                    "updatedAt": "2026-09-01T15:00:00Z",
                    "capabilities": {
                      "edit": true,
                      "correct": true,
                      "makeImportant": true,
                      "pause": true,
                      "restore": true,
                      "stop": true,
                      "useAgain": true,
                      "delete": true,
                      "versions": true,
                      "proof": true
                    }
                  },
                  "receipt": {
                    "schemaVersion": "memory_lifecycle_mutation.v2",
                    "action": "keep",
                    "memoryRef": "mem_response_style",
                    "expectedVersion": 1,
                    "resultingVersion": 1,
                    "stateBefore": "active",
                    "stateAfter": "active",
                    "importanceBefore": "ordinary",
                    "importanceAfter": "ordinary",
                    "occurredAt": "2026-09-01T15:00:00Z",
                    "idempotentReplay": true
                  },
                  "freshness": {
                    "schemaVersion": "memory_projection_freshness.v1",
                    "state": "complete",
                    "readAvailable": true,
                    "mutationAvailable": true,
                    "observedAt": "2026-09-01T15:00:00Z",
                    "explanation": "Eligible to shape response structure under the active Memory posture.",
                    "reasonCodes": [
                      "REPRESENTATIVE_REASON"
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "memory.write"
            ]
          }
        ],
        "parameters": [
          {
            "name": "memoryRef",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "description": "Opaque Memory item reference."
          },
          {
            "$ref": "#/components/parameters/MemoryIdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MemoryVersionedActionRequest"
              },
              "example": {
                "expectedVersion": 1
              }
            }
          }
        },
        "x-indwel-semantics": {
          "authority": "authenticated personal Memory authority",
          "evidenceBoundary": "Memory informs cognition under governance; it is not sovereign evidence",
          "delegation": "user-delegated-only",
          "idempotency": "required",
          "receipt": "mutation"
        }
      }
    },
    "/v2/account/memory/items/{memoryRef}/edit": {
      "post": {
        "operationId": "memoryEdit",
        "tags": [
          "Memory"
        ],
        "summary": "Edit a Memory item",
        "description": "Edits content fields on an authorized Memory item under optimistic version control.\n\n**Authority:** authenticated personal Memory authority.\n\n**Contract:** scope `memory.write` · idempotency required · user delegated only.",
        "responses": {
          "200": {
            "description": "Updated Memory item and mutation receipt.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MemoryMutationResponse"
                },
                "example": {
                  "ok": true,
                  "item": {
                    "schemaVersion": "personal_memory_view.v2",
                    "memoryRef": "mem_response_style",
                    "version": 1,
                    "title": "Response style",
                    "content": "Prefer concise release briefs that lead with the decision, evidence, and remaining risk.",
                    "category": "preference",
                    "state": "active",
                    "importance": "ordinary",
                    "authority": "user_authored",
                    "origin": {
                      "kind": "conversation",
                      "label": "Account memory"
                    },
                    "scope": {
                      "mode": "account",
                      "label": "Account memory"
                    },
                    "influence": {
                      "eligible": true,
                      "explanation": "Eligible to shape response structure under the active Memory posture."
                    },
                    "createdAt": "2026-09-01T15:00:00Z",
                    "updatedAt": "2026-09-01T15:00:00Z",
                    "capabilities": {
                      "edit": true,
                      "correct": true,
                      "makeImportant": true,
                      "pause": true,
                      "restore": true,
                      "stop": true,
                      "useAgain": true,
                      "delete": true,
                      "versions": true,
                      "proof": true
                    }
                  },
                  "receipt": {
                    "schemaVersion": "memory_lifecycle_mutation.v2",
                    "action": "keep",
                    "memoryRef": "mem_response_style",
                    "expectedVersion": 1,
                    "resultingVersion": 1,
                    "stateBefore": "active",
                    "stateAfter": "active",
                    "importanceBefore": "ordinary",
                    "importanceAfter": "ordinary",
                    "occurredAt": "2026-09-01T15:00:00Z",
                    "idempotentReplay": true
                  },
                  "freshness": {
                    "schemaVersion": "memory_projection_freshness.v1",
                    "state": "complete",
                    "readAvailable": true,
                    "mutationAvailable": true,
                    "observedAt": "2026-09-01T15:00:00Z",
                    "explanation": "Eligible to shape response structure under the active Memory posture.",
                    "reasonCodes": [
                      "REPRESENTATIVE_REASON"
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "memory.write"
            ]
          }
        ],
        "parameters": [
          {
            "name": "memoryRef",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "description": "Opaque Memory item reference."
          },
          {
            "$ref": "#/components/parameters/MemoryIdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MemoryEditRequest"
              },
              "example": {
                "expectedVersion": 1
              }
            }
          }
        },
        "x-indwel-semantics": {
          "authority": "authenticated personal Memory authority",
          "evidenceBoundary": "Memory informs cognition under governance; it is not sovereign evidence",
          "delegation": "user-delegated-only",
          "idempotency": "required",
          "receipt": "mutation"
        }
      }
    },
    "/v2/account/memory/items/{memoryRef}/correct": {
      "post": {
        "operationId": "memoryCorrect",
        "tags": [
          "Memory"
        ],
        "summary": "Correct a Memory item",
        "description": "Creates a corrected replacement while preserving the supersession relationship to the prior item.\n\n**Authority:** authenticated personal Memory authority.\n\n**Contract:** scope `memory.write` · idempotency required · user delegated only.",
        "responses": {
          "200": {
            "description": "Updated Memory item and mutation receipt.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MemoryCorrectionResponse"
                },
                "example": {
                  "ok": true,
                  "item": {
                    "schemaVersion": "personal_memory_view.v2",
                    "memoryRef": "mem_response_style",
                    "version": 1,
                    "title": "Response style",
                    "content": "Prefer concise release briefs that lead with the decision, evidence, and remaining risk.",
                    "category": "preference",
                    "state": "active",
                    "importance": "ordinary",
                    "authority": "user_authored",
                    "origin": {
                      "kind": "conversation",
                      "label": "Account memory"
                    },
                    "scope": {
                      "mode": "account",
                      "label": "Account memory"
                    },
                    "influence": {
                      "eligible": true,
                      "explanation": "Eligible to shape response structure under the active Memory posture."
                    },
                    "createdAt": "2026-09-01T15:00:00Z",
                    "updatedAt": "2026-09-01T15:00:00Z",
                    "capabilities": {
                      "edit": true,
                      "correct": true,
                      "makeImportant": true,
                      "pause": true,
                      "restore": true,
                      "stop": true,
                      "useAgain": true,
                      "delete": true,
                      "versions": true,
                      "proof": true
                    }
                  },
                  "replacedItem": {
                    "schemaVersion": "personal_memory_view.v2",
                    "memoryRef": "mem_response_style",
                    "version": 1,
                    "title": "Response style",
                    "content": "Prefer concise release briefs that lead with the decision, evidence, and remaining risk.",
                    "category": "preference",
                    "state": "active",
                    "importance": "ordinary",
                    "authority": "user_authored",
                    "origin": {
                      "kind": "conversation",
                      "label": "Account memory"
                    },
                    "scope": {
                      "mode": "account",
                      "label": "Account memory"
                    },
                    "influence": {
                      "eligible": true,
                      "explanation": "Eligible to shape response structure under the active Memory posture."
                    },
                    "createdAt": "2026-09-01T15:00:00Z",
                    "updatedAt": "2026-09-01T15:00:00Z",
                    "capabilities": {
                      "edit": true,
                      "correct": true,
                      "makeImportant": true,
                      "pause": true,
                      "restore": true,
                      "stop": true,
                      "useAgain": true,
                      "delete": true,
                      "versions": true,
                      "proof": true
                    }
                  },
                  "receipt": {
                    "schemaVersion": "memory_correction_receipt.v2",
                    "correctedMemoryRef": "correctedmemoryref_01",
                    "replacementMemoryRef": "replacementmemoryref_01",
                    "expectedVersion": 1,
                    "resultingSourceVersion": 1,
                    "replacementVersion": 1,
                    "occurredAt": "2026-09-01T15:00:00Z",
                    "idempotentReplay": true
                  },
                  "freshness": {
                    "schemaVersion": "memory_projection_freshness.v1",
                    "state": "complete",
                    "readAvailable": true,
                    "mutationAvailable": true,
                    "observedAt": "2026-09-01T15:00:00Z",
                    "explanation": "Eligible to shape response structure under the active Memory posture.",
                    "reasonCodes": [
                      "REPRESENTATIVE_REASON"
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "memory.write"
            ]
          }
        ],
        "parameters": [
          {
            "name": "memoryRef",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "description": "Opaque Memory item reference."
          },
          {
            "$ref": "#/components/parameters/MemoryIdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MemoryEditRequest"
              },
              "example": {
                "expectedVersion": 1
              }
            }
          }
        },
        "x-indwel-semantics": {
          "authority": "authenticated personal Memory authority",
          "evidenceBoundary": "Memory informs cognition under governance; it is not sovereign evidence",
          "delegation": "user-delegated-only",
          "idempotency": "required",
          "receipt": "mutation"
        }
      }
    },
    "/v2/account/memory/items/{memoryRef}/importance": {
      "post": {
        "operationId": "memoryImportance",
        "tags": [
          "Memory"
        ],
        "summary": "Change Memory importance",
        "description": "Changes the item's importance posture under versioned personal Memory authority.\n\n**Authority:** authenticated personal Memory authority.\n\n**Contract:** scope `memory.write` · idempotency required · user delegated only.",
        "responses": {
          "200": {
            "description": "Updated Memory item and mutation receipt.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MemoryMutationResponse"
                },
                "example": {
                  "ok": true,
                  "item": {
                    "schemaVersion": "personal_memory_view.v2",
                    "memoryRef": "mem_response_style",
                    "version": 1,
                    "title": "Response style",
                    "content": "Prefer concise release briefs that lead with the decision, evidence, and remaining risk.",
                    "category": "preference",
                    "state": "active",
                    "importance": "ordinary",
                    "authority": "user_authored",
                    "origin": {
                      "kind": "conversation",
                      "label": "Account memory"
                    },
                    "scope": {
                      "mode": "account",
                      "label": "Account memory"
                    },
                    "influence": {
                      "eligible": true,
                      "explanation": "Eligible to shape response structure under the active Memory posture."
                    },
                    "createdAt": "2026-09-01T15:00:00Z",
                    "updatedAt": "2026-09-01T15:00:00Z",
                    "capabilities": {
                      "edit": true,
                      "correct": true,
                      "makeImportant": true,
                      "pause": true,
                      "restore": true,
                      "stop": true,
                      "useAgain": true,
                      "delete": true,
                      "versions": true,
                      "proof": true
                    }
                  },
                  "receipt": {
                    "schemaVersion": "memory_lifecycle_mutation.v2",
                    "action": "keep",
                    "memoryRef": "mem_response_style",
                    "expectedVersion": 1,
                    "resultingVersion": 1,
                    "stateBefore": "active",
                    "stateAfter": "active",
                    "importanceBefore": "ordinary",
                    "importanceAfter": "ordinary",
                    "occurredAt": "2026-09-01T15:00:00Z",
                    "idempotentReplay": true
                  },
                  "freshness": {
                    "schemaVersion": "memory_projection_freshness.v1",
                    "state": "complete",
                    "readAvailable": true,
                    "mutationAvailable": true,
                    "observedAt": "2026-09-01T15:00:00Z",
                    "explanation": "Eligible to shape response structure under the active Memory posture.",
                    "reasonCodes": [
                      "REPRESENTATIVE_REASON"
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "memory.write"
            ]
          }
        ],
        "parameters": [
          {
            "name": "memoryRef",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "description": "Opaque Memory item reference."
          },
          {
            "$ref": "#/components/parameters/MemoryIdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MemoryImportanceRequest"
              },
              "example": {
                "expectedVersion": 1,
                "importance": "ordinary"
              }
            }
          }
        },
        "x-indwel-semantics": {
          "authority": "authenticated personal Memory authority",
          "evidenceBoundary": "Memory informs cognition under governance; it is not sovereign evidence",
          "delegation": "user-delegated-only",
          "idempotency": "required",
          "receipt": "mutation"
        }
      }
    },
    "/v2/account/memory/proposals": {
      "get": {
        "operationId": "listMemoryProposals",
        "tags": [
          "Memory"
        ],
        "summary": "List Memory proposals",
        "description": "Returns inert Memory proposals awaiting the authenticated subject's review. Proposals do not become ordinary Memory until resolved through proposal authority.\n\n**Authority:** authenticated personal Memory authority.\n\n**Contract:** scope `memory.read` · user delegated only.",
        "responses": {
          "200": {
            "description": "Pending Memory proposals.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MemoryProposalListResponse"
                },
                "example": {
                  "ok": true,
                  "proposals": [
                    {
                      "schemaVersion": "memory_proposal_view.v2",
                      "proposalRef": "mprop_release_briefs",
                      "version": 1,
                      "title": "Response style",
                      "content": "Prefer concise release briefs that lead with the decision, evidence, and remaining risk.",
                      "category": "preference",
                      "suggestedImportance": "ordinary",
                      "inert": true,
                      "sourceType": "conversation",
                      "reasonCodes": [
                        "REPRESENTATIVE_REASON"
                      ],
                      "origin": {
                        "label": "Account memory",
                        "sourceType": "conversation",
                        "authorisedRunBound": true,
                        "authorisedSessionBound": true
                      },
                      "scope": {
                        "kind": "account",
                        "label": "Account memory"
                      },
                      "createdAt": "2026-09-01T15:00:00Z",
                      "updatedAt": "2026-09-01T15:00:00Z"
                    }
                  ],
                  "page": {
                    "hasMore": true
                  },
                  "query": {},
                  "freshness": {
                    "schemaVersion": "memory_projection_freshness.v1",
                    "state": "complete",
                    "readAvailable": true,
                    "mutationAvailable": true,
                    "observedAt": "2026-09-01T15:00:00Z",
                    "explanation": "Eligible to shape response structure under the active Memory posture.",
                    "reasonCodes": [
                      "REPRESENTATIVE_REASON"
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "memory.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "minLength": 1
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "minLength": 1
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1
            }
          }
        ],
        "x-indwel-semantics": {
          "authority": "authenticated personal Memory authority",
          "evidenceBoundary": "Memory informs cognition under governance; it is not sovereign evidence",
          "delegation": "user-delegated-only"
        }
      }
    },
    "/v2/account/memory/proposals/batch-dismiss": {
      "post": {
        "operationId": "dismissMemoryProposals",
        "tags": [
          "Memory"
        ],
        "summary": "Dismiss Memory proposals",
        "description": "Dismisses between one and fifty proposals atomically under personal Memory authority.\n\n**Authority:** authenticated personal Memory authority.\n\n**Contract:** scope `memory.write` · idempotency required · user delegated only.",
        "responses": {
          "200": {
            "description": "Dismissal result and receipt.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MemoryProposalBatchDismissalResponse"
                },
                "example": {
                  "ok": true,
                  "dismissed": [
                    {
                      "proposalRef": "mprop_release_briefs",
                      "version": 1,
                      "state": "dismissed"
                    }
                  ],
                  "receipt": {
                    "schemaVersion": "memory_proposal_batch_dismissal_receipt.v2",
                    "authority": "personal_memory_proposal_batch_resolution",
                    "action": "dismiss",
                    "proposalRefs": [
                      "mprop_release_briefs"
                    ],
                    "count": 1,
                    "consequence": "no_active_memory_created",
                    "occurredAt": "2026-09-01T15:00:00Z",
                    "idempotentReplay": true,
                    "nonClaim": "This receipt records the selected proposal dismissals only; it does not settle wider Work."
                  },
                  "freshness": {
                    "schemaVersion": "memory_projection_freshness.v1",
                    "state": "complete",
                    "readAvailable": true,
                    "mutationAvailable": true,
                    "observedAt": "2026-09-01T15:00:00Z",
                    "explanation": "Eligible to shape response structure under the active Memory posture.",
                    "reasonCodes": [
                      "REPRESENTATIVE_REASON"
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "memory.write"
            ]
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/MemoryIdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "proposals"
                ],
                "properties": {
                  "proposals": {
                    "type": "array",
                    "minItems": 1,
                    "maxItems": 50,
                    "items": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "proposalRef",
                        "expectedVersion"
                      ],
                      "properties": {
                        "proposalRef": {
                          "type": "string"
                        },
                        "expectedVersion": {
                          "type": "integer",
                          "minimum": 1
                        }
                      }
                    }
                  }
                }
              },
              "example": {
                "proposals": [
                  {
                    "proposalRef": "mprop_release_briefs",
                    "expectedVersion": 1
                  }
                ]
              }
            }
          }
        },
        "x-indwel-semantics": {
          "authority": "authenticated personal Memory authority",
          "evidenceBoundary": "Memory informs cognition under governance; it is not sovereign evidence",
          "delegation": "user-delegated-only",
          "idempotency": "required",
          "receipt": "proposal-dismissal"
        }
      }
    },
    "/v2/account/memory/proposals/{proposalRef}/resolve": {
      "post": {
        "operationId": "resolveMemoryProposal",
        "tags": [
          "Memory"
        ],
        "summary": "Resolve a Memory proposal",
        "description": "Approves, edits-and-approves, or dismisses an inert proposal. Approval produces an ordinary governed Memory item; it does not create evidence authority.\n\n**Authority:** authenticated personal Memory authority.\n\n**Contract:** scope `memory.write` · idempotency required · user delegated only.",
        "responses": {
          "200": {
            "description": "Proposal resolution and receipt.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MemoryProposalResolutionResponse"
                },
                "example": {
                  "ok": true,
                  "resolution": {
                    "schemaVersion": "memory_proposal_resolution.v2",
                    "action": "approve",
                    "proposalRef": "mprop_release_briefs",
                    "proposalVersion": 1,
                    "resolvedState": "active",
                    "idempotentReplay": true
                  },
                  "receipt": {
                    "schemaVersion": "memory_proposal_resolution_receipt.v2",
                    "authority": "personal_memory_proposal_resolution",
                    "action": "approve",
                    "proposalRef": "mprop_release_briefs",
                    "expectedVersion": 1,
                    "proposalResultingVersion": 1,
                    "proposalStateBefore": "awaiting_approval",
                    "proposalStateAfter": "resolved",
                    "consequence": "active_memory_created",
                    "occurredAt": "2026-09-01T15:00:00Z",
                    "idempotentReplay": true,
                    "nonClaim": "This receipt records the Memory consequence only; it does not settle wider Work."
                  },
                  "freshness": {
                    "schemaVersion": "memory_projection_freshness.v1",
                    "state": "complete",
                    "readAvailable": true,
                    "mutationAvailable": true,
                    "observedAt": "2026-09-01T15:00:00Z",
                    "explanation": "Eligible to shape response structure under the active Memory posture.",
                    "reasonCodes": [
                      "REPRESENTATIVE_REASON"
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "memory.write"
            ]
          }
        ],
        "parameters": [
          {
            "name": "proposalRef",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            }
          },
          {
            "$ref": "#/components/parameters/MemoryIdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MemoryProposalResolutionRequest"
              },
              "example": {
                "expectedVersion": 1,
                "action": "approve"
              }
            }
          }
        },
        "x-indwel-semantics": {
          "authority": "authenticated personal Memory authority",
          "evidenceBoundary": "Memory informs cognition under governance; it is not sovereign evidence",
          "delegation": "user-delegated-only",
          "idempotency": "required",
          "receipt": "proposal-resolution"
        }
      }
    },
    "/v2/account/memory/preferences": {
      "get": {
        "operationId": "getMemoryPreferences",
        "tags": [
          "Memory"
        ],
        "summary": "Get Memory preferences",
        "description": "Returns the authenticated subject's Memory formation and display preferences.\n\n**Authority:** authenticated personal Memory authority.\n\n**Contract:** scope `memory.read` · user delegated only.",
        "responses": {
          "200": {
            "description": "Memory preferences.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MemoryPreferencesResponse"
                },
                "example": {
                  "ok": true,
                  "preferences": {
                    "useSavedMemory": true,
                    "formationMode": "explicit_only",
                    "showSaveNotices": true,
                    "showAnswerImpact": true,
                    "version": 1,
                    "createdAt": "2026-09-01T15:00:00Z",
                    "updatedAt": "2026-09-01T15:00:00Z"
                  },
                  "freshness": {
                    "schemaVersion": "memory_projection_freshness.v1",
                    "state": "complete",
                    "readAvailable": true,
                    "mutationAvailable": true,
                    "observedAt": "2026-09-01T15:00:00Z",
                    "explanation": "Eligible to shape response structure under the active Memory posture.",
                    "reasonCodes": [
                      "REPRESENTATIVE_REASON"
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "memory.read"
            ]
          }
        ],
        "x-indwel-semantics": {
          "authority": "authenticated personal Memory authority",
          "evidenceBoundary": "Memory informs cognition under governance; it is not sovereign evidence",
          "delegation": "user-delegated-only"
        }
      },
      "put": {
        "operationId": "updateMemoryPreferences",
        "tags": [
          "Memory"
        ],
        "summary": "Update Memory preferences",
        "description": "Updates Memory preferences under optimistic version control.\n\n**Authority:** authenticated personal Memory authority.\n\n**Contract:** scope `memory.write` · idempotency required · user delegated only.",
        "responses": {
          "200": {
            "description": "Updated Memory preferences.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MemoryPreferencesResponse"
                },
                "example": {
                  "ok": true,
                  "preferences": {
                    "useSavedMemory": true,
                    "formationMode": "explicit_only",
                    "showSaveNotices": true,
                    "showAnswerImpact": true,
                    "version": 1,
                    "createdAt": "2026-09-01T15:00:00Z",
                    "updatedAt": "2026-09-01T15:00:00Z"
                  },
                  "freshness": {
                    "schemaVersion": "memory_projection_freshness.v1",
                    "state": "complete",
                    "readAvailable": true,
                    "mutationAvailable": true,
                    "observedAt": "2026-09-01T15:00:00Z",
                    "explanation": "Eligible to shape response structure under the active Memory posture.",
                    "reasonCodes": [
                      "REPRESENTATIVE_REASON"
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "memory.write"
            ]
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/MemoryIdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MemoryPreferencesUpdateRequest"
              },
              "example": {
                "expectedVersion": 1
              }
            }
          }
        },
        "x-indwel-semantics": {
          "authority": "authenticated personal Memory authority",
          "evidenceBoundary": "Memory informs cognition under governance; it is not sovereign evidence",
          "delegation": "user-delegated-only",
          "idempotency": "required"
        }
      }
    },
    "/v2/account/memory/exports": {
      "post": {
        "operationId": "exportMemory",
        "tags": [
          "Memory"
        ],
        "summary": "Export personal Memory",
        "description": "Returns either a safe current inventory or a complete personal archive. This is a read projection expressed as POST because the export variant and query are supplied as a body.\n\n**Authority:** authenticated personal Memory authority.\n\n**Contract:** scope `memory.read` · user delegated only.",
        "responses": {
          "200": {
            "description": "Memory export packet.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MemoryExportResponse"
                },
                "example": {
                  "ok": true,
                  "schemaVersion": "memory_export_packet.v2",
                  "variant": "safe_current_inventory",
                  "exportedAt": "2026-09-01T15:00:00Z",
                  "count": 1,
                  "query": {},
                  "items": [
                    {
                      "schemaVersion": "personal_memory_view.v2",
                      "memoryRef": "mem_response_style",
                      "version": 1,
                      "title": "Response style",
                      "content": "Prefer concise release briefs that lead with the decision, evidence, and remaining risk.",
                      "category": "preference",
                      "state": "active",
                      "importance": "ordinary",
                      "authority": "user_authored",
                      "origin": {
                        "kind": "conversation",
                        "label": "Account memory"
                      },
                      "scope": {
                        "mode": "account",
                        "label": "Account memory"
                      },
                      "influence": {
                        "eligible": true,
                        "explanation": "Eligible to shape response structure under the active Memory posture."
                      },
                      "createdAt": "2026-09-01T15:00:00Z",
                      "updatedAt": "2026-09-01T15:00:00Z",
                      "capabilities": {
                        "edit": true,
                        "correct": true,
                        "makeImportant": true,
                        "pause": true,
                        "restore": true,
                        "stop": true,
                        "useAgain": true,
                        "delete": true,
                        "versions": true,
                        "proof": true
                      }
                    }
                  ],
                  "freshness": {
                    "schemaVersion": "memory_projection_freshness.v1",
                    "state": "complete",
                    "readAvailable": true,
                    "mutationAvailable": true,
                    "observedAt": "2026-09-01T15:00:00Z",
                    "explanation": "Eligible to shape response structure under the active Memory posture.",
                    "reasonCodes": [
                      "REPRESENTATIVE_REASON"
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "memory.read"
            ]
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MemoryExportRequest"
              },
              "example": {}
            }
          }
        },
        "x-indwel-semantics": {
          "authority": "authenticated personal Memory authority",
          "evidenceBoundary": "Memory informs cognition under governance; it is not sovereign evidence",
          "delegation": "user-delegated-only"
        }
      }
    },
    "/v2/account/memory/answer-links/{answerLinkToken}": {
      "get": {
        "operationId": "resolveMemoryAnswerImpactLink",
        "tags": [
          "Memory"
        ],
        "summary": "Resolve an answer-impact link",
        "description": "Resolves an opaque link to a terminal Memory answer-impact receipt for the authenticated subject.\n\n**Authority:** authenticated personal Memory authority.\n\n**Contract:** scope `memory.read` · user delegated only.",
        "responses": {
          "200": {
            "description": "Terminal Memory answer-impact receipt.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MemoryAnswerImpactResponse"
                },
                "example": {
                  "ok": true,
                  "answerRef": "answer_vendor_risk_01",
                  "receipt": {
                    "schemaVersion": 2,
                    "source": "memory_answer_impact_receipt.v2",
                    "answerRef": "answer_vendor_risk_01",
                    "terminalEffectId": "effect_answer_vendor_risk_01",
                    "terminalOutboxEventId": "outbox_answer_vendor_risk_01",
                    "settlement": {
                      "state": "settled",
                      "settledAt": "2026-09-01T15:00:00Z"
                    },
                    "requestedPosture": "account_default",
                    "effectivePosture": "account_default",
                    "outcome": "memory_helped",
                    "helpedShape": [
                      {
                        "memoryRef": "mem_response_style"
                      }
                    ],
                    "consideredNotUsed": [
                      {
                        "memoryRef": "mem_response_style",
                        "title": "Response style",
                        "explanation": "Eligible to shape response structure under the active Memory posture."
                      }
                    ],
                    "heldBack": [
                      {
                        "label": "Account memory",
                        "reason": "REPRESENTATIVE_REASON"
                      }
                    ],
                    "suggestions": [
                      {
                        "proposalRef": "mprop_release_briefs",
                        "title": "Response style",
                        "state": "awaiting_approval"
                      }
                    ],
                    "completeness": "complete",
                    "nonClaims": [
                      "retrieval_or_admission_alone_does_not_prove_answer_influence",
                      "suggestions_are_inert_until_explicit_approval"
                    ]
                  },
                  "freshness": {
                    "schemaVersion": "memory_projection_freshness.v1",
                    "state": "complete",
                    "readAvailable": true,
                    "mutationAvailable": true,
                    "observedAt": "2026-09-01T15:00:00Z",
                    "explanation": "Eligible to shape response structure under the active Memory posture.",
                    "reasonCodes": [
                      "REPRESENTATIVE_REASON"
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "memory.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "answerLinkToken",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            }
          }
        ],
        "x-indwel-semantics": {
          "authority": "authenticated personal Memory authority",
          "evidenceBoundary": "Memory informs cognition under governance; it is not sovereign evidence",
          "delegation": "user-delegated-only"
        }
      }
    },
    "/v2/work/{workRef}/memory-posture": {
      "get": {
        "operationId": "getWorkMemoryPosture",
        "tags": [
          "Memory"
        ],
        "summary": "Get Work Memory posture",
        "description": "Returns how authorized personal Memory may participate in the selected durable Work. Work authority and personal Memory authority remain distinct.\n\n**Authority:** authenticated personal Memory authority.\n\n**Contract:** scope `memory.read` · user delegated only.",
        "responses": {
          "200": {
            "description": "Work-bound Memory posture.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MemoryWorkPostureGetResponse"
                },
                "example": {
                  "ok": true,
                  "posture": {
                    "schemaVersion": 2,
                    "source": "memory_work_posture.v2",
                    "workRef": "work_vendor_risk_review",
                    "requestedPosture": "account_default",
                    "version": 1,
                    "createdAt": "2026-09-01T15:00:00Z",
                    "updatedAt": "2026-09-01T15:00:00Z"
                  },
                  "persisted": true,
                  "freshness": {
                    "schemaVersion": "memory_projection_freshness.v1",
                    "state": "complete",
                    "readAvailable": true,
                    "mutationAvailable": true,
                    "observedAt": "2026-09-01T15:00:00Z",
                    "explanation": "Eligible to shape response structure under the active Memory posture.",
                    "reasonCodes": [
                      "REPRESENTATIVE_REASON"
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "memory.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "workRef",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            }
          }
        ],
        "x-indwel-semantics": {
          "authority": "authenticated personal Memory authority",
          "evidenceBoundary": "Memory informs cognition under governance; it is not sovereign evidence",
          "delegation": "user-delegated-only"
        }
      },
      "put": {
        "operationId": "updateWorkMemoryPosture",
        "tags": [
          "Memory"
        ],
        "summary": "Update Work Memory posture",
        "description": "Updates the authenticated subject's Work-bound Memory posture under optimistic version and idempotency authority.\n\n**Authority:** authenticated personal Memory authority.\n\n**Contract:** scope `memory.write` · idempotency required · user delegated only.",
        "responses": {
          "200": {
            "description": "Updated Work-bound Memory posture.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MemoryWorkPosturePutResponse"
                },
                "example": {
                  "ok": true,
                  "posture": {
                    "schemaVersion": 2,
                    "source": "memory_work_posture.v2",
                    "workRef": "work_vendor_risk_review",
                    "requestedPosture": "account_default",
                    "version": 1,
                    "createdAt": "2026-09-01T15:00:00Z",
                    "updatedAt": "2026-09-01T15:00:00Z"
                  },
                  "created": true,
                  "idempotentReplay": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "memory.write"
            ]
          }
        ],
        "parameters": [
          {
            "name": "workRef",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            }
          },
          {
            "$ref": "#/components/parameters/MemoryIdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MemoryWorkPostureUpdateRequest"
              },
              "example": {
                "requestedPosture": "account_default",
                "expectedVersion": 1
              }
            }
          }
        },
        "x-indwel-semantics": {
          "authority": "authenticated personal Memory authority",
          "evidenceBoundary": "Memory informs cognition under governance; it is not sovereign evidence",
          "delegation": "user-delegated-only",
          "idempotency": "required"
        }
      }
    },
    "/v2/answers/{answerRef}/memory-impact": {
      "get": {
        "operationId": "getAnswerMemoryImpact",
        "tags": [
          "Memory"
        ],
        "summary": "Get Memory impact for an answer",
        "description": "Returns the terminal receipt describing how Memory affected an authorized answer. The receipt reports Memory influence without converting Memory into evidence.\n\n**Authority:** authenticated personal Memory authority.\n\n**Contract:** scope `memory.read` · user delegated only.",
        "responses": {
          "200": {
            "description": "Terminal Memory answer-impact receipt.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MemoryAnswerImpactResponse"
                },
                "example": {
                  "ok": true,
                  "answerRef": "answer_vendor_risk_01",
                  "receipt": {
                    "schemaVersion": 2,
                    "source": "memory_answer_impact_receipt.v2",
                    "answerRef": "answer_vendor_risk_01",
                    "terminalEffectId": "effect_answer_vendor_risk_01",
                    "terminalOutboxEventId": "outbox_answer_vendor_risk_01",
                    "settlement": {
                      "state": "settled",
                      "settledAt": "2026-09-01T15:00:00Z"
                    },
                    "requestedPosture": "account_default",
                    "effectivePosture": "account_default",
                    "outcome": "memory_helped",
                    "helpedShape": [
                      {
                        "memoryRef": "mem_response_style"
                      }
                    ],
                    "consideredNotUsed": [
                      {
                        "memoryRef": "mem_response_style",
                        "title": "Response style",
                        "explanation": "Eligible to shape response structure under the active Memory posture."
                      }
                    ],
                    "heldBack": [
                      {
                        "label": "Account memory",
                        "reason": "REPRESENTATIVE_REASON"
                      }
                    ],
                    "suggestions": [
                      {
                        "proposalRef": "mprop_release_briefs",
                        "title": "Response style",
                        "state": "awaiting_approval"
                      }
                    ],
                    "completeness": "complete",
                    "nonClaims": [
                      "retrieval_or_admission_alone_does_not_prove_answer_influence",
                      "suggestions_are_inert_until_explicit_approval"
                    ]
                  },
                  "freshness": {
                    "schemaVersion": "memory_projection_freshness.v1",
                    "state": "complete",
                    "readAvailable": true,
                    "mutationAvailable": true,
                    "observedAt": "2026-09-01T15:00:00Z",
                    "explanation": "Eligible to shape response structure under the active Memory posture.",
                    "reasonCodes": [
                      "REPRESENTATIVE_REASON"
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "memory.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "answerRef",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            }
          }
        ],
        "x-indwel-semantics": {
          "authority": "authenticated personal Memory authority",
          "evidenceBoundary": "Memory informs cognition under governance; it is not sovereign evidence",
          "delegation": "user-delegated-only"
        }
      }
    },
    "/v2/answers/{answerRef}/memory-impact/links": {
      "post": {
        "operationId": "createAnswerMemoryImpactLink",
        "tags": [
          "Memory"
        ],
        "summary": "Create an answer-impact link",
        "description": "Creates an opaque link token for the selected terminal Memory answer-impact receipt.\n\n**Authority:** authenticated personal Memory authority.\n\n**Contract:** scope `memory.write` · user delegated only.",
        "responses": {
          "201": {
            "description": "Opaque answer-impact link token.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MemoryLinkCreateResponse"
                },
                "example": {
                  "ok": true,
                  "linkToken": "memlink_response_style",
                  "createdAt": "2026-09-01T15:00:00Z"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "memory.write"
            ]
          }
        ],
        "parameters": [
          {
            "name": "answerRef",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            }
          }
        ],
        "x-indwel-semantics": {
          "authority": "authenticated personal Memory authority",
          "evidenceBoundary": "Memory informs cognition under governance; it is not sovereign evidence",
          "delegation": "user-delegated-only"
        }
      }
    },
    "/v1/scheduled-work/proposals": {
      "post": {
        "operationId": "proposeScheduledWork",
        "tags": [
          "Scheduled Work"
        ],
        "summary": "Propose Scheduled Work",
        "description": "Compiles a natural-language request into a charter proposal for governed work due at a time or condition. A proposal is not active Scheduled Work until accepted through creation.\n\n**Authority:** authenticated principal and backend Scheduled Work charter authority.\n\n**Contract:** scope `scheduled-work.write` · durable asynchronous.",
        "responses": {
          "200": {
            "description": "Scheduled Work charter proposal.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScheduledWorkProposalProjection"
                },
                "example": {
                  "schemaVersion": "indwel.scheduled_work.v1",
                  "proposal": {
                    "schemaVersion": "indwel.scheduled_work.v1",
                    "proposalId": "swp_vendor_risk_watch",
                    "principalId": "user_christian",
                    "tenantId": "org_acme",
                    "workspaceId": "ws_vendor_risk",
                    "request": "Check the approved vendor-risk sources each weekday and report material changes.",
                    "title": "Vendor risk change watch",
                    "kind": "scheduled_observation",
                    "charter": {
                      "objective": "Detect material changes in the approved vendor-risk evidence set.",
                      "mission": "Review admitted sources on schedule and surface only changes that alter the current risk posture.",
                      "sourcePolicy": {
                        "requiredAuthority": "workspace membership and admitted source authority",
                        "sourceSelectionPolicy": "named_sources_only",
                        "namedSourceIds": [
                          "source_vendor_status"
                        ],
                        "permittedDomains": [
                          "vendor.example"
                        ],
                        "openWebFallback": "deny"
                      },
                      "stoppingRule": "Stop after the admitted sources are checked or the run budget is exhausted.",
                      "ordinaryCognitionPolicy": "eligible_when_admitted_and_fresh",
                      "mutationPolicy": "read_only"
                    },
                    "schedule": {
                      "kind": "manual"
                    },
                    "scheduleTimeZoneAssumed": true,
                    "requiresUserReview": true,
                    "reviewReasonCodes": [
                      "REPRESENTATIVE_REASON"
                    ],
                    "reasonCodes": [
                      "REPRESENTATIVE_REASON"
                    ],
                    "compiledAt": "2026-09-01T15:00:00Z",
                    "digest": "sha256:example"
                  },
                  "reasonCodes": [
                    "REPRESENTATIVE_REASON"
                  ],
                  "digest": "sha256:example"
                }
              }
            }
          },
          "400": {
            "description": "Invalid Scheduled Work request",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://api.indwel.ai/problems/scheduled-work-body-object-required",
                  "title": "Invalid Scheduled Work request",
                  "status": 400,
                  "detail": "The request body must be a JSON object.",
                  "instance": "/v1/scheduled-work/proposals",
                  "code": "SCHEDULED_WORK_BODY_OBJECT_REQUIRED",
                  "traceId": "trace_01J0EXAMPLE",
                  "retryable": false
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "scheduled-work.write"
            ]
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ScheduledWorkProposalRequest"
              },
              "example": {
                "workspaceId": "ws_vendor_risk",
                "request": "Check the approved vendor-risk sources each weekday and report material changes."
              }
            }
          }
        },
        "x-indwel-semantics": {
          "authority": "authenticated principal and backend Scheduled Work charter authority",
          "asynchrony": "durable; HTTP timeout does not imply cancellation"
        }
      }
    },
    "/v1/scheduled-work": {
      "post": {
        "operationId": "createScheduledWork",
        "tags": [
          "Scheduled Work"
        ],
        "summary": "Create Scheduled Work",
        "description": "Creates durable Scheduled Work from an accepted charter proposal. The recurring clock is backend infrastructure and is not itself an API resource.\n\n**Authority:** authenticated principal and backend Scheduled Work charter authority.\n\n**Contract:** scope `scheduled-work.write` · bounded write · durable asynchronous.",
        "responses": {
          "201": {
            "description": "Scheduled Work detail.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScheduledWorkDetailProjection"
                },
                "example": {
                  "schemaVersion": "indwel.scheduled_work.v1",
                  "watchpoint": {
                    "watchpointId": "sw_vendor_risk_watch",
                    "title": "Vendor risk change watch",
                    "kind": "scheduled_observation",
                    "status": "active",
                    "charterVersion": 1,
                    "charter": {
                      "objective": "Detect material changes in the approved vendor-risk evidence set.",
                      "mission": "Review admitted sources on schedule and surface only changes that alter the current risk posture.",
                      "sourcePolicy": {
                        "requiredAuthority": "workspace membership and admitted source authority",
                        "sourceSelectionPolicy": "named_sources_only",
                        "namedSourceIds": [
                          "source_vendor_status"
                        ],
                        "permittedDomains": [
                          "vendor.example"
                        ],
                        "openWebFallback": "deny"
                      },
                      "stoppingRule": "Stop after the admitted sources are checked or the run budget is exhausted.",
                      "ordinaryCognitionPolicy": "eligible_when_admitted_and_fresh",
                      "mutationPolicy": "read_only"
                    },
                    "schedule": {
                      "kind": "manual"
                    },
                    "budget": {
                      "maxRunsPerWindow": 1,
                      "windowMinutes": 1,
                      "maxAcquisitionsPerRun": 1,
                      "maxWallClockMsPerRun": 1,
                      "maxCostUnitsPerRun": 1
                    },
                    "notificationPolicy": {},
                    "retentionPolicy": {},
                    "createdAt": "2026-09-01T15:00:00Z",
                    "updatedAt": "2026-09-01T15:00:00Z",
                    "reasonCodes": [
                      "REPRESENTATIVE_REASON"
                    ]
                  },
                  "readModel": {
                    "schemaVersion": "indwel.scheduled_work.v1",
                    "watchpointId": "sw_vendor_risk_watch",
                    "title": "Vendor risk change watch",
                    "status": "draft",
                    "ownership": {
                      "workspaceId": "ws_vendor_risk",
                      "ownerPrincipalId": "user_christian",
                      "visibility": "private"
                    },
                    "charter": {
                      "mission": "Review admitted sources on schedule and surface only changes that alter the current risk posture.",
                      "requiredAuthority": "workspace membership and admitted source authority",
                      "ordinaryCognitionPolicy": "eligible_when_admitted_and_fresh",
                      "readOnly": true
                    },
                    "schedule": {
                      "kind": "manual"
                    },
                    "capabilities": {
                      "canView": true,
                      "canEdit": true,
                      "canRunTest": true,
                      "canPause": true,
                      "canResume": true,
                      "canArchive": true
                    },
                    "reasonCodes": [
                      "REPRESENTATIVE_REASON"
                    ]
                  },
                  "lifecycleControls": {},
                  "runHistory": [
                    {
                      "runId": "run_vendor_watch_20260902",
                      "invocation": "manual_test",
                      "outcome": "completed",
                      "startedAt": "2026-09-01T15:00:00Z",
                      "settledAt": "2026-09-01T15:00:00Z",
                      "sourceObservationCount": 1,
                      "artifactCount": 1,
                      "reportCount": 1,
                      "reasonCodes": [
                        "REPRESENTATIVE_REASON"
                      ]
                    }
                  ],
                  "observationJournal": [
                    {
                      "observationId": "obs_vendor_status_20260902",
                      "runId": "run_vendor_watch_20260902",
                      "sourceId": "source_vendor_status",
                      "sourceLocator": "https://example.invalid/vendor/status",
                      "contentDigest": "sha256:example",
                      "observedAt": "2026-09-01T15:00:00Z",
                      "reasonCodes": [
                        "REPRESENTATIVE_REASON"
                      ]
                    }
                  ],
                  "reports": [
                    {
                      "reportId": "report_vendor_watch_20260902",
                      "artifactId": "artifact_vendor_watch_20260902",
                      "runId": "run_vendor_watch_20260902",
                      "title": "Vendor risk change watch",
                      "abstract": "No material vendor-risk change was found in the admitted evidence.",
                      "createdAt": "2026-09-01T15:00:00Z",
                      "observedAsOf": "2026-09-01T15:00:00Z",
                      "sourceObservationCount": 1,
                      "retentionClass": "standard",
                      "contentDigest": "sha256:example",
                      "reasonCodes": [
                        "REPRESENTATIVE_REASON"
                      ]
                    }
                  ],
                  "reasonCodes": [
                    "REPRESENTATIVE_REASON"
                  ],
                  "digest": "sha256:example"
                }
              }
            }
          },
          "400": {
            "description": "Invalid Scheduled Work request",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://api.indwel.ai/problems/scheduled-work-body-object-required",
                  "title": "Invalid Scheduled Work request",
                  "status": 400,
                  "detail": "The request body must be a JSON object.",
                  "instance": "/v1/scheduled-work",
                  "code": "SCHEDULED_WORK_BODY_OBJECT_REQUIRED",
                  "traceId": "trace_01J0EXAMPLE",
                  "retryable": false
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "scheduled-work.write"
            ]
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ScheduledWorkCreateRequest"
              },
              "example": {
                "proposal": {
                  "schemaVersion": "indwel.scheduled_work.v1",
                  "proposalId": "swp_vendor_risk_watch",
                  "principalId": "user_christian",
                  "tenantId": "org_acme",
                  "workspaceId": "ws_vendor_risk",
                  "request": "Check the approved vendor-risk sources each weekday and report material changes.",
                  "title": "Vendor risk change watch",
                  "kind": "scheduled_observation",
                  "charter": {
                    "objective": "Detect material changes in the approved vendor-risk evidence set.",
                    "mission": "Review admitted sources on schedule and surface only changes that alter the current risk posture.",
                    "sourcePolicy": {
                      "requiredAuthority": "workspace membership and admitted source authority",
                      "sourceSelectionPolicy": "named_sources_only",
                      "namedSourceIds": [
                        "source_vendor_status"
                      ],
                      "permittedDomains": [
                        "vendor.example"
                      ],
                      "openWebFallback": "deny"
                    },
                    "stoppingRule": "Stop after the admitted sources are checked or the run budget is exhausted.",
                    "ordinaryCognitionPolicy": "eligible_when_admitted_and_fresh",
                    "mutationPolicy": "read_only"
                  },
                  "schedule": {
                    "kind": "manual"
                  },
                  "scheduleTimeZoneAssumed": true,
                  "requiresUserReview": true,
                  "reviewReasonCodes": [
                    "REPRESENTATIVE_REASON"
                  ],
                  "reasonCodes": [
                    "REPRESENTATIVE_REASON"
                  ],
                  "compiledAt": "2026-09-01T15:00:00Z",
                  "digest": "sha256:example"
                },
                "acceptedByPrincipalId": "acceptedbyprincipalid_01"
              }
            }
          }
        },
        "x-indwel-semantics": {
          "authority": "authenticated principal and backend Scheduled Work charter authority",
          "asynchrony": "durable; HTTP timeout does not imply cancellation",
          "effect": "bounded-write"
        }
      },
      "get": {
        "operationId": "listScheduledWork",
        "tags": [
          "Scheduled Work"
        ],
        "summary": "List Scheduled Work",
        "description": "Lists Scheduled Work visible to the authenticated principal.\n\n**Authority:** authenticated principal and backend Scheduled Work charter authority.\n\n**Contract:** scope `scheduled-work.read` · durable asynchronous.",
        "responses": {
          "200": {
            "description": "Scheduled Work list.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScheduledWorkListProjection"
                },
                "example": {
                  "schemaVersion": "indwel.scheduled_work.v1",
                  "items": [
                    {
                      "schemaVersion": "indwel.scheduled_work.v1",
                      "watchpointId": "sw_vendor_risk_watch",
                      "title": "Vendor risk change watch",
                      "status": "draft",
                      "ownership": {
                        "workspaceId": "ws_vendor_risk",
                        "ownerPrincipalId": "user_christian",
                        "visibility": "private"
                      },
                      "charter": {
                        "mission": "Review admitted sources on schedule and surface only changes that alter the current risk posture.",
                        "requiredAuthority": "workspace membership and admitted source authority",
                        "ordinaryCognitionPolicy": "eligible_when_admitted_and_fresh",
                        "readOnly": true
                      },
                      "schedule": {
                        "kind": "manual"
                      },
                      "capabilities": {
                        "canView": true,
                        "canEdit": true,
                        "canRunTest": true,
                        "canPause": true,
                        "canResume": true,
                        "canArchive": true
                      },
                      "reasonCodes": [
                        "REPRESENTATIVE_REASON"
                      ]
                    }
                  ],
                  "reasonCodes": [
                    "REPRESENTATIVE_REASON"
                  ],
                  "digest": "sha256:example"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "scheduled-work.read"
            ]
          }
        ],
        "x-indwel-semantics": {
          "authority": "authenticated principal and backend Scheduled Work charter authority",
          "asynchrony": "durable; HTTP timeout does not imply cancellation"
        }
      }
    },
    "/v1/scheduled-work/{watchpointId}": {
      "get": {
        "operationId": "getScheduledWork",
        "tags": [
          "Scheduled Work"
        ],
        "summary": "Get Scheduled Work",
        "description": "Returns the durable charter, lifecycle, and report projection for one authorized Scheduled Work item.\n\n**Authority:** authenticated principal and backend Scheduled Work charter authority.\n\n**Contract:** scope `scheduled-work.read` · durable asynchronous.",
        "responses": {
          "200": {
            "description": "Scheduled Work detail.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScheduledWorkDetailProjection"
                },
                "example": {
                  "schemaVersion": "indwel.scheduled_work.v1",
                  "watchpoint": {
                    "watchpointId": "sw_vendor_risk_watch",
                    "title": "Vendor risk change watch",
                    "kind": "scheduled_observation",
                    "status": "active",
                    "charterVersion": 1,
                    "charter": {
                      "objective": "Detect material changes in the approved vendor-risk evidence set.",
                      "mission": "Review admitted sources on schedule and surface only changes that alter the current risk posture.",
                      "sourcePolicy": {
                        "requiredAuthority": "workspace membership and admitted source authority",
                        "sourceSelectionPolicy": "named_sources_only",
                        "namedSourceIds": [
                          "source_vendor_status"
                        ],
                        "permittedDomains": [
                          "vendor.example"
                        ],
                        "openWebFallback": "deny"
                      },
                      "stoppingRule": "Stop after the admitted sources are checked or the run budget is exhausted.",
                      "ordinaryCognitionPolicy": "eligible_when_admitted_and_fresh",
                      "mutationPolicy": "read_only"
                    },
                    "schedule": {
                      "kind": "manual"
                    },
                    "budget": {
                      "maxRunsPerWindow": 1,
                      "windowMinutes": 1,
                      "maxAcquisitionsPerRun": 1,
                      "maxWallClockMsPerRun": 1,
                      "maxCostUnitsPerRun": 1
                    },
                    "notificationPolicy": {},
                    "retentionPolicy": {},
                    "createdAt": "2026-09-01T15:00:00Z",
                    "updatedAt": "2026-09-01T15:00:00Z",
                    "reasonCodes": [
                      "REPRESENTATIVE_REASON"
                    ]
                  },
                  "readModel": {
                    "schemaVersion": "indwel.scheduled_work.v1",
                    "watchpointId": "sw_vendor_risk_watch",
                    "title": "Vendor risk change watch",
                    "status": "draft",
                    "ownership": {
                      "workspaceId": "ws_vendor_risk",
                      "ownerPrincipalId": "user_christian",
                      "visibility": "private"
                    },
                    "charter": {
                      "mission": "Review admitted sources on schedule and surface only changes that alter the current risk posture.",
                      "requiredAuthority": "workspace membership and admitted source authority",
                      "ordinaryCognitionPolicy": "eligible_when_admitted_and_fresh",
                      "readOnly": true
                    },
                    "schedule": {
                      "kind": "manual"
                    },
                    "capabilities": {
                      "canView": true,
                      "canEdit": true,
                      "canRunTest": true,
                      "canPause": true,
                      "canResume": true,
                      "canArchive": true
                    },
                    "reasonCodes": [
                      "REPRESENTATIVE_REASON"
                    ]
                  },
                  "lifecycleControls": {},
                  "runHistory": [
                    {
                      "runId": "run_vendor_watch_20260902",
                      "invocation": "manual_test",
                      "outcome": "completed",
                      "startedAt": "2026-09-01T15:00:00Z",
                      "settledAt": "2026-09-01T15:00:00Z",
                      "sourceObservationCount": 1,
                      "artifactCount": 1,
                      "reportCount": 1,
                      "reasonCodes": [
                        "REPRESENTATIVE_REASON"
                      ]
                    }
                  ],
                  "observationJournal": [
                    {
                      "observationId": "obs_vendor_status_20260902",
                      "runId": "run_vendor_watch_20260902",
                      "sourceId": "source_vendor_status",
                      "sourceLocator": "https://example.invalid/vendor/status",
                      "contentDigest": "sha256:example",
                      "observedAt": "2026-09-01T15:00:00Z",
                      "reasonCodes": [
                        "REPRESENTATIVE_REASON"
                      ]
                    }
                  ],
                  "reports": [
                    {
                      "reportId": "report_vendor_watch_20260902",
                      "artifactId": "artifact_vendor_watch_20260902",
                      "runId": "run_vendor_watch_20260902",
                      "title": "Vendor risk change watch",
                      "abstract": "No material vendor-risk change was found in the admitted evidence.",
                      "createdAt": "2026-09-01T15:00:00Z",
                      "observedAsOf": "2026-09-01T15:00:00Z",
                      "sourceObservationCount": 1,
                      "retentionClass": "standard",
                      "contentDigest": "sha256:example",
                      "reasonCodes": [
                        "REPRESENTATIVE_REASON"
                      ]
                    }
                  ],
                  "reasonCodes": [
                    "REPRESENTATIVE_REASON"
                  ],
                  "digest": "sha256:example"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "scheduled-work.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "watchpointId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "description": "Current underlying Scheduled Work identifier. The external product noun remains Scheduled Work."
          }
        ],
        "x-indwel-semantics": {
          "authority": "authenticated principal and backend Scheduled Work charter authority",
          "asynchrony": "durable; HTTP timeout does not imply cancellation"
        }
      },
      "patch": {
        "operationId": "editScheduledWork",
        "tags": [
          "Scheduled Work"
        ],
        "summary": "Edit Scheduled Work",
        "description": "Replaces the accepted charter proposal under optimistic charter-version authority.\n\n**Authority:** authenticated principal and backend Scheduled Work charter authority.\n\n**Contract:** scope `scheduled-work.write` · optimistic concurrency · durable asynchronous.",
        "responses": {
          "200": {
            "description": "Updated Scheduled Work detail.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScheduledWorkDetailProjection"
                },
                "example": {
                  "schemaVersion": "indwel.scheduled_work.v1",
                  "watchpoint": {
                    "watchpointId": "sw_vendor_risk_watch",
                    "title": "Vendor risk change watch",
                    "kind": "scheduled_observation",
                    "status": "active",
                    "charterVersion": 1,
                    "charter": {
                      "objective": "Detect material changes in the approved vendor-risk evidence set.",
                      "mission": "Review admitted sources on schedule and surface only changes that alter the current risk posture.",
                      "sourcePolicy": {
                        "requiredAuthority": "workspace membership and admitted source authority",
                        "sourceSelectionPolicy": "named_sources_only",
                        "namedSourceIds": [
                          "source_vendor_status"
                        ],
                        "permittedDomains": [
                          "vendor.example"
                        ],
                        "openWebFallback": "deny"
                      },
                      "stoppingRule": "Stop after the admitted sources are checked or the run budget is exhausted.",
                      "ordinaryCognitionPolicy": "eligible_when_admitted_and_fresh",
                      "mutationPolicy": "read_only"
                    },
                    "schedule": {
                      "kind": "manual"
                    },
                    "budget": {
                      "maxRunsPerWindow": 1,
                      "windowMinutes": 1,
                      "maxAcquisitionsPerRun": 1,
                      "maxWallClockMsPerRun": 1,
                      "maxCostUnitsPerRun": 1
                    },
                    "notificationPolicy": {},
                    "retentionPolicy": {},
                    "createdAt": "2026-09-01T15:00:00Z",
                    "updatedAt": "2026-09-01T15:00:00Z",
                    "reasonCodes": [
                      "REPRESENTATIVE_REASON"
                    ]
                  },
                  "readModel": {
                    "schemaVersion": "indwel.scheduled_work.v1",
                    "watchpointId": "sw_vendor_risk_watch",
                    "title": "Vendor risk change watch",
                    "status": "draft",
                    "ownership": {
                      "workspaceId": "ws_vendor_risk",
                      "ownerPrincipalId": "user_christian",
                      "visibility": "private"
                    },
                    "charter": {
                      "mission": "Review admitted sources on schedule and surface only changes that alter the current risk posture.",
                      "requiredAuthority": "workspace membership and admitted source authority",
                      "ordinaryCognitionPolicy": "eligible_when_admitted_and_fresh",
                      "readOnly": true
                    },
                    "schedule": {
                      "kind": "manual"
                    },
                    "capabilities": {
                      "canView": true,
                      "canEdit": true,
                      "canRunTest": true,
                      "canPause": true,
                      "canResume": true,
                      "canArchive": true
                    },
                    "reasonCodes": [
                      "REPRESENTATIVE_REASON"
                    ]
                  },
                  "lifecycleControls": {},
                  "runHistory": [
                    {
                      "runId": "run_vendor_watch_20260902",
                      "invocation": "manual_test",
                      "outcome": "completed",
                      "startedAt": "2026-09-01T15:00:00Z",
                      "settledAt": "2026-09-01T15:00:00Z",
                      "sourceObservationCount": 1,
                      "artifactCount": 1,
                      "reportCount": 1,
                      "reasonCodes": [
                        "REPRESENTATIVE_REASON"
                      ]
                    }
                  ],
                  "observationJournal": [
                    {
                      "observationId": "obs_vendor_status_20260902",
                      "runId": "run_vendor_watch_20260902",
                      "sourceId": "source_vendor_status",
                      "sourceLocator": "https://example.invalid/vendor/status",
                      "contentDigest": "sha256:example",
                      "observedAt": "2026-09-01T15:00:00Z",
                      "reasonCodes": [
                        "REPRESENTATIVE_REASON"
                      ]
                    }
                  ],
                  "reports": [
                    {
                      "reportId": "report_vendor_watch_20260902",
                      "artifactId": "artifact_vendor_watch_20260902",
                      "runId": "run_vendor_watch_20260902",
                      "title": "Vendor risk change watch",
                      "abstract": "No material vendor-risk change was found in the admitted evidence.",
                      "createdAt": "2026-09-01T15:00:00Z",
                      "observedAsOf": "2026-09-01T15:00:00Z",
                      "sourceObservationCount": 1,
                      "retentionClass": "standard",
                      "contentDigest": "sha256:example",
                      "reasonCodes": [
                        "REPRESENTATIVE_REASON"
                      ]
                    }
                  ],
                  "reasonCodes": [
                    "REPRESENTATIVE_REASON"
                  ],
                  "digest": "sha256:example"
                }
              }
            }
          },
          "400": {
            "description": "Invalid Scheduled Work request",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://api.indwel.ai/problems/scheduled-work-body-object-required",
                  "title": "Invalid Scheduled Work request",
                  "status": 400,
                  "detail": "The request body must be a JSON object.",
                  "instance": "/v1/scheduled-work/wp_01J0EXAMPLE",
                  "code": "SCHEDULED_WORK_BODY_OBJECT_REQUIRED",
                  "traceId": "trace_01J0EXAMPLE",
                  "retryable": false
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          },
          "428": {
            "description": "Expected charter version required",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://api.indwel.ai/problems/watchpoint-command-expected-version-required",
                  "title": "Expected charter version required",
                  "status": 428,
                  "detail": "A positive expected charter version is required for this Scheduled Work command.",
                  "instance": "/v1/scheduled-work/wp_01J0EXAMPLE",
                  "code": "WATCHPOINT_COMMAND_EXPECTED_VERSION_REQUIRED",
                  "traceId": "trace_01J0EXAMPLE",
                  "retryable": false
                }
              }
            }
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "scheduled-work.write"
            ]
          }
        ],
        "parameters": [
          {
            "name": "watchpointId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "description": "Current underlying Scheduled Work identifier. The external product noun remains Scheduled Work."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ScheduledWorkEditRequest"
              },
              "example": {
                "expectedCharterVersion": 1,
                "proposal": {
                  "schemaVersion": "indwel.scheduled_work.v1",
                  "proposalId": "swp_vendor_risk_watch",
                  "principalId": "user_christian",
                  "tenantId": "org_acme",
                  "workspaceId": "ws_vendor_risk",
                  "request": "Check the approved vendor-risk sources each weekday and report material changes.",
                  "title": "Vendor risk change watch",
                  "kind": "scheduled_observation",
                  "charter": {
                    "objective": "Detect material changes in the approved vendor-risk evidence set.",
                    "mission": "Review admitted sources on schedule and surface only changes that alter the current risk posture.",
                    "sourcePolicy": {
                      "requiredAuthority": "workspace membership and admitted source authority",
                      "sourceSelectionPolicy": "named_sources_only",
                      "namedSourceIds": [
                        "source_vendor_status"
                      ],
                      "permittedDomains": [
                        "vendor.example"
                      ],
                      "openWebFallback": "deny"
                    },
                    "stoppingRule": "Stop after the admitted sources are checked or the run budget is exhausted.",
                    "ordinaryCognitionPolicy": "eligible_when_admitted_and_fresh",
                    "mutationPolicy": "read_only"
                  },
                  "schedule": {
                    "kind": "manual"
                  },
                  "scheduleTimeZoneAssumed": true,
                  "requiresUserReview": true,
                  "reviewReasonCodes": [
                    "REPRESENTATIVE_REASON"
                  ],
                  "reasonCodes": [
                    "REPRESENTATIVE_REASON"
                  ],
                  "compiledAt": "2026-09-01T15:00:00Z",
                  "digest": "sha256:example"
                },
                "acceptedByPrincipalId": "acceptedbyprincipalid_01"
              }
            }
          }
        },
        "x-indwel-semantics": {
          "authority": "authenticated principal and backend Scheduled Work charter authority",
          "asynchrony": "durable; HTTP timeout does not imply cancellation",
          "concurrency": "expectedCharterVersion"
        }
      },
      "delete": {
        "operationId": "archiveScheduledWork",
        "tags": [
          "Scheduled Work"
        ],
        "summary": "Archive Scheduled Work",
        "description": "Archives Scheduled Work under an expected charter version. Archive is a governed lifecycle transition rather than deletion of backend scheduling infrastructure.\n\n**Authority:** authenticated principal and backend Scheduled Work charter authority.\n\n**Contract:** scope `scheduled-work.write` · optimistic concurrency · durable asynchronous.",
        "responses": {
          "200": {
            "description": "Archived Scheduled Work status.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScheduledWorkArchiveResponse"
                },
                "example": {
                  "ok": true,
                  "watchpointId": "sw_vendor_risk_watch",
                  "status": "archived",
                  "charterVersion": 1
                }
              }
            }
          },
          "400": {
            "description": "Invalid Scheduled Work request",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://api.indwel.ai/problems/scheduled-work-body-object-required",
                  "title": "Invalid Scheduled Work request",
                  "status": 400,
                  "detail": "The request body must be a JSON object.",
                  "instance": "/v1/scheduled-work/wp_01J0EXAMPLE",
                  "code": "SCHEDULED_WORK_BODY_OBJECT_REQUIRED",
                  "traceId": "trace_01J0EXAMPLE",
                  "retryable": false
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          },
          "428": {
            "description": "Expected charter version required",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://api.indwel.ai/problems/watchpoint-command-expected-version-required",
                  "title": "Expected charter version required",
                  "status": 428,
                  "detail": "A positive expected charter version is required for this Scheduled Work command.",
                  "instance": "/v1/scheduled-work/wp_01J0EXAMPLE",
                  "code": "WATCHPOINT_COMMAND_EXPECTED_VERSION_REQUIRED",
                  "traceId": "trace_01J0EXAMPLE",
                  "retryable": false
                }
              }
            }
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "scheduled-work.write"
            ]
          }
        ],
        "parameters": [
          {
            "name": "watchpointId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "description": "Current underlying Scheduled Work identifier. The external product noun remains Scheduled Work."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ScheduledWorkTransitionRequest"
              },
              "example": {
                "expectedCharterVersion": 1
              }
            }
          }
        },
        "x-indwel-semantics": {
          "authority": "authenticated principal and backend Scheduled Work charter authority",
          "asynchrony": "durable; HTTP timeout does not imply cancellation",
          "concurrency": "expectedCharterVersion"
        }
      }
    },
    "/v1/scheduled-work/{watchpointId}/test": {
      "post": {
        "operationId": "testScheduledWork",
        "tags": [
          "Scheduled Work"
        ],
        "summary": "Run a one-shot proof",
        "description": "Runs the Scheduled Work charter once without activating the recurring schedule and returns its proof posture and report identifiers.\n\n**Authority:** authenticated principal and backend Scheduled Work charter authority.\n\n**Contract:** scope `scheduled-work.write` · durable asynchronous.",
        "responses": {
          "200": {
            "description": "One-shot proof result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScheduledWorkTestResponse"
                },
                "example": {
                  "ok": true,
                  "watchpointId": "sw_vendor_risk_watch",
                  "runId": "run_vendor_watch_20260902",
                  "outcome": "settled_success",
                  "reportIds": [
                    "report_vendor_watch_20260902"
                  ],
                  "charterVersion": 1,
                  "activationEligible": true
                }
              }
            }
          },
          "400": {
            "description": "Invalid Scheduled Work request",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://api.indwel.ai/problems/scheduled-work-body-object-required",
                  "title": "Invalid Scheduled Work request",
                  "status": 400,
                  "detail": "The request body must be a JSON object.",
                  "instance": "/v1/scheduled-work/wp_01J0EXAMPLE/test",
                  "code": "SCHEDULED_WORK_BODY_OBJECT_REQUIRED",
                  "traceId": "trace_01J0EXAMPLE",
                  "retryable": false
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          },
          "428": {
            "description": "Expected charter version required",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://api.indwel.ai/problems/watchpoint-command-expected-version-required",
                  "title": "Expected charter version required",
                  "status": 428,
                  "detail": "A positive expected charter version is required for this Scheduled Work command.",
                  "instance": "/v1/scheduled-work/wp_01J0EXAMPLE/test",
                  "code": "WATCHPOINT_COMMAND_EXPECTED_VERSION_REQUIRED",
                  "traceId": "trace_01J0EXAMPLE",
                  "retryable": false
                }
              }
            }
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "scheduled-work.write"
            ]
          }
        ],
        "parameters": [
          {
            "name": "watchpointId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "description": "Current underlying Scheduled Work identifier. The external product noun remains Scheduled Work."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ScheduledWorkTestRequest"
              },
              "example": {
                "expectedCharterVersion": 1
              }
            }
          }
        },
        "x-indwel-semantics": {
          "authority": "authenticated principal and backend Scheduled Work charter authority",
          "asynchrony": "durable; HTTP timeout does not imply cancellation"
        }
      }
    },
    "/v1/scheduled-work/{watchpointId}/activate": {
      "post": {
        "operationId": "activateScheduledWork",
        "tags": [
          "Scheduled Work"
        ],
        "summary": "Activate Scheduled Work",
        "description": "Activate Scheduled Work under the current expected charter version.\n\n**Authority:** authenticated principal and backend Scheduled Work charter authority.\n\n**Contract:** scope `scheduled-work.write` · optimistic concurrency · durable asynchronous.",
        "responses": {
          "200": {
            "description": "Updated Scheduled Work detail.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScheduledWorkDetailProjection"
                },
                "example": {
                  "schemaVersion": "indwel.scheduled_work.v1",
                  "watchpoint": {
                    "watchpointId": "sw_vendor_risk_watch",
                    "title": "Vendor risk change watch",
                    "kind": "scheduled_observation",
                    "status": "active",
                    "charterVersion": 1,
                    "charter": {
                      "objective": "Detect material changes in the approved vendor-risk evidence set.",
                      "mission": "Review admitted sources on schedule and surface only changes that alter the current risk posture.",
                      "sourcePolicy": {
                        "requiredAuthority": "workspace membership and admitted source authority",
                        "sourceSelectionPolicy": "named_sources_only",
                        "namedSourceIds": [
                          "source_vendor_status"
                        ],
                        "permittedDomains": [
                          "vendor.example"
                        ],
                        "openWebFallback": "deny"
                      },
                      "stoppingRule": "Stop after the admitted sources are checked or the run budget is exhausted.",
                      "ordinaryCognitionPolicy": "eligible_when_admitted_and_fresh",
                      "mutationPolicy": "read_only"
                    },
                    "schedule": {
                      "kind": "manual"
                    },
                    "budget": {
                      "maxRunsPerWindow": 1,
                      "windowMinutes": 1,
                      "maxAcquisitionsPerRun": 1,
                      "maxWallClockMsPerRun": 1,
                      "maxCostUnitsPerRun": 1
                    },
                    "notificationPolicy": {},
                    "retentionPolicy": {},
                    "createdAt": "2026-09-01T15:00:00Z",
                    "updatedAt": "2026-09-01T15:00:00Z",
                    "reasonCodes": [
                      "REPRESENTATIVE_REASON"
                    ]
                  },
                  "readModel": {
                    "schemaVersion": "indwel.scheduled_work.v1",
                    "watchpointId": "sw_vendor_risk_watch",
                    "title": "Vendor risk change watch",
                    "status": "draft",
                    "ownership": {
                      "workspaceId": "ws_vendor_risk",
                      "ownerPrincipalId": "user_christian",
                      "visibility": "private"
                    },
                    "charter": {
                      "mission": "Review admitted sources on schedule and surface only changes that alter the current risk posture.",
                      "requiredAuthority": "workspace membership and admitted source authority",
                      "ordinaryCognitionPolicy": "eligible_when_admitted_and_fresh",
                      "readOnly": true
                    },
                    "schedule": {
                      "kind": "manual"
                    },
                    "capabilities": {
                      "canView": true,
                      "canEdit": true,
                      "canRunTest": true,
                      "canPause": true,
                      "canResume": true,
                      "canArchive": true
                    },
                    "reasonCodes": [
                      "REPRESENTATIVE_REASON"
                    ]
                  },
                  "lifecycleControls": {},
                  "runHistory": [
                    {
                      "runId": "run_vendor_watch_20260902",
                      "invocation": "manual_test",
                      "outcome": "completed",
                      "startedAt": "2026-09-01T15:00:00Z",
                      "settledAt": "2026-09-01T15:00:00Z",
                      "sourceObservationCount": 1,
                      "artifactCount": 1,
                      "reportCount": 1,
                      "reasonCodes": [
                        "REPRESENTATIVE_REASON"
                      ]
                    }
                  ],
                  "observationJournal": [
                    {
                      "observationId": "obs_vendor_status_20260902",
                      "runId": "run_vendor_watch_20260902",
                      "sourceId": "source_vendor_status",
                      "sourceLocator": "https://example.invalid/vendor/status",
                      "contentDigest": "sha256:example",
                      "observedAt": "2026-09-01T15:00:00Z",
                      "reasonCodes": [
                        "REPRESENTATIVE_REASON"
                      ]
                    }
                  ],
                  "reports": [
                    {
                      "reportId": "report_vendor_watch_20260902",
                      "artifactId": "artifact_vendor_watch_20260902",
                      "runId": "run_vendor_watch_20260902",
                      "title": "Vendor risk change watch",
                      "abstract": "No material vendor-risk change was found in the admitted evidence.",
                      "createdAt": "2026-09-01T15:00:00Z",
                      "observedAsOf": "2026-09-01T15:00:00Z",
                      "sourceObservationCount": 1,
                      "retentionClass": "standard",
                      "contentDigest": "sha256:example",
                      "reasonCodes": [
                        "REPRESENTATIVE_REASON"
                      ]
                    }
                  ],
                  "reasonCodes": [
                    "REPRESENTATIVE_REASON"
                  ],
                  "digest": "sha256:example"
                }
              }
            }
          },
          "400": {
            "description": "Invalid Scheduled Work request",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://api.indwel.ai/problems/scheduled-work-body-object-required",
                  "title": "Invalid Scheduled Work request",
                  "status": 400,
                  "detail": "The request body must be a JSON object.",
                  "instance": "/v1/scheduled-work/wp_01J0EXAMPLE/activate",
                  "code": "SCHEDULED_WORK_BODY_OBJECT_REQUIRED",
                  "traceId": "trace_01J0EXAMPLE",
                  "retryable": false
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          },
          "428": {
            "description": "Expected charter version required",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://api.indwel.ai/problems/watchpoint-command-expected-version-required",
                  "title": "Expected charter version required",
                  "status": 428,
                  "detail": "A positive expected charter version is required for this Scheduled Work command.",
                  "instance": "/v1/scheduled-work/wp_01J0EXAMPLE/activate",
                  "code": "WATCHPOINT_COMMAND_EXPECTED_VERSION_REQUIRED",
                  "traceId": "trace_01J0EXAMPLE",
                  "retryable": false
                }
              }
            }
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "scheduled-work.write"
            ]
          }
        ],
        "parameters": [
          {
            "name": "watchpointId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "description": "Current underlying Scheduled Work identifier. The external product noun remains Scheduled Work."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ScheduledWorkTransitionRequest"
              },
              "example": {
                "expectedCharterVersion": 1
              }
            }
          }
        },
        "x-indwel-semantics": {
          "authority": "authenticated principal and backend Scheduled Work charter authority",
          "asynchrony": "durable; HTTP timeout does not imply cancellation",
          "concurrency": "expectedCharterVersion"
        }
      }
    },
    "/v1/scheduled-work/{watchpointId}/pause": {
      "post": {
        "operationId": "pauseScheduledWork",
        "tags": [
          "Scheduled Work"
        ],
        "summary": "Pause Scheduled Work",
        "description": "Pause Scheduled Work under the current expected charter version.\n\n**Authority:** authenticated principal and backend Scheduled Work charter authority.\n\n**Contract:** scope `scheduled-work.write` · optimistic concurrency · durable asynchronous.",
        "responses": {
          "200": {
            "description": "Updated Scheduled Work detail.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScheduledWorkDetailProjection"
                },
                "example": {
                  "schemaVersion": "indwel.scheduled_work.v1",
                  "watchpoint": {
                    "watchpointId": "sw_vendor_risk_watch",
                    "title": "Vendor risk change watch",
                    "kind": "scheduled_observation",
                    "status": "active",
                    "charterVersion": 1,
                    "charter": {
                      "objective": "Detect material changes in the approved vendor-risk evidence set.",
                      "mission": "Review admitted sources on schedule and surface only changes that alter the current risk posture.",
                      "sourcePolicy": {
                        "requiredAuthority": "workspace membership and admitted source authority",
                        "sourceSelectionPolicy": "named_sources_only",
                        "namedSourceIds": [
                          "source_vendor_status"
                        ],
                        "permittedDomains": [
                          "vendor.example"
                        ],
                        "openWebFallback": "deny"
                      },
                      "stoppingRule": "Stop after the admitted sources are checked or the run budget is exhausted.",
                      "ordinaryCognitionPolicy": "eligible_when_admitted_and_fresh",
                      "mutationPolicy": "read_only"
                    },
                    "schedule": {
                      "kind": "manual"
                    },
                    "budget": {
                      "maxRunsPerWindow": 1,
                      "windowMinutes": 1,
                      "maxAcquisitionsPerRun": 1,
                      "maxWallClockMsPerRun": 1,
                      "maxCostUnitsPerRun": 1
                    },
                    "notificationPolicy": {},
                    "retentionPolicy": {},
                    "createdAt": "2026-09-01T15:00:00Z",
                    "updatedAt": "2026-09-01T15:00:00Z",
                    "reasonCodes": [
                      "REPRESENTATIVE_REASON"
                    ]
                  },
                  "readModel": {
                    "schemaVersion": "indwel.scheduled_work.v1",
                    "watchpointId": "sw_vendor_risk_watch",
                    "title": "Vendor risk change watch",
                    "status": "draft",
                    "ownership": {
                      "workspaceId": "ws_vendor_risk",
                      "ownerPrincipalId": "user_christian",
                      "visibility": "private"
                    },
                    "charter": {
                      "mission": "Review admitted sources on schedule and surface only changes that alter the current risk posture.",
                      "requiredAuthority": "workspace membership and admitted source authority",
                      "ordinaryCognitionPolicy": "eligible_when_admitted_and_fresh",
                      "readOnly": true
                    },
                    "schedule": {
                      "kind": "manual"
                    },
                    "capabilities": {
                      "canView": true,
                      "canEdit": true,
                      "canRunTest": true,
                      "canPause": true,
                      "canResume": true,
                      "canArchive": true
                    },
                    "reasonCodes": [
                      "REPRESENTATIVE_REASON"
                    ]
                  },
                  "lifecycleControls": {},
                  "runHistory": [
                    {
                      "runId": "run_vendor_watch_20260902",
                      "invocation": "manual_test",
                      "outcome": "completed",
                      "startedAt": "2026-09-01T15:00:00Z",
                      "settledAt": "2026-09-01T15:00:00Z",
                      "sourceObservationCount": 1,
                      "artifactCount": 1,
                      "reportCount": 1,
                      "reasonCodes": [
                        "REPRESENTATIVE_REASON"
                      ]
                    }
                  ],
                  "observationJournal": [
                    {
                      "observationId": "obs_vendor_status_20260902",
                      "runId": "run_vendor_watch_20260902",
                      "sourceId": "source_vendor_status",
                      "sourceLocator": "https://example.invalid/vendor/status",
                      "contentDigest": "sha256:example",
                      "observedAt": "2026-09-01T15:00:00Z",
                      "reasonCodes": [
                        "REPRESENTATIVE_REASON"
                      ]
                    }
                  ],
                  "reports": [
                    {
                      "reportId": "report_vendor_watch_20260902",
                      "artifactId": "artifact_vendor_watch_20260902",
                      "runId": "run_vendor_watch_20260902",
                      "title": "Vendor risk change watch",
                      "abstract": "No material vendor-risk change was found in the admitted evidence.",
                      "createdAt": "2026-09-01T15:00:00Z",
                      "observedAsOf": "2026-09-01T15:00:00Z",
                      "sourceObservationCount": 1,
                      "retentionClass": "standard",
                      "contentDigest": "sha256:example",
                      "reasonCodes": [
                        "REPRESENTATIVE_REASON"
                      ]
                    }
                  ],
                  "reasonCodes": [
                    "REPRESENTATIVE_REASON"
                  ],
                  "digest": "sha256:example"
                }
              }
            }
          },
          "400": {
            "description": "Invalid Scheduled Work request",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://api.indwel.ai/problems/scheduled-work-body-object-required",
                  "title": "Invalid Scheduled Work request",
                  "status": 400,
                  "detail": "The request body must be a JSON object.",
                  "instance": "/v1/scheduled-work/wp_01J0EXAMPLE/pause",
                  "code": "SCHEDULED_WORK_BODY_OBJECT_REQUIRED",
                  "traceId": "trace_01J0EXAMPLE",
                  "retryable": false
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          },
          "428": {
            "description": "Expected charter version required",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://api.indwel.ai/problems/watchpoint-command-expected-version-required",
                  "title": "Expected charter version required",
                  "status": 428,
                  "detail": "A positive expected charter version is required for this Scheduled Work command.",
                  "instance": "/v1/scheduled-work/wp_01J0EXAMPLE/pause",
                  "code": "WATCHPOINT_COMMAND_EXPECTED_VERSION_REQUIRED",
                  "traceId": "trace_01J0EXAMPLE",
                  "retryable": false
                }
              }
            }
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "scheduled-work.write"
            ]
          }
        ],
        "parameters": [
          {
            "name": "watchpointId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "description": "Current underlying Scheduled Work identifier. The external product noun remains Scheduled Work."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ScheduledWorkTransitionRequest"
              },
              "example": {
                "expectedCharterVersion": 1
              }
            }
          }
        },
        "x-indwel-semantics": {
          "authority": "authenticated principal and backend Scheduled Work charter authority",
          "asynchrony": "durable; HTTP timeout does not imply cancellation",
          "concurrency": "expectedCharterVersion"
        }
      }
    },
    "/v1/scheduled-work/{watchpointId}/resume": {
      "post": {
        "operationId": "resumeScheduledWork",
        "tags": [
          "Scheduled Work"
        ],
        "summary": "Resume Scheduled Work",
        "description": "Resume Scheduled Work under the current expected charter version.\n\n**Authority:** authenticated principal and backend Scheduled Work charter authority.\n\n**Contract:** scope `scheduled-work.write` · optimistic concurrency · durable asynchronous.",
        "responses": {
          "200": {
            "description": "Updated Scheduled Work detail.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScheduledWorkDetailProjection"
                },
                "example": {
                  "schemaVersion": "indwel.scheduled_work.v1",
                  "watchpoint": {
                    "watchpointId": "sw_vendor_risk_watch",
                    "title": "Vendor risk change watch",
                    "kind": "scheduled_observation",
                    "status": "active",
                    "charterVersion": 1,
                    "charter": {
                      "objective": "Detect material changes in the approved vendor-risk evidence set.",
                      "mission": "Review admitted sources on schedule and surface only changes that alter the current risk posture.",
                      "sourcePolicy": {
                        "requiredAuthority": "workspace membership and admitted source authority",
                        "sourceSelectionPolicy": "named_sources_only",
                        "namedSourceIds": [
                          "source_vendor_status"
                        ],
                        "permittedDomains": [
                          "vendor.example"
                        ],
                        "openWebFallback": "deny"
                      },
                      "stoppingRule": "Stop after the admitted sources are checked or the run budget is exhausted.",
                      "ordinaryCognitionPolicy": "eligible_when_admitted_and_fresh",
                      "mutationPolicy": "read_only"
                    },
                    "schedule": {
                      "kind": "manual"
                    },
                    "budget": {
                      "maxRunsPerWindow": 1,
                      "windowMinutes": 1,
                      "maxAcquisitionsPerRun": 1,
                      "maxWallClockMsPerRun": 1,
                      "maxCostUnitsPerRun": 1
                    },
                    "notificationPolicy": {},
                    "retentionPolicy": {},
                    "createdAt": "2026-09-01T15:00:00Z",
                    "updatedAt": "2026-09-01T15:00:00Z",
                    "reasonCodes": [
                      "REPRESENTATIVE_REASON"
                    ]
                  },
                  "readModel": {
                    "schemaVersion": "indwel.scheduled_work.v1",
                    "watchpointId": "sw_vendor_risk_watch",
                    "title": "Vendor risk change watch",
                    "status": "draft",
                    "ownership": {
                      "workspaceId": "ws_vendor_risk",
                      "ownerPrincipalId": "user_christian",
                      "visibility": "private"
                    },
                    "charter": {
                      "mission": "Review admitted sources on schedule and surface only changes that alter the current risk posture.",
                      "requiredAuthority": "workspace membership and admitted source authority",
                      "ordinaryCognitionPolicy": "eligible_when_admitted_and_fresh",
                      "readOnly": true
                    },
                    "schedule": {
                      "kind": "manual"
                    },
                    "capabilities": {
                      "canView": true,
                      "canEdit": true,
                      "canRunTest": true,
                      "canPause": true,
                      "canResume": true,
                      "canArchive": true
                    },
                    "reasonCodes": [
                      "REPRESENTATIVE_REASON"
                    ]
                  },
                  "lifecycleControls": {},
                  "runHistory": [
                    {
                      "runId": "run_vendor_watch_20260902",
                      "invocation": "manual_test",
                      "outcome": "completed",
                      "startedAt": "2026-09-01T15:00:00Z",
                      "settledAt": "2026-09-01T15:00:00Z",
                      "sourceObservationCount": 1,
                      "artifactCount": 1,
                      "reportCount": 1,
                      "reasonCodes": [
                        "REPRESENTATIVE_REASON"
                      ]
                    }
                  ],
                  "observationJournal": [
                    {
                      "observationId": "obs_vendor_status_20260902",
                      "runId": "run_vendor_watch_20260902",
                      "sourceId": "source_vendor_status",
                      "sourceLocator": "https://example.invalid/vendor/status",
                      "contentDigest": "sha256:example",
                      "observedAt": "2026-09-01T15:00:00Z",
                      "reasonCodes": [
                        "REPRESENTATIVE_REASON"
                      ]
                    }
                  ],
                  "reports": [
                    {
                      "reportId": "report_vendor_watch_20260902",
                      "artifactId": "artifact_vendor_watch_20260902",
                      "runId": "run_vendor_watch_20260902",
                      "title": "Vendor risk change watch",
                      "abstract": "No material vendor-risk change was found in the admitted evidence.",
                      "createdAt": "2026-09-01T15:00:00Z",
                      "observedAsOf": "2026-09-01T15:00:00Z",
                      "sourceObservationCount": 1,
                      "retentionClass": "standard",
                      "contentDigest": "sha256:example",
                      "reasonCodes": [
                        "REPRESENTATIVE_REASON"
                      ]
                    }
                  ],
                  "reasonCodes": [
                    "REPRESENTATIVE_REASON"
                  ],
                  "digest": "sha256:example"
                }
              }
            }
          },
          "400": {
            "description": "Invalid Scheduled Work request",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://api.indwel.ai/problems/scheduled-work-body-object-required",
                  "title": "Invalid Scheduled Work request",
                  "status": 400,
                  "detail": "The request body must be a JSON object.",
                  "instance": "/v1/scheduled-work/wp_01J0EXAMPLE/resume",
                  "code": "SCHEDULED_WORK_BODY_OBJECT_REQUIRED",
                  "traceId": "trace_01J0EXAMPLE",
                  "retryable": false
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          },
          "428": {
            "description": "Expected charter version required",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://api.indwel.ai/problems/watchpoint-command-expected-version-required",
                  "title": "Expected charter version required",
                  "status": 428,
                  "detail": "A positive expected charter version is required for this Scheduled Work command.",
                  "instance": "/v1/scheduled-work/wp_01J0EXAMPLE/resume",
                  "code": "WATCHPOINT_COMMAND_EXPECTED_VERSION_REQUIRED",
                  "traceId": "trace_01J0EXAMPLE",
                  "retryable": false
                }
              }
            }
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "scheduled-work.write"
            ]
          }
        ],
        "parameters": [
          {
            "name": "watchpointId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "description": "Current underlying Scheduled Work identifier. The external product noun remains Scheduled Work."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ScheduledWorkTransitionRequest"
              },
              "example": {
                "expectedCharterVersion": 1
              }
            }
          }
        },
        "x-indwel-semantics": {
          "authority": "authenticated principal and backend Scheduled Work charter authority",
          "asynchrony": "durable; HTTP timeout does not imply cancellation",
          "concurrency": "expectedCharterVersion"
        }
      }
    },
    "/v1/scheduled-work/{watchpointId}/reports": {
      "get": {
        "operationId": "listScheduledWorkReports",
        "tags": [
          "Scheduled Work"
        ],
        "summary": "List Scheduled Work reports",
        "description": "Returns reports produced by the selected Scheduled Work item.\n\n**Authority:** authenticated principal and backend Scheduled Work charter authority.\n\n**Contract:** scope `scheduled-work.read` · durable asynchronous.",
        "responses": {
          "200": {
            "description": "Scheduled Work reports.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScheduledWorkReportListResponse"
                },
                "example": {
                  "watchpointId": "sw_vendor_risk_watch",
                  "reports": [
                    {
                      "reportId": "report_vendor_watch_20260902",
                      "artifactId": "artifact_vendor_watch_20260902",
                      "runId": "run_vendor_watch_20260902",
                      "title": "Vendor risk change watch",
                      "abstract": "No material vendor-risk change was found in the admitted evidence.",
                      "createdAt": "2026-09-01T15:00:00Z",
                      "observedAsOf": "2026-09-01T15:00:00Z",
                      "sourceObservationCount": 1,
                      "retentionClass": "standard",
                      "contentDigest": "sha256:example",
                      "reasonCodes": [
                        "REPRESENTATIVE_REASON"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "scheduled-work.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "watchpointId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "description": "Current underlying Scheduled Work identifier. The external product noun remains Scheduled Work."
          }
        ],
        "x-indwel-semantics": {
          "authority": "authenticated principal and backend Scheduled Work charter authority",
          "asynchrony": "durable; HTTP timeout does not imply cancellation"
        }
      }
    },
    "/v1/scheduled-work/{watchpointId}/reports/{reportId}": {
      "get": {
        "operationId": "getScheduledWorkReport",
        "tags": [
          "Scheduled Work"
        ],
        "summary": "Get a Scheduled Work report",
        "description": "Returns one report produced by the selected Scheduled Work item.\n\n**Authority:** authenticated principal and backend Scheduled Work charter authority.\n\n**Contract:** scope `scheduled-work.read` · durable asynchronous.",
        "responses": {
          "200": {
            "description": "Scheduled Work report.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScheduledWorkReportProjection"
                },
                "example": {
                  "schemaVersion": "indwel.scheduled_work.v1",
                  "report": {
                    "schemaVersion": "indwel.scheduled_work.v1",
                    "reportId": "report_vendor_watch_20260902",
                    "artifactId": "artifact_vendor_watch_20260902",
                    "watchpointId": "sw_vendor_risk_watch",
                    "runId": "run_vendor_watch_20260902",
                    "title": "Vendor risk change watch",
                    "bodyMarkdown": "No material change was found in the admitted vendor-risk evidence as of 2026-09-02.",
                    "abstract": "No material vendor-risk change was found in the admitted evidence.",
                    "createdAt": "2026-09-01T15:00:00Z",
                    "observedAsOf": "2026-09-01T15:00:00Z",
                    "sourceObservationIds": [
                      "obs_vendor_status_20260902"
                    ],
                    "citationItems": [
                      {
                        "sourceId": "source_vendor_status",
                        "sourceLocator": "https://example.invalid/vendor/status",
                        "observedAt": "2026-09-01T15:00:00Z",
                        "contentDigest": "sha256:example"
                      }
                    ],
                    "evidentiaryPosture": "advisory_synthesis",
                    "retentionClass": "standard",
                    "contentDigest": "sha256:example",
                    "reasonCodes": [
                      "REPRESENTATIVE_REASON"
                    ],
                    "digest": "sha256:example"
                  },
                  "reasonCodes": [
                    "REPRESENTATIVE_REASON"
                  ],
                  "digest": "sha256:example"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "description": "Scheduled Work route not found",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://api.indwel.ai/problems/scheduled-work-route-not-found",
                  "title": "Scheduled Work route not found",
                  "status": 404,
                  "detail": "No Scheduled Work route matched the request.",
                  "instance": "/v1/scheduled-work/wp_01J0EXAMPLE/reports/report_01J0EXAMPLE",
                  "code": "SCHEDULED_WORK_ROUTE_NOT_FOUND",
                  "traceId": "trace_01J0EXAMPLE",
                  "retryable": false
                }
              }
            }
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "scheduled-work.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "watchpointId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "description": "Current underlying Scheduled Work identifier. The external product noun remains Scheduled Work."
          },
          {
            "name": "reportId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            }
          }
        ],
        "x-indwel-semantics": {
          "authority": "authenticated principal and backend Scheduled Work charter authority",
          "asynchrony": "durable; HTTP timeout does not imply cancellation"
        }
      }
    },
    "/v1/parallel-cognition/work/{workId}": {
      "get": {
        "operationId": "listParallelCognitionForWork",
        "tags": [
          "Parallel Cognition"
        ],
        "summary": "Read Parallel Cognition for Work",
        "description": "Returns the aggregate Work-level projection of governed Parallel Cognition Programs. Branch Jobs and worker lease state are intentionally not public resources.\n\n**Authority:** program-level authority subordinate to durable Work.\n\n**Contract:** scope `parallel-cognition.read` · durable asynchronous · explicit cancellation.",
        "responses": {
          "200": {
            "description": "Aggregate Parallel Cognition Program projection.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ParallelCognitionProgrammeProjection"
                },
                "example": {
                  "workId": "work_vendor_assurance",
                  "programmes": [
                    {
                      "workId": "work_vendor_assurance",
                      "programmeId": "programme_parallel_01",
                      "posture": "settled",
                      "branchDenominator": 3,
                      "branchSettlement": {
                        "settled": 3,
                        "failed": 0
                      },
                      "cumulativeEconomics": {
                        "currency": "USD",
                        "machineCostMicros": 920000
                      },
                      "stoppingPosture": {
                        "requested": false,
                        "terminal": true
                      },
                      "fanIn": {
                        "status": "settled",
                        "parentSynthesisRunId": "run_parent_01"
                      }
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "parallel-cognition.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "workId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "description": "Durable Work identifier."
          }
        ],
        "x-indwel-semantics": {
          "authority": "programme-level authority subordinate to durable Work",
          "jobs": "raw durable Jobs are internal orchestration substrate",
          "cancellation": "programme-level only",
          "asynchrony": "durable; HTTP timeout does not imply cancellation"
        }
      }
    },
    "/v1/parallel-cognition/work/{workId}/programmes/{programmeId}": {
      "get": {
        "operationId": "getParallelCognitionProgramme",
        "tags": [
          "Parallel Cognition"
        ],
        "summary": "Read a Parallel Cognition Program",
        "description": "Returns program posture, branch denominator and settlement, cumulative economics, stopping posture, and fan-in/parent-synthesis posture under durable Work authority.\n\n**Authority:** program-level authority subordinate to durable Work.\n\n**Contract:** scope `parallel-cognition.read` · durable asynchronous · explicit cancellation.",
        "responses": {
          "200": {
            "description": "Parallel Cognition Program projection.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ParallelCognitionProgrammeProjection"
                },
                "example": {
                  "workId": "work_vendor_assurance",
                  "programmeId": "programme_parallel_01",
                  "posture": "settled",
                  "branchDenominator": 3,
                  "branchSettlement": {
                    "settled": 3,
                    "failed": 0
                  },
                  "cumulativeEconomics": {
                    "currency": "USD",
                    "machineCostMicros": 920000
                  },
                  "stoppingPosture": {
                    "requested": false,
                    "terminal": true
                  },
                  "fanIn": {
                    "status": "settled",
                    "parentSynthesisRunId": "run_parent_01"
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "parallel-cognition.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "workId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "description": "Durable Work identifier."
          },
          {
            "name": "programmeId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            }
          }
        ],
        "x-indwel-semantics": {
          "authority": "programme-level authority subordinate to durable Work",
          "jobs": "raw durable Jobs are internal orchestration substrate",
          "cancellation": "programme-level only",
          "asynchrony": "durable; HTTP timeout does not imply cancellation"
        }
      }
    },
    "/v1/parallel-cognition/work/{workId}/programmes/{programmeId}/cancel": {
      "post": {
        "operationId": "cancelParallelCognitionProgramme",
        "tags": [
          "Parallel Cognition"
        ],
        "summary": "Cancel a Parallel Cognition Program",
        "description": "Requests governed cancellation at program level. The runtime performs any corresponding internal Job cancellation; callers cannot cancel raw Jobs or supply worker authority.\n\n**Authority:** program-level authority subordinate to durable Work.\n\n**Contract:** scope `parallel-cognition.write` · governed cancellation · durable asynchronous · explicit cancellation.",
        "responses": {
          "200": {
            "description": "Updated program stopping posture.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ParallelCognitionProgrammeProjection"
                },
                "example": {
                  "workId": "work_vendor_assurance",
                  "programmeId": "programme_parallel_01",
                  "posture": "cancelling",
                  "branchDenominator": 3,
                  "branchSettlement": {
                    "settled": 3,
                    "failed": 0
                  },
                  "cumulativeEconomics": {
                    "currency": "USD",
                    "machineCostMicros": 920000
                  },
                  "stoppingPosture": {
                    "requested": true,
                    "terminal": false
                  },
                  "fanIn": {
                    "status": "settled",
                    "parentSynthesisRunId": "run_parent_01"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "parallel-cognition.write"
            ]
          }
        ],
        "parameters": [
          {
            "name": "workId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "description": "Durable Work identifier."
          },
          {
            "name": "programmeId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            }
          }
        ],
        "x-indwel-semantics": {
          "authority": "programme-level authority subordinate to durable Work",
          "jobs": "raw durable Jobs are internal orchestration substrate",
          "cancellation": "programme-level only",
          "asynchrony": "durable; HTTP timeout does not imply cancellation",
          "effect": "governed-cancellation"
        }
      }
    },
    "/v1/organisations/{organisationId}/projects/{projectId}/memberships": {
      "get": {
        "operationId": "listProjectMemberships",
        "tags": [
          "Projects"
        ],
        "summary": "List project memberships",
        "description": "Returns active and retained project membership/role assignments after organization authority and project `admin`-or-stronger authority are independently established.\n\n**Authority:** organization admin-or-stronger plus project admin-or-stronger.\n\n**Contract:** scope `project-memberships.read`.",
        "responses": {
          "200": {
            "description": "Project membership assignments.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectMembershipListResponse"
                },
                "example": {
                  "data": {
                    "items": [
                      {
                        "schema": "indwel.developer-control-plane.v1",
                        "membershipId": "membership_user_42",
                        "organisationId": "org_acme",
                        "projectId": "project_vendor_risk",
                        "userId": "user_42",
                        "role": "owner",
                        "lifecycle": "active",
                        "revision": 1,
                        "createdAt": "2026-09-01T15:00:00Z",
                        "updatedAt": "2026-09-01T15:00:00Z"
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "description": "Forbidden",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "examples": {
                  "projectAuthorityRequired": {
                    "value": {
                      "type": "https://api.indwel.ai/problems/project-authority-required",
                      "title": "Forbidden",
                      "status": 403,
                      "detail": "The principal lacks authority for this developer project",
                      "instance": "/v1/organisations/org_acme/projects/project_risk/memberships",
                      "code": "PROJECT_AUTHORITY_REQUIRED",
                      "traceId": "trace_01J0EXAMPLE",
                      "retryable": false
                    }
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "project-memberships.read"
            ]
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganisationId"
          },
          {
            "$ref": "#/components/parameters/ProjectId"
          }
        ],
        "x-indwel-semantics": {
          "authority": "organisation admin-or-stronger plus project admin-or-stronger",
          "custody": "project membership authority"
        }
      }
    },
    "/v1/organisations/{organisationId}/projects/{projectId}/memberships/{userId}": {
      "put": {
        "operationId": "upsertProjectMembership",
        "tags": [
          "Projects"
        ],
        "summary": "Create or update project membership",
        "description": "Creates or updates a project membership under organization owner and project owner authority. OAuth scope does not replace role checks, and an owner cannot use the operation to demote their own ownership.\n\n**Authority:** organization owner plus project owner.\n\n**Contract:** scope `project-memberships.write` · bounded write · receipt required · idempotency required.",
        "responses": {
          "200": {
            "description": "Created or updated project membership.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectMembership"
                },
                "example": {
                  "schema": "indwel.developer-control-plane.v1",
                  "membershipId": "membership_user_42",
                  "organisationId": "org_acme",
                  "projectId": "project_vendor_risk",
                  "userId": "user_42",
                  "role": "owner",
                  "lifecycle": "active",
                  "revision": 1,
                  "createdAt": "2026-09-01T15:00:00Z",
                  "updatedAt": "2026-09-01T15:00:00Z"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "examples": {
                  "idempotencyKeyRequired": {
                    "value": {
                      "type": "https://api.indwel.ai/problems/idempotency-key-required",
                      "title": "Bad request",
                      "status": 400,
                      "detail": "Idempotency-Key is required for this operation",
                      "instance": "/v1/organisations/org_acme/projects/project_risk/memberships/user_42",
                      "code": "IDEMPOTENCY_KEY_REQUIRED",
                      "traceId": "trace_01J0EXAMPLE",
                      "retryable": false
                    }
                  },
                  "invalidProjectMembershipRole": {
                    "value": {
                      "type": "https://api.indwel.ai/problems/invalid-project-membership-role",
                      "title": "Bad request",
                      "status": 400,
                      "detail": "Unsupported project membership role 'operator'",
                      "instance": "/v1/organisations/org_acme/projects/project_risk/memberships/user_42",
                      "code": "INVALID_PROJECT_MEMBERSHIP_ROLE",
                      "traceId": "trace_01J0EXAMPLE",
                      "retryable": false
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "description": "Forbidden",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "examples": {
                  "projectAuthorityRequired": {
                    "value": {
                      "type": "https://api.indwel.ai/problems/project-authority-required",
                      "title": "Forbidden",
                      "status": 403,
                      "detail": "The principal lacks authority for this developer project",
                      "instance": "/v1/organisations/org_acme/projects/project_risk/memberships/user_42",
                      "code": "PROJECT_AUTHORITY_REQUIRED",
                      "traceId": "trace_01J0EXAMPLE",
                      "retryable": false
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "examples": {
                  "projectNotFound": {
                    "value": {
                      "type": "https://api.indwel.ai/problems/project-not-found",
                      "title": "Not found",
                      "status": 404,
                      "detail": "Project not found",
                      "instance": "/v1/organisations/org_acme/projects/project_risk/memberships/user_42",
                      "code": "PROJECT_NOT_FOUND",
                      "traceId": "trace_01J0EXAMPLE",
                      "retryable": false
                    }
                  }
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "examples": {
                  "ownerSelfDemotionForbidden": {
                    "value": {
                      "type": "https://api.indwel.ai/problems/project-owner-self-demotion-forbidden",
                      "title": "Conflict",
                      "status": 409,
                      "detail": "The project owner cannot demote their own membership",
                      "instance": "/v1/organisations/org_acme/projects/project_risk/memberships/user_42",
                      "code": "PROJECT_OWNER_SELF_DEMOTION_FORBIDDEN",
                      "traceId": "trace_01J0EXAMPLE",
                      "retryable": false
                    }
                  }
                }
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "project-memberships.write"
            ]
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganisationId"
          },
          {
            "$ref": "#/components/parameters/ProjectId"
          },
          {
            "name": "userId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "description": "Target user identifier."
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProjectMembershipUpsertRequest"
              },
              "example": {
                "role": "owner"
              }
            }
          }
        },
        "x-indwel-semantics": {
          "authority": "organisation owner plus project owner",
          "effect": "bounded-write",
          "idempotency": "required",
          "receipt": "required"
        }
      }
    },
    "/v1/organisations/{organisationId}/projects/{projectId}/clients/{clientId}:bind-issuer": {
      "post": {
        "operationId": "bindClientToAuthorisedIssuer",
        "tags": [
          "Clients"
        ],
        "summary": "Bind a client to the authorized OAuth issuer",
        "description": "Binds the selected developer client through Indwel’s configured authorized issuer adapter. The caller supplies no issuer and cannot choose or bootstrap a provider relationship. Confidential-client secret material, when issued, is returned only in the binding response.\n\n**Authority:** organization owner plus project owner plus authorized issuer adapter.\n\n**Contract:** scope `clients.issuer.write` · credential/trust binding · receipt required · idempotency required.",
        "responses": {
          "201": {
            "description": "Authorized issuer binding receipt.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClientIssuerBindingResponse"
                },
                "example": {
                  "data": {
                    "client": {
                      "clientId": "clien_01J0EXAMPLE",
                      "organisationId": "org_acme",
                      "projectId": "project_vendor_risk",
                      "environmentId": "env_production",
                      "name": "Company Answers Service",
                      "applicationType": "service",
                      "oauthClientType": "confidential",
                      "grantTypes": [
                        "client_credentials"
                      ],
                      "tokenEndpointAuthMethod": "client_secret_basic",
                      "redirectUris": [
                        "https://example.invalid/resource"
                      ],
                      "pkceRequired": true,
                      "issuerBindingStatus": "pending",
                      "authorizationServerIssuer": "https://example.invalid/resource",
                      "scopes": [
                        "runs.read"
                      ],
                      "status": "pending",
                      "revision": 1,
                      "createdAt": "2026-09-01T15:00:00Z",
                      "updatedAt": "2026-09-01T15:00:00Z",
                      "lastRotatedAt": "2026-09-01T15:00:00Z"
                    },
                    "credentialId": "credential_vendor_portal",
                    "secret": "secret-returned-once",
                    "issuer": "https://example.invalid/resource",
                    "providerClientReference": "issuer-client-vendor-portal",
                    "boundAt": "2026-09-01T15:00:00Z"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "examples": {
                  "idempotencyKeyRequired": {
                    "value": {
                      "type": "https://api.indwel.ai/problems/idempotency-key-required",
                      "title": "Bad request",
                      "status": 400,
                      "detail": "Idempotency-Key is required for this operation",
                      "instance": "/v1/organisations/org_acme/projects/project_risk/clients/client_01:bind-issuer",
                      "code": "IDEMPOTENCY_KEY_REQUIRED",
                      "traceId": "trace_01J0EXAMPLE",
                      "retryable": false
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "description": "Forbidden",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "examples": {
                  "projectAuthorityRequired": {
                    "value": {
                      "type": "https://api.indwel.ai/problems/project-authority-required",
                      "title": "Forbidden",
                      "status": 403,
                      "detail": "The principal lacks authority for this developer project",
                      "instance": "/v1/organisations/org_acme/projects/project_risk/clients/client_01:bind-issuer",
                      "code": "PROJECT_AUTHORITY_REQUIRED",
                      "traceId": "trace_01J0EXAMPLE",
                      "retryable": false
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "examples": {
                  "clientNotFound": {
                    "value": {
                      "type": "https://api.indwel.ai/problems/client-not-found",
                      "title": "Not found",
                      "status": 404,
                      "detail": "Client not found",
                      "instance": "/v1/organisations/org_acme/projects/project_risk/clients/client_01:bind-issuer",
                      "code": "CLIENT_NOT_FOUND",
                      "traceId": "trace_01J0EXAMPLE",
                      "retryable": false
                    }
                  }
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "headers": {
              "X-Indwel-Trace-Id": {
                "description": "Request correlation identifier.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "examples": {
                  "authorisedIssuerUnavailable": {
                    "value": {
                      "type": "https://api.indwel.ai/problems/authorised-oauth-issuer-unavailable",
                      "title": "Conflict",
                      "status": 409,
                      "detail": "No authorized OAuth issuer adapter is configured",
                      "instance": "/v1/organisations/org_acme/projects/project_risk/clients/client_01:bind-issuer",
                      "code": "AUTHORISED_OAUTH_ISSUER_UNAVAILABLE",
                      "traceId": "trace_01J0EXAMPLE",
                      "retryable": false
                    }
                  }
                }
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "clients.issuer.write"
            ]
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganisationId"
          },
          {
            "$ref": "#/components/parameters/ProjectId"
          },
          {
            "$ref": "#/components/parameters/ClientId"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false
              },
              "example": {}
            }
          }
        },
        "x-indwel-semantics": {
          "authority": "organisation owner plus project owner plus authorised issuer adapter",
          "effect": "credential/trust binding",
          "idempotency": "required",
          "receipt": "required"
        }
      }
    },
    "/sessions": {
      "get": {
        "operationId": "listSessions",
        "tags": [
          "Conversation & Sessions"
        ],
        "summary": "List Sessions",
        "description": "Lists the authenticated principal’s customer-safe Session directory. A Session is a bounded interaction/continuity segment and is not synonymous with durable Work.\n\n**Authority:** authenticated human principal and server-persisted Session authority.\n\n**Contract:** scope `sessions.read`.",
        "responses": {
          "200": {
            "description": "Authorized Session directory.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionDirectoryResponse"
                },
                "example": {
                  "ok": true,
                  "sessions": [
                    {
                      "sessionId": "11111111-1111-4111-8111-111111111111",
                      "createdAt": "2026-09-01T15:00:00Z",
                      "updatedAt": "2026-09-01T15:00:00Z"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "sessions.read"
            ]
          }
        ],
        "x-indwel-semantics": {
          "authority": "authenticated human principal and server-persisted Session authority",
          "delegation": "user-delegated only; client credentials are not eligible"
        }
      },
      "patch": {
        "operationId": "updateSessionCompatibilityAlias",
        "tags": [
          "Compatibility"
        ],
        "summary": "Update Session metadata (compatibility alias)",
        "description": "Compatibility alias for the path-addressed Session mutation. New integrations should use `PATCH /sessions/{sessionId}`.\n\n**Authority:** authenticated human principal.\n\n**Contract:** scope `sessions.write`.",
        "responses": {
          "200": {
            "description": "Updated Session metadata.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionMutationResponse"
                },
                "example": {
                  "ok": true,
                  "sessionId": "11111111-1111-4111-8111-111111111111",
                  "updatedAt": "2026-09-01T15:00:00Z"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "sessions.write"
            ]
          }
        ],
        "parameters": [
          {
            "name": "sessionId",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Session identity supplied outside the path for the retained alias."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SessionMutationRequest"
              },
              "example": {
                "name": "Vendor risk review"
              }
            }
          }
        },
        "x-indwel-semantics": {
          "authority": "authenticated human principal",
          "classification": "compatibility/convenience; not canonical cognition ontology"
        },
        "deprecated": true
      },
      "delete": {
        "operationId": "deleteSessionCompatibilityAlias",
        "tags": [
          "Compatibility"
        ],
        "summary": "Delete a Session (compatibility alias)",
        "description": "Compatibility alias for the path-addressed Session deletion. New integrations should use `DELETE /sessions/{sessionId}`.\n\n**Authority:** authenticated human principal.\n\n**Contract:** scope `sessions.write`.",
        "responses": {
          "200": {
            "description": "Session deleted.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionDeleteResponse"
                },
                "example": {
                  "ok": true,
                  "sessionId": "11111111-1111-4111-8111-111111111111"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "sessions.write"
            ]
          }
        ],
        "parameters": [
          {
            "name": "sessionId",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Session identity supplied outside the path for the retained alias."
          }
        ],
        "x-indwel-semantics": {
          "authority": "authenticated human principal",
          "classification": "compatibility/convenience; not canonical cognition ontology"
        },
        "deprecated": true
      }
    },
    "/sessions/{sessionId}": {
      "patch": {
        "operationId": "updateSession",
        "tags": [
          "Conversation & Sessions"
        ],
        "summary": "Update Session metadata",
        "description": "Renames or pins/unpins an authorized Session. The source-retained `promote` and `relate` body actions are compatibility transitions pending canonical Work representation; they are not first-class SDK mutations.\n\n**Authority:** authenticated human principal and server-persisted Session authority.\n\n**Contract:** scope `sessions.write` · bounded metadata write.",
        "responses": {
          "200": {
            "description": "Updated Session metadata.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionMutationResponse"
                },
                "example": {
                  "ok": true,
                  "sessionId": "11111111-1111-4111-8111-111111111111",
                  "updatedAt": "2026-09-01T15:00:00Z"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "sessions.write"
            ]
          }
        ],
        "parameters": [
          {
            "name": "sessionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Server-issued Session identifier."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SessionMutationRequest"
              },
              "example": {
                "name": "Vendor risk review"
              }
            }
          }
        },
        "x-indwel-semantics": {
          "authority": "authenticated human principal and server-persisted Session authority",
          "delegation": "user-delegated only; client credentials are not eligible",
          "effect": "bounded-metadata-write"
        }
      },
      "delete": {
        "operationId": "deleteSession",
        "tags": [
          "Conversation & Sessions"
        ],
        "summary": "Delete a Session",
        "description": "Deletes the authenticated principal’s authorized Session state. Deleting a Session does not grant authority over any distinct durable Work resource.\n\n**Authority:** authenticated human principal and server-persisted Session authority.\n\n**Contract:** scope `sessions.write` · bounded delete.",
        "responses": {
          "200": {
            "description": "Session deleted.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionDeleteResponse"
                },
                "example": {
                  "ok": true,
                  "sessionId": "11111111-1111-4111-8111-111111111111"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "sessions.write"
            ]
          }
        ],
        "parameters": [
          {
            "name": "sessionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Server-issued Session identifier."
          }
        ],
        "x-indwel-semantics": {
          "authority": "authenticated human principal and server-persisted Session authority",
          "delegation": "user-delegated only; client credentials are not eligible",
          "effect": "bounded-delete"
        }
      }
    },
    "/sessions/{sessionId}/continuity": {
      "post": {
        "operationId": "getSessionContinuity",
        "tags": [
          "Conversation & Sessions"
        ],
        "summary": "Read settled Session Continuity",
        "description": "Returns the already server-settled customer-safe Continuity projection for an authorized Session. Although expressed as POST by the current transport, the caller cannot manufacture or upload Continuity state; an optional packet identifier is only an identity check.\n\n**Authority:** authenticated human principal and server-persisted Session authority.\n\n**Contract:** scope `sessions.read`, `continuity.read`.",
        "responses": {
          "200": {
            "description": "Customer-safe server-settled Continuity projection.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContinuityResponse"
                },
                "example": {
                  "ok": true,
                  "sessionId": "11111111-1111-4111-8111-111111111111",
                  "continuity": {
                    "packetId": "continuity_vendor_review_01",
                    "state": "settled",
                    "parentSessionId": "11111111-1111-4111-8111-111111111111",
                    "reasonCodes": [
                      "REPRESENTATIVE_REASON"
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "sessions.read",
              "continuity.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "sessionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Server-issued Session identifier."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ContinuityReadRequest"
              },
              "example": {}
            }
          }
        },
        "x-indwel-semantics": {
          "authority": "authenticated human principal and server-persisted Session authority",
          "delegation": "user-delegated only; client credentials are not eligible",
          "continuity": "server-settled read projection"
        }
      }
    },
    "/sessions/{sessionId}/continue": {
      "post": {
        "operationId": "continueSession",
        "tags": [
          "Conversation & Sessions"
        ],
        "summary": "Continue a Session",
        "description": "Creates or returns the canonical successor Session from server-settled Continuity authority. The client cannot choose the successor identifier or inject Continuity state; retries remain idempotent with respect to an already-established successor.\n\n**Authority:** authenticated human principal and server-persisted Session authority.\n\n**Contract:** scope `sessions.write`, `continuity.write`.",
        "responses": {
          "200": {
            "description": "Successor Session and customer-safe Continuity projection.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContinueSessionResponse"
                },
                "example": {
                  "ok": true,
                  "parentSessionId": "11111111-1111-4111-8111-111111111111",
                  "successorSessionId": "11111111-1111-4111-8111-111111111111",
                  "continuity": {
                    "packetId": "continuity_vendor_review_01",
                    "state": "settled",
                    "parentSessionId": "11111111-1111-4111-8111-111111111111",
                    "reasonCodes": [
                      "REPRESENTATIVE_REASON"
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "sessions.write",
              "continuity.write"
            ]
          }
        ],
        "parameters": [
          {
            "name": "sessionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Server-issued Session identifier."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ContinueSessionRequest"
              },
              "example": {}
            }
          }
        },
        "x-indwel-semantics": {
          "authority": "authenticated human principal and server-persisted Session authority",
          "delegation": "user-delegated only; client credentials are not eligible",
          "continuity": "server-governed successor transition",
          "idempotency": "successor lineage"
        }
      }
    },
    "/start": {
      "post": {
        "operationId": "startSessionCompatibility",
        "tags": [
          "Compatibility"
        ],
        "summary": "Start a Conversation Session",
        "description": "Launch-supported convenience operation that creates a server-issued Session and settles it as Conversation or Work posture. It does not replace canonical durable Work creation through the Work API.\n\n**Authority:** authenticated human principal.\n\n**Contract:** scope `sessions.write`.",
        "responses": {
          "200": {
            "description": "Server-issued compatibility Session.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StartSessionCompatibilityResponse"
                },
                "example": {
                  "ok": true,
                  "sessionId": "11111111-1111-4111-8111-111111111111",
                  "name": "Vendor risk review",
                  "workPosture": "conversation"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "sessions.write"
            ]
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StartSessionCompatibilityRequest"
              },
              "example": {}
            }
          }
        },
        "x-indwel-semantics": {
          "authority": "authenticated human principal",
          "classification": "compatibility/convenience; not canonical cognition ontology"
        }
      }
    },
    "/chat": {
      "post": {
        "operationId": "chatCompatibility",
        "tags": [
          "Compatibility"
        ],
        "summary": "Execute Conversation cognition",
        "description": "Launch-supported compatibility cognition transport preserving the established `/chat` response shape while execution authority resides in the canonical cognition kernel. This operation does not define canonical Run, receipt, Continuity, or long-term developer cognition truth.\n\n**Authority:** authenticated human principal.\n\n**Contract:** scope `conversation-cognition.write`.",
        "responses": {
          "200": {
            "description": "Compatibility Conversation response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConversationChatResponse"
                },
                "example": {
                  "ok": true,
                  "sessionId": "11111111-1111-4111-8111-111111111111",
                  "messages": [
                    {
                      "role": "user",
                      "content": "The newly admitted evidence does not materially change the current vendor-risk posture."
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "409": {
            "$ref": "#/components/responses/Problem409"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "conversation-cognition.write"
            ]
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConversationChatRequest"
              },
              "example": {
                "sessionId": "11111111-1111-4111-8111-111111111111",
                "prompt": "Summarise the newly admitted vendor evidence and identify any material change."
              }
            }
          }
        },
        "x-indwel-semantics": {
          "authority": "authenticated human principal",
          "classification": "compatibility/convenience; not canonical cognition ontology",
          "executionTruth": "canonical Run and terminal receipts remain authoritative"
        }
      }
    },
    "/history": {
      "get": {
        "operationId": "getSessionHistoryCompatibility",
        "tags": [
          "Compatibility"
        ],
        "summary": "Read Session history",
        "description": "Launch-supported compatibility projection of settled conversational transcript for a Session. History is not Continuity, Work state, Memory, or Run truth.\n\n**Authority:** authenticated human principal.\n\n**Contract:** scope `sessions.read`.",
        "responses": {
          "200": {
            "description": "Canonical settled Session-history projection.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionHistoryResponse"
                },
                "example": {
                  "ok": true,
                  "contractVersion": "indwel.cognitive_session_history_projection.v2",
                  "sourceOfTruth": "terminal_settlement_outbox_v2",
                  "sessionId": "11111111-1111-4111-8111-111111111111",
                  "messages": [
                    {
                      "role": "user",
                      "content": "The newly admitted evidence does not materially change the current vendor-risk posture."
                    }
                  ],
                  "quarantinedAssistantCount": 1
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Problem400"
          },
          "401": {
            "$ref": "#/components/responses/Problem401"
          },
          "403": {
            "$ref": "#/components/responses/Problem403"
          },
          "404": {
            "$ref": "#/components/responses/Problem404"
          },
          "429": {
            "$ref": "#/components/responses/Problem429"
          },
          "default": {
            "$ref": "#/components/responses/DefaultProblem"
          }
        },
        "security": [
          {
            "IndwelOAuth": [
              "sessions.read"
            ]
          }
        ],
        "parameters": [
          {
            "name": "sessionId",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Server-issued Session identifier."
          }
        ],
        "x-indwel-semantics": {
          "authority": "authenticated human principal",
          "classification": "compatibility/convenience; not canonical cognition ontology",
          "sourceOfTruth": "terminal settlement outbox projection"
        }
      }
    }
  },
  "components": {
    "schemas": {
      "ProblemDetails": {
        "type": "object",
        "description": "RFC 9457-compatible problem details with Indwel extensions.",
        "required": [
          "type",
          "title",
          "status",
          "detail",
          "code",
          "traceId"
        ],
        "properties": {
          "type": {
            "type": "string",
            "format": "uri",
            "example": "https://api.indwel.ai/problems/forbidden"
          },
          "title": {
            "type": "string",
            "example": "Forbidden"
          },
          "status": {
            "type": "integer",
            "minimum": 400,
            "maximum": 599,
            "example": 403
          },
          "detail": {
            "type": "string",
            "example": "The principal lacks authority for this operation."
          },
          "instance": {
            "type": "string",
            "example": "/v1/app-templates"
          },
          "code": {
            "type": "string",
            "example": "FORBIDDEN"
          },
          "traceId": {
            "type": "string",
            "example": "trace_01J0EXAMPLE"
          },
          "retryable": {
            "type": "boolean",
            "default": false
          },
          "requiredActions": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": true
      },
      "Service": {
        "type": "object",
        "required": [
          "serviceId",
          "name",
          "status",
          "apiVersions"
        ],
        "properties": {
          "serviceId": {
            "type": "string",
            "example": "platform"
          },
          "name": {
            "type": "string",
            "example": "Indwel Platform"
          },
          "status": {
            "type": "string",
            "enum": [
              "operational",
              "degraded",
              "unavailable"
            ],
            "example": "operational"
          },
          "apiVersions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "v1"
            ]
          },
          "governance": {
            "type": "string",
            "example": "evidence-first"
          },
          "releaseId": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": false
      },
      "Capability": {
        "type": "object",
        "required": [
          "capabilityId",
          "name",
          "lifecycle",
          "claimStatus"
        ],
        "properties": {
          "capabilityId": {
            "type": "string",
            "example": "governed-app-templates"
          },
          "name": {
            "type": "string",
            "example": "Governed app templates"
          },
          "domain": {
            "type": "string",
            "example": "apps"
          },
          "lifecycle": {
            "type": "string",
            "example": "preview"
          },
          "claimStatus": {
            "type": "string",
            "enum": [
              "qualified",
              "claimable"
            ],
            "example": "claimable"
          },
          "limitations": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false
      },
      "PlatformRelease": {
        "type": "object",
        "required": [
          "releaseId",
          "version",
          "releasedAt",
          "status"
        ],
        "properties": {
          "releaseId": {
            "type": "string",
            "example": "release_candidate_001"
          },
          "version": {
            "type": "string",
            "example": "0.1.0-design.1"
          },
          "releasedAt": {
            "type": "string",
            "format": "date-time",
            "example": "2026-07-23T21:40:00Z"
          },
          "status": {
            "type": "string",
            "enum": [
              "candidate",
              "released",
              "withdrawn",
              "superseded"
            ],
            "example": "candidate"
          },
          "summary": {
            "type": "string"
          },
          "breakingChanges": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false
      },
      "SubscriptionPlan": {
        "type": "object",
        "required": [
          "planKey",
          "label",
          "seatLimit",
          "workspaceLimit",
          "supportTier"
        ],
        "properties": {
          "planKey": {
            "type": "string",
            "enum": [
              "starter",
              "team",
              "enterprise"
            ],
            "example": "team"
          },
          "label": {
            "type": "string",
            "example": "Team"
          },
          "seatLimit": {
            "type": "integer",
            "minimum": 1,
            "example": 25
          },
          "workspaceLimit": {
            "type": "integer",
            "minimum": 1,
            "example": 3
          },
          "storageBytesLimit": {
            "type": "integer",
            "minimum": 0
          },
          "evidenceBytesLimit": {
            "type": "integer",
            "minimum": 0
          },
          "monthlyRunsLimit": {
            "type": "integer",
            "minimum": 0
          },
          "monthlyTokensLimit": {
            "type": "integer",
            "minimum": 0
          },
          "connectorSyncsLimit": {
            "type": "integer",
            "minimum": 0
          },
          "identityProviderModes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "environments": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "auditRetentionDays": {
            "type": "integer",
            "minimum": 0
          },
          "supportTier": {
            "type": "string",
            "enum": [
              "community",
              "standard",
              "priority"
            ]
          },
          "commercialStatus": {
            "type": "string",
            "enum": [
              "design-candidate",
              "available",
              "retired"
            ],
            "example": "design-candidate"
          }
        },
        "additionalProperties": false
      },
      "AppTemplateLinks": {
        "type": "object",
        "required": [
          "self",
          "workflows",
          "schemas",
          "actionDefinitions",
          "policies",
          "capabilities"
        ],
        "properties": {
          "self": {
            "type": "string"
          },
          "workflows": {
            "type": "string"
          },
          "schemas": {
            "type": "string"
          },
          "actionDefinitions": {
            "type": "string"
          },
          "policies": {
            "type": "string"
          },
          "capabilities": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "AppTemplate": {
        "type": "object",
        "required": [
          "appTemplateId",
          "name",
          "description",
          "domain",
          "lifecycle",
          "version",
          "links"
        ],
        "properties": {
          "appTemplateId": {
            "type": "string",
            "example": "contract-review"
          },
          "name": {
            "type": "string",
            "example": "Contract Review"
          },
          "description": {
            "type": "string"
          },
          "domain": {
            "type": "string",
            "example": "legal-operations"
          },
          "lifecycle": {
            "type": "string",
            "enum": [
              "preview",
              "active",
              "deprecated"
            ],
            "example": "preview"
          },
          "version": {
            "type": "string",
            "example": "1.0.0-preview"
          },
          "defaultWorkflowId": {
            "type": [
              "string",
              "null"
            ]
          },
          "supportedRunFields": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "requiredArtifacts": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "links": {
            "$ref": "#/components/schemas/AppTemplateLinks"
          }
        },
        "additionalProperties": false
      },
      "WorkflowDefinition": {
        "type": "object",
        "required": [
          "workflowId"
        ],
        "properties": {
          "workflowId": {
            "type": "string",
            "example": "review"
          },
          "name": {
            "type": "string",
            "example": "Review"
          },
          "description": {
            "type": "string"
          },
          "lifecycle": {
            "type": "string",
            "example": "preview"
          },
          "steps": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "stepId",
                "kind"
              ],
              "properties": {
                "stepId": {
                  "type": "string"
                },
                "kind": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                }
              },
              "additionalProperties": true
            }
          },
          "cognitiveContract": {
            "$ref": "#/components/schemas/CognitiveContract",
            "description": "Installed app-specific Cognitive Contract governing this workflow."
          }
        },
        "additionalProperties": false,
        "description": "Workflow definition. A Cognitive Contract makes the workflow organizationally governed rather than an unconstrained inference process."
      },
      "SchemaDefinition": {
        "type": "object",
        "required": [
          "schemaId",
          "name",
          "schema"
        ],
        "properties": {
          "schemaId": {
            "type": "string",
            "example": "contract-input"
          },
          "name": {
            "type": "string"
          },
          "schema": {
            "type": "object",
            "description": "JSON Schema document",
            "additionalProperties": true
          }
        },
        "additionalProperties": false
      },
      "ActionDefinition": {
        "type": "object",
        "required": [
          "actionId",
          "effectLevel",
          "reviewRequired"
        ],
        "properties": {
          "actionId": {
            "type": "string",
            "example": "approve-contract"
          },
          "name": {
            "type": "string"
          },
          "effectLevel": {
            "type": "string",
            "enum": [
              "read",
              "bounded-write",
              "external-effect",
              "irreversible-effect"
            ]
          },
          "reviewRequired": {
            "type": "boolean"
          },
          "receiptRequired": {
            "type": "boolean"
          },
          "providerId": {
            "type": [
              "string",
              "null"
            ],
            "description": "Installed provider binding for an effectful action. Sandbox production-readiness applications use indwel.sandbox."
          },
          "humanAuthorityRequirementId": {
            "type": [
              "string",
              "null"
            ],
            "description": "Exact current Cognitive Contract human-authority requirement required before a review-gated effect may execute."
          }
        },
        "additionalProperties": false,
        "description": "Installed action definition. Effectful actions are resolved from the immutable app version and remain subordinate to the current Cognitive Contract stage and authority."
      },
      "PolicyCollection": {
        "type": "object",
        "required": [
          "appTemplateId",
          "policies"
        ],
        "properties": {
          "appTemplateId": {
            "type": "string"
          },
          "policies": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "policyId",
                "kind",
                "lifecycle"
              ],
              "properties": {
                "policyId": {
                  "type": "string"
                },
                "kind": {
                  "type": "string"
                },
                "lifecycle": {
                  "type": "string"
                }
              },
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false
      },
      "AppTemplateCapabilities": {
        "type": "object",
        "required": [
          "appTemplateId",
          "workflowCount",
          "schemaCount",
          "actionCount",
          "lifecycle"
        ],
        "properties": {
          "appTemplateId": {
            "type": "string"
          },
          "workflowCount": {
            "type": "integer",
            "minimum": 0
          },
          "schemaCount": {
            "type": "integer",
            "minimum": 0
          },
          "actionCount": {
            "type": "integer",
            "minimum": 0
          },
          "policyCount": {
            "type": "integer",
            "minimum": 0
          },
          "lifecycle": {
            "type": "string",
            "example": "preview"
          },
          "limitations": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false
      },
      "UserPreferences": {
        "type": "object",
        "properties": {
          "locale": {
            "type": "string",
            "example": "en-US"
          },
          "timezone": {
            "type": "string",
            "example": "America/New_York"
          },
          "defaultWorkspaceId": {
            "type": [
              "string",
              "null"
            ]
          },
          "reducedMotion": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "UserAccount": {
        "type": "object",
        "required": [
          "userId",
          "displayName",
          "preferences",
          "revision"
        ],
        "properties": {
          "userId": {
            "type": "string",
            "example": "user_01J0EXAMPLE"
          },
          "displayName": {
            "type": "string",
            "example": "Developer"
          },
          "email": {
            "type": "string",
            "format": "email",
            "example": "developer@example.com"
          },
          "preferences": {
            "$ref": "#/components/schemas/UserPreferences"
          },
          "revision": {
            "type": "string",
            "example": "rev_0001"
          }
        },
        "additionalProperties": false
      },
      "ServiceListResponse": {
        "type": "object",
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "type": "object",
            "required": [
              "items"
            ],
            "properties": {
              "items": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Service"
                }
              },
              "nextCursor": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          }
        }
      },
      "CapabilityListResponse": {
        "type": "object",
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "type": "object",
            "required": [
              "items"
            ],
            "properties": {
              "items": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Capability"
                }
              },
              "nextCursor": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          }
        }
      },
      "PlatformReleaseListResponse": {
        "type": "object",
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "type": "object",
            "required": [
              "items"
            ],
            "properties": {
              "items": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PlatformRelease"
                }
              },
              "nextCursor": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          }
        }
      },
      "SubscriptionPlanListResponse": {
        "type": "object",
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "type": "object",
            "required": [
              "items"
            ],
            "properties": {
              "items": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/SubscriptionPlan"
                }
              },
              "nextCursor": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          }
        }
      },
      "AppTemplateListResponse": {
        "type": "object",
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "type": "object",
            "required": [
              "items"
            ],
            "properties": {
              "items": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/AppTemplate"
                }
              },
              "nextCursor": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          }
        }
      },
      "AppTemplateResponse": {
        "type": "object",
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "$ref": "#/components/schemas/AppTemplate"
          }
        }
      },
      "WorkflowListResponse": {
        "type": "object",
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "type": "object",
            "required": [
              "items"
            ],
            "properties": {
              "items": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/WorkflowDefinition"
                }
              },
              "nextCursor": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          }
        }
      },
      "WorkflowResponse": {
        "type": "object",
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "$ref": "#/components/schemas/WorkflowDefinition"
          }
        }
      },
      "SchemaDefinitionListResponse": {
        "type": "object",
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "type": "object",
            "required": [
              "items"
            ],
            "properties": {
              "items": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/SchemaDefinition"
                }
              },
              "nextCursor": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          }
        }
      },
      "ActionDefinitionListResponse": {
        "type": "object",
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "type": "object",
            "required": [
              "items"
            ],
            "properties": {
              "items": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ActionDefinition"
                }
              },
              "nextCursor": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          }
        }
      },
      "PolicyCollectionResponse": {
        "type": "object",
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "$ref": "#/components/schemas/PolicyCollection"
          }
        }
      },
      "AppTemplateCapabilitiesResponse": {
        "type": "object",
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "$ref": "#/components/schemas/AppTemplateCapabilities"
          }
        }
      },
      "UserAccountResponse": {
        "type": "object",
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "$ref": "#/components/schemas/UserAccount"
          }
        }
      },
      "UserPreferencesResponse": {
        "type": "object",
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "$ref": "#/components/schemas/UserPreferences"
          }
        }
      },
      "Organisation": {
        "type": "object",
        "required": [
          "organisationId",
          "name",
          "slug",
          "lifecycle",
          "createdAt"
        ],
        "properties": {
          "organisationId": {
            "type": "string",
            "example": "organ_01J0EXAMPLE"
          },
          "name": {
            "type": "string",
            "example": "Acme Holdings"
          },
          "slug": {
            "type": "string",
            "example": "acme"
          },
          "lifecycle": {
            "type": "string",
            "enum": [
              "active",
              "suspended",
              "closed"
            ]
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "Workspace": {
        "type": "object",
        "required": [
          "workspaceId",
          "organisationId",
          "name",
          "slug",
          "lifecycle",
          "createdAt"
        ],
        "properties": {
          "workspaceId": {
            "type": "string",
            "example": "works_01J0EXAMPLE"
          },
          "organisationId": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "example": "Operations"
          },
          "slug": {
            "type": "string",
            "example": "operations"
          },
          "lifecycle": {
            "type": "string",
            "enum": [
              "active",
              "suspended",
              "closed"
            ]
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "Project": {
        "type": "object",
        "required": [
          "projectId",
          "organisationId",
          "name",
          "slug",
          "lifecycle",
          "createdAt",
          "updatedAt",
          "revision"
        ],
        "properties": {
          "projectId": {
            "type": "string",
            "example": "proje_01J0EXAMPLE"
          },
          "organisationId": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "example": "Company Answers"
          },
          "slug": {
            "type": "string",
            "example": "company-answers"
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "lifecycle": {
            "type": "string",
            "enum": [
              "active",
              "suspended",
              "archived"
            ]
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "revision": {
            "type": "integer",
            "minimum": 1
          }
        },
        "additionalProperties": false
      },
      "CreateProjectRequest": {
        "type": "object",
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          },
          "slug": {
            "type": [
              "string",
              "null"
            ],
            "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
          },
          "description": {
            "type": [
              "string",
              "null"
            ],
            "maxLength": 2000
          }
        },
        "additionalProperties": false
      },
      "Environment": {
        "type": "object",
        "required": [
          "environmentId",
          "projectId",
          "name",
          "slug",
          "kind",
          "effectMode",
          "lifecycle",
          "createdAt",
          "organisationId",
          "revision",
          "updatedAt"
        ],
        "properties": {
          "environmentId": {
            "type": "string",
            "example": "envir_01J0EXAMPLE"
          },
          "projectId": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "example": "Reference Sandbox"
          },
          "slug": {
            "type": "string",
            "example": "reference"
          },
          "kind": {
            "type": "string",
            "enum": [
              "sandbox",
              "development",
              "staging",
              "production"
            ]
          },
          "effectMode": {
            "type": "string",
            "enum": [
              "simulated",
              "controlled",
              "live"
            ]
          },
          "lifecycle": {
            "type": "string",
            "enum": [
              "active",
              "suspended",
              "archived"
            ]
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "organisationId": {
            "type": "string"
          },
          "revision": {
            "type": "integer",
            "minimum": 1
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "CreateEnvironmentRequest": {
        "type": "object",
        "required": [
          "name",
          "kind"
        ],
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1
          },
          "slug": {
            "type": [
              "string",
              "null"
            ]
          },
          "kind": {
            "type": "string",
            "enum": [
              "sandbox",
              "development",
              "staging",
              "production"
            ]
          },
          "effectMode": {
            "type": "string",
            "enum": [
              "simulated",
              "controlled",
              "live"
            ],
            "default": "simulated"
          }
        },
        "additionalProperties": false
      },
      "Client": {
        "type": "object",
        "required": [
          "clientId",
          "organisationId",
          "projectId",
          "environmentId",
          "name",
          "applicationType",
          "oauthClientType",
          "grantTypes",
          "tokenEndpointAuthMethod",
          "redirectUris",
          "pkceRequired",
          "issuerBindingStatus",
          "authorizationServerIssuer",
          "scopes",
          "status",
          "revision",
          "createdAt",
          "updatedAt",
          "lastRotatedAt"
        ],
        "properties": {
          "clientId": {
            "type": "string",
            "example": "clien_01J0EXAMPLE"
          },
          "organisationId": {
            "type": "string"
          },
          "projectId": {
            "type": "string"
          },
          "environmentId": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "example": "Company Answers Service"
          },
          "applicationType": {
            "type": "string",
            "enum": [
              "service",
              "web",
              "native",
              "browser"
            ]
          },
          "oauthClientType": {
            "type": "string",
            "enum": [
              "confidential",
              "public"
            ]
          },
          "grantTypes": {
            "type": "array",
            "minItems": 1,
            "uniqueItems": true,
            "items": {
              "type": "string",
              "enum": [
                "client_credentials",
                "authorization_code"
              ]
            }
          },
          "tokenEndpointAuthMethod": {
            "type": "string",
            "enum": [
              "client_secret_basic",
              "none"
            ]
          },
          "redirectUris": {
            "type": "array",
            "uniqueItems": true,
            "maxItems": 10,
            "items": {
              "type": "string",
              "format": "uri"
            }
          },
          "pkceRequired": {
            "type": "boolean"
          },
          "issuerBindingStatus": {
            "type": "string",
            "enum": [
              "pending",
              "active",
              "suspended"
            ]
          },
          "authorizationServerIssuer": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri"
          },
          "scopes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "status": {
            "type": "string",
            "enum": [
              "pending",
              "active",
              "revoked",
              "expired"
            ]
          },
          "revision": {
            "type": "integer",
            "minimum": 1
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "lastRotatedAt": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Developer client registration. New clients remain pending and unusable until bound to the authorized OAuth issuer."
      },
      "CreateClientRequest": {
        "type": "object",
        "required": [
          "name",
          "environmentId",
          "applicationType",
          "scopes"
        ],
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1
          },
          "environmentId": {
            "type": "string"
          },
          "applicationType": {
            "type": "string",
            "enum": [
              "service",
              "web",
              "native",
              "browser"
            ]
          },
          "redirectUris": {
            "type": "array",
            "uniqueItems": true,
            "maxItems": 10,
            "items": {
              "type": "string",
              "format": "uri"
            },
            "description": "Required for web, native, and browser clients; prohibited for service clients."
          },
          "scopes": {
            "type": "array",
            "minItems": 1,
            "uniqueItems": true,
            "items": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false
      },
      "App": {
        "type": "object",
        "required": [
          "appId",
          "projectId",
          "name",
          "slug",
          "lifecycle",
          "createdAt"
        ],
        "properties": {
          "appId": {
            "type": "string",
            "example": "app_01J0EXAMPLE"
          },
          "projectId": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "example": "Company Answers"
          },
          "slug": {
            "type": "string",
            "example": "company-answers"
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "archetype": {
            "type": [
              "string",
              "null"
            ],
            "example": "authoritative-determination"
          },
          "lifecycle": {
            "type": "string",
            "enum": [
              "active",
              "suspended",
              "archived"
            ]
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "CreateAppRequest": {
        "type": "object",
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1
          },
          "slug": {
            "type": [
              "string",
              "null"
            ]
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "archetype": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": false
      },
      "PolicyDefinition": {
        "type": "object",
        "required": [
          "policyId",
          "kind",
          "lifecycle"
        ],
        "properties": {
          "policyId": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "lifecycle": {
            "type": "string"
          },
          "configuration": {
            "type": "object",
            "additionalProperties": true
          }
        },
        "additionalProperties": false
      },
      "AppManifest": {
        "type": "object",
        "required": [
          "workflows",
          "schemas",
          "policies",
          "actionDefinitions"
        ],
        "properties": {
          "workflows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WorkflowDefinition"
            }
          },
          "schemas": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SchemaDefinition"
            }
          },
          "policies": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PolicyDefinition"
            }
          },
          "actionDefinitions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ActionDefinition"
            }
          },
          "cognitionProfileRef": {
            "type": [
              "string",
              "null"
            ],
            "description": "Opaque cognition-profile reference resolved by the platform for the application version."
          }
        },
        "additionalProperties": false,
        "description": "Versioned governed-app package. The cognition-profile reference is resolved by the platform under application-version authority."
      },
      "AppVersionValidationSummary": {
        "type": "object",
        "required": [
          "status",
          "issueCount"
        ],
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "not-run",
              "valid",
              "invalid"
            ],
            "description": "Persisted App Version validation state. `not-run` exists only before validation has been performed; completed validation is `valid` or `invalid`."
          },
          "issueCount": {
            "type": "integer",
            "minimum": 0
          }
        },
        "additionalProperties": false
      },
      "AppVersion": {
        "type": "object",
        "required": [
          "appVersionId",
          "appId",
          "version",
          "status",
          "revision",
          "manifestDigest",
          "validation",
          "createdAt"
        ],
        "properties": {
          "appVersionId": {
            "type": "string",
            "example": "appve_01J0EXAMPLE"
          },
          "appId": {
            "type": "string"
          },
          "version": {
            "type": "string",
            "example": "1.0.0"
          },
          "status": {
            "type": "string",
            "enum": [
              "draft",
              "validated",
              "published",
              "rejected"
            ]
          },
          "revision": {
            "type": "string",
            "example": "rev_0001"
          },
          "manifestDigest": {
            "type": "string",
            "example": "sha256:..."
          },
          "validation": {
            "$ref": "#/components/schemas/AppVersionValidationSummary"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "publishedAt": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "CreateAppVersionRequest": {
        "type": "object",
        "required": [
          "version",
          "manifest"
        ],
        "properties": {
          "version": {
            "type": "string",
            "minLength": 1
          },
          "manifest": {
            "$ref": "#/components/schemas/AppManifest"
          }
        },
        "additionalProperties": false
      },
      "ValidationIssue": {
        "type": "object",
        "required": [
          "code",
          "severity",
          "path",
          "message"
        ],
        "properties": {
          "code": {
            "type": "string",
            "description": "Machine-readable validation issue code. Unresolved cognition-profile authority uses `COGNITION_PROFILE_AUTHORITY_UNAVAILABLE`."
          },
          "severity": {
            "type": "string",
            "enum": [
              "error",
              "warning",
              "information"
            ]
          },
          "path": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "AppVersionValidationReport": {
        "type": "object",
        "required": [
          "appVersionId",
          "status",
          "issues",
          "checkedAt"
        ],
        "properties": {
          "appVersionId": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "valid",
              "invalid"
            ],
            "description": "Completed App Version validation result. Missing or unresolved required authority fails closed as `invalid`."
          },
          "issues": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ValidationIssue"
            }
          },
          "checkedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "Operation": {
        "type": "object",
        "required": [
          "operationId",
          "kind",
          "status",
          "createdAt",
          "updatedAt"
        ],
        "properties": {
          "operationId": {
            "type": "string",
            "example": "opera_01J0EXAMPLE"
          },
          "kind": {
            "type": "string",
            "example": "deployment.create"
          },
          "status": {
            "type": "string",
            "enum": [
              "queued",
              "running",
              "cancelling",
              "succeeded",
              "failed",
              "cancelled"
            ]
          },
          "targetResourceId": {
            "type": [
              "string",
              "null"
            ]
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "terminalAt": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "problem": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/ProblemDetails"
              },
              {
                "type": "null"
              }
            ]
          },
          "progressPercent": {
            "type": [
              "number",
              "null"
            ],
            "minimum": 0,
            "maximum": 100
          },
          "cancellable": {
            "type": "boolean"
          },
          "resultResourceId": {
            "type": [
              "string",
              "null"
            ]
          },
          "receiptId": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": false
      },
      "CreateDeploymentRequest": {
        "type": "object",
        "required": [
          "appVersionId"
        ],
        "properties": {
          "appVersionId": {
            "type": "string"
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": false
      },
      "Installation": {
        "type": "object",
        "required": [
          "installationId",
          "organisationId",
          "workspaceId",
          "deploymentId",
          "permissions",
          "status",
          "createdAt"
        ],
        "properties": {
          "installationId": {
            "type": "string",
            "example": "insta_01J0EXAMPLE"
          },
          "organisationId": {
            "type": "string"
          },
          "workspaceId": {
            "type": "string"
          },
          "deploymentId": {
            "type": "string"
          },
          "permissions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "suspended",
              "removed"
            ]
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "CreateInstallationRequest": {
        "type": "object",
        "required": [
          "deploymentId",
          "permissions"
        ],
        "properties": {
          "deploymentId": {
            "type": "string"
          },
          "permissions": {
            "type": "array",
            "minItems": 1,
            "uniqueItems": true,
            "items": {
              "type": "string"
            }
          },
          "policyOverrides": {
            "type": "object",
            "additionalProperties": true
          }
        },
        "additionalProperties": false
      },
      "Collection": {
        "type": "object",
        "required": [
          "collectionId",
          "workspaceId",
          "name",
          "status",
          "createdAt"
        ],
        "properties": {
          "collectionId": {
            "type": "string",
            "example": "colle_01J0EXAMPLE"
          },
          "workspaceId": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "suspended",
              "archived"
            ]
          },
          "custodyPolicyId": {
            "type": [
              "string",
              "null"
            ]
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "CreateCollectionRequest": {
        "type": "object",
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "custodyPolicyId": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": false
      },
      "SourceCustody": {
        "type": "object",
        "required": [
          "classification",
          "authorityClass"
        ],
        "properties": {
          "classification": {
            "type": "string",
            "example": "internal-policy"
          },
          "authorityClass": {
            "type": "string",
            "example": "governing-policy"
          },
          "effectiveAt": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "retentionPolicyId": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": false
      },
      "UploadInstructions": {
        "type": "object",
        "required": [
          "method",
          "url",
          "headers",
          "expiresAt"
        ],
        "properties": {
          "method": {
            "type": "string",
            "enum": [
              "PUT"
            ]
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "headers": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Short-lived direct-upload instructions. The URL is sensitive and omitted from ordinary Source reads."
      },
      "Source": {
        "type": "object",
        "required": [
          "sourceId",
          "collectionId",
          "name",
          "mediaType",
          "status",
          "custody",
          "createdAt"
        ],
        "properties": {
          "sourceId": {
            "type": "string",
            "example": "sourc_01J0EXAMPLE"
          },
          "collectionId": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "mediaType": {
            "type": "string",
            "example": "application/pdf"
          },
          "sizeBytes": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 0
          },
          "sha256": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "awaiting-upload",
              "uploaded",
              "ingesting",
              "ready",
              "failed"
            ]
          },
          "custody": {
            "$ref": "#/components/schemas/SourceCustody"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "CreateSourceRequest": {
        "type": "object",
        "required": [
          "name",
          "mediaType",
          "custody"
        ],
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1
          },
          "mediaType": {
            "type": "string"
          },
          "sizeBytes": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 0
          },
          "sha256": {
            "type": [
              "string",
              "null"
            ]
          },
          "custody": {
            "$ref": "#/components/schemas/SourceCustody"
          }
        },
        "additionalProperties": false
      },
      "SourceCreateResult": {
        "type": "object",
        "required": [
          "source",
          "upload"
        ],
        "properties": {
          "source": {
            "$ref": "#/components/schemas/Source"
          },
          "upload": {
            "$ref": "#/components/schemas/UploadInstructions"
          }
        },
        "additionalProperties": false
      },
      "Ingestion": {
        "type": "object",
        "required": [
          "ingestionId",
          "sourceId",
          "status",
          "evidenceReady",
          "createdAt"
        ],
        "properties": {
          "ingestionId": {
            "type": "string",
            "example": "inges_01J0EXAMPLE"
          },
          "sourceId": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "queued",
              "processing",
              "ready",
              "failed",
              "cancelled"
            ]
          },
          "operationId": {
            "type": [
              "string",
              "null"
            ]
          },
          "evidenceReady": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "completedAt": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "problem": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/ProblemDetails"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false
      },
      "CreateIngestionRequest": {
        "type": "object",
        "required": [],
        "properties": {
          "parserProfile": {
            "type": [
              "string",
              "null"
            ]
          },
          "language": {
            "type": [
              "string",
              "null"
            ]
          },
          "options": {
            "type": "object",
            "additionalProperties": true
          }
        },
        "additionalProperties": false
      },
      "Case": {
        "type": "object",
        "required": [
          "caseId",
          "workspaceId",
          "installationId",
          "workflowId",
          "status",
          "input",
          "revision",
          "createdAt"
        ],
        "properties": {
          "caseId": {
            "type": "string",
            "example": "case_01J0EXAMPLE"
          },
          "workspaceId": {
            "type": "string"
          },
          "installationId": {
            "type": "string"
          },
          "workflowId": {
            "type": "string"
          },
          "title": {
            "type": [
              "string",
              "null"
            ]
          },
          "externalReference": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "open",
              "closed",
              "cancelled"
            ]
          },
          "input": {
            "type": "object",
            "additionalProperties": true
          },
          "revision": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "CreateCaseRequest": {
        "type": "object",
        "required": [
          "installationId",
          "workflowId",
          "input"
        ],
        "properties": {
          "installationId": {
            "type": "string"
          },
          "workflowId": {
            "type": "string"
          },
          "title": {
            "type": [
              "string",
              "null"
            ]
          },
          "externalReference": {
            "type": [
              "string",
              "null"
            ]
          },
          "input": {
            "type": "object",
            "additionalProperties": true
          }
        },
        "additionalProperties": false
      },
      "OrganisationListResponse": {
        "type": "object",
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "type": "object",
            "required": [
              "items"
            ],
            "properties": {
              "items": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Organisation"
                }
              },
              "nextCursor": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "additionalProperties": false
          }
        },
        "additionalProperties": false
      },
      "WorkspaceListResponse": {
        "type": "object",
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "type": "object",
            "required": [
              "items"
            ],
            "properties": {
              "items": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Workspace"
                }
              },
              "nextCursor": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "additionalProperties": false
          }
        },
        "additionalProperties": false
      },
      "ProjectResponse": {
        "type": "object",
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "$ref": "#/components/schemas/Project"
          }
        },
        "additionalProperties": false
      },
      "EnvironmentResponse": {
        "type": "object",
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "$ref": "#/components/schemas/Environment"
          }
        },
        "additionalProperties": false
      },
      "AppResponse": {
        "type": "object",
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "$ref": "#/components/schemas/App"
          }
        },
        "additionalProperties": false
      },
      "AppVersionResponse": {
        "type": "object",
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "$ref": "#/components/schemas/AppVersion"
          }
        },
        "additionalProperties": false
      },
      "AppVersionValidationReportResponse": {
        "type": "object",
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "$ref": "#/components/schemas/AppVersionValidationReport"
          }
        },
        "additionalProperties": false
      },
      "OperationResponse": {
        "type": "object",
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "$ref": "#/components/schemas/Operation"
          }
        },
        "additionalProperties": false
      },
      "InstallationResponse": {
        "type": "object",
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "$ref": "#/components/schemas/Installation"
          }
        },
        "additionalProperties": false
      },
      "CollectionResponse": {
        "type": "object",
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "$ref": "#/components/schemas/Collection"
          }
        },
        "additionalProperties": false
      },
      "SourceCreateResponse": {
        "type": "object",
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "$ref": "#/components/schemas/SourceCreateResult"
          }
        },
        "additionalProperties": false
      },
      "IngestionResponse": {
        "type": "object",
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "$ref": "#/components/schemas/Ingestion"
          }
        },
        "additionalProperties": false
      },
      "CaseResponse": {
        "type": "object",
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "$ref": "#/components/schemas/Case"
          }
        },
        "additionalProperties": false
      },
      "EventDestination": {
        "type": "object",
        "required": [
          "eventDestinationId",
          "projectId",
          "environmentId",
          "url",
          "eventTypes",
          "status",
          "signingAlgorithm",
          "createdAt"
        ],
        "properties": {
          "eventDestinationId": {
            "type": "string",
            "example": "event_01J0EXAMPLE"
          },
          "projectId": {
            "type": "string"
          },
          "environmentId": {
            "type": "string"
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "eventTypes": {
            "type": "array",
            "minItems": 1,
            "items": {
              "type": "string"
            }
          },
          "apiVersion": {
            "type": "string",
            "example": "2026-07-23"
          },
          "status": {
            "enum": [
              "active",
              "paused",
              "failing",
              "disabled"
            ]
          },
          "signingAlgorithm": {
            "enum": [
              "hmac-sha256"
            ]
          },
          "secretLastRotatedAt": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "CreateEventDestinationRequest": {
        "type": "object",
        "required": [
          "environmentId",
          "url",
          "eventTypes"
        ],
        "properties": {
          "environmentId": {
            "type": "string"
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "eventTypes": {
            "type": "array",
            "minItems": 1,
            "items": {
              "type": "string"
            }
          },
          "apiVersion": {
            "type": "string"
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": false
      },
      "EventDestinationResponse": {
        "type": "object",
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "$ref": "#/components/schemas/EventDestination"
          }
        },
        "additionalProperties": false
      },
      "SendTestEventRequest": {
        "type": "object",
        "required": [
          "eventType"
        ],
        "properties": {
          "eventType": {
            "type": "string",
            "example": "indwel.test.v1"
          },
          "payload": {
            "type": "object",
            "additionalProperties": true
          }
        },
        "additionalProperties": false
      },
      "Delivery": {
        "type": "object",
        "required": [
          "deliveryId",
          "eventDestinationId",
          "eventId",
          "attemptNumber",
          "status",
          "createdAt"
        ],
        "properties": {
          "deliveryId": {
            "type": "string",
            "example": "deliv_01J0EXAMPLE"
          },
          "eventDestinationId": {
            "type": "string"
          },
          "eventId": {
            "type": "string"
          },
          "originalDeliveryId": {
            "type": [
              "string",
              "null"
            ]
          },
          "attemptNumber": {
            "type": "integer",
            "minimum": 1
          },
          "status": {
            "enum": [
              "queued",
              "delivering",
              "succeeded",
              "failed",
              "dead-lettered"
            ]
          },
          "responseStatus": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 100,
            "maximum": 599
          },
          "latencyMs": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 0
          },
          "nextAttemptAt": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "DeliveryResponse": {
        "type": "object",
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "$ref": "#/components/schemas/Delivery"
          }
        },
        "additionalProperties": false
      },
      "DeliveryListResponse": {
        "type": "object",
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "type": "object",
            "required": [
              "items"
            ],
            "properties": {
              "items": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Delivery"
                }
              },
              "nextCursor": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "additionalProperties": false
          }
        },
        "additionalProperties": false
      },
      "ReplayDeliveryRequest": {
        "type": "object",
        "required": [],
        "properties": {
          "reason": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": false
      },
      "Quota": {
        "type": "object",
        "required": [
          "quotaId",
          "metric",
          "limit",
          "used",
          "reserved",
          "remaining",
          "periodStart",
          "periodEnd"
        ],
        "properties": {
          "quotaId": {
            "type": "string"
          },
          "metric": {
            "type": "string",
            "example": "governed_runs"
          },
          "limit": {
            "type": "number",
            "minimum": 0
          },
          "used": {
            "type": "number",
            "minimum": 0
          },
          "reserved": {
            "type": "number",
            "minimum": 0
          },
          "remaining": {
            "type": "number",
            "minimum": 0
          },
          "unit": {
            "type": "string",
            "example": "runs"
          },
          "periodStart": {
            "type": "string",
            "format": "date-time"
          },
          "periodEnd": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "QuotaSetResponse": {
        "type": "object",
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "type": "object",
            "required": [
              "items"
            ],
            "properties": {
              "items": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Quota"
                }
              },
              "nextCursor": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "additionalProperties": false
          }
        },
        "additionalProperties": false
      },
      "UsageRecord": {
        "type": "object",
        "required": [
          "usageRecordId",
          "projectId",
          "metric",
          "quantity",
          "unit",
          "occurredAt"
        ],
        "properties": {
          "usageRecordId": {
            "type": "string"
          },
          "projectId": {
            "type": "string"
          },
          "environmentId": {
            "type": [
              "string",
              "null"
            ]
          },
          "metric": {
            "type": "string"
          },
          "quantity": {
            "type": "number",
            "minimum": 0
          },
          "unit": {
            "type": "string"
          },
          "costClass": {
            "type": [
              "string",
              "null"
            ]
          },
          "releaseId": {
            "type": [
              "string",
              "null"
            ]
          },
          "occurredAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "UsageRecordListResponse": {
        "type": "object",
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "type": "object",
            "required": [
              "items"
            ],
            "properties": {
              "items": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/UsageRecord"
                }
              },
              "nextCursor": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "additionalProperties": false
          }
        },
        "additionalProperties": false
      },
      "ActivityEvent": {
        "type": "object",
        "required": [
          "activityEventId",
          "projectId",
          "type",
          "summary",
          "occurredAt"
        ],
        "properties": {
          "activityEventId": {
            "type": "string"
          },
          "projectId": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "actor": {
            "type": [
              "string",
              "null"
            ]
          },
          "resourceId": {
            "type": [
              "string",
              "null"
            ]
          },
          "summary": {
            "type": "string"
          },
          "occurredAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "ActivityEventListResponse": {
        "type": "object",
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "type": "object",
            "required": [
              "items"
            ],
            "properties": {
              "items": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ActivityEvent"
                }
              },
              "nextCursor": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "additionalProperties": false
          }
        },
        "additionalProperties": false
      },
      "CancelOperationRequest": {
        "type": "object",
        "required": [],
        "properties": {
          "reason": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": false
      },
      "RollbackDeploymentRequest": {
        "type": "object",
        "required": [],
        "properties": {
          "targetDeploymentId": {
            "type": [
              "string",
              "null"
            ]
          },
          "reason": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": false
      },
      "RotateCredentialRequest": {
        "type": "object",
        "required": [],
        "properties": {
          "overlapSeconds": {
            "type": "integer",
            "minimum": 0,
            "maximum": 86400
          },
          "expiresAt": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "CredentialRotationReceipt": {
        "type": "object",
        "required": [
          "credentialId",
          "clientId",
          "secret",
          "rotatedAt"
        ],
        "properties": {
          "credentialId": {
            "type": "string"
          },
          "clientId": {
            "type": "string"
          },
          "secret": {
            "type": "string",
            "writeOnly": true
          },
          "rotatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "previousCredentialValidUntil": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "expiresAt": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "CredentialRotationReceiptResponse": {
        "type": "object",
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "$ref": "#/components/schemas/CredentialRotationReceipt"
          }
        },
        "additionalProperties": false
      },
      "RotateEventDestinationSecretRequest": {
        "type": "object",
        "required": [],
        "properties": {
          "overlapSeconds": {
            "type": "integer",
            "minimum": 0,
            "maximum": 86400
          }
        },
        "additionalProperties": false
      },
      "EventDestinationSecretRotationReceipt": {
        "type": "object",
        "required": [
          "eventDestinationId",
          "signingSecret",
          "rotatedAt"
        ],
        "properties": {
          "eventDestinationId": {
            "type": "string"
          },
          "signingSecret": {
            "type": "string",
            "writeOnly": true
          },
          "rotatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "previousSecretValidUntil": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "EventDestinationSecretRotationReceiptResponse": {
        "type": "object",
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "$ref": "#/components/schemas/EventDestinationSecretRotationReceipt"
          }
        },
        "additionalProperties": false
      },
      "ServiceResponse": {
        "type": "object",
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "$ref": "#/components/schemas/Service"
          }
        },
        "additionalProperties": false
      },
      "Credential": {
        "type": "object",
        "required": [
          "credentialId",
          "organisationId",
          "projectId",
          "clientId",
          "status",
          "revision",
          "createdAt",
          "updatedAt",
          "expiresAt",
          "validUntil"
        ],
        "properties": {
          "credentialId": {
            "type": "string"
          },
          "organisationId": {
            "type": "string"
          },
          "projectId": {
            "type": "string"
          },
          "clientId": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "overlap",
              "revoked",
              "expired"
            ]
          },
          "revision": {
            "type": "integer",
            "minimum": 1
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "expiresAt": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "validUntil": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Credential metadata. Secret hashes and plaintext material are never exposed."
      },
      "ProjectList": {
        "type": "object",
        "required": [
          "items"
        ],
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Project"
            }
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": false
      },
      "ProjectListResponse": {
        "type": "object",
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "$ref": "#/components/schemas/ProjectList"
          }
        },
        "additionalProperties": false
      },
      "EnvironmentList": {
        "type": "object",
        "required": [
          "items"
        ],
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Environment"
            }
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": false
      },
      "EnvironmentListResponse": {
        "type": "object",
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "$ref": "#/components/schemas/EnvironmentList"
          }
        },
        "additionalProperties": false
      },
      "ClientList": {
        "type": "object",
        "required": [
          "items"
        ],
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Client"
            }
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": false
      },
      "ClientListResponse": {
        "type": "object",
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "$ref": "#/components/schemas/ClientList"
          }
        },
        "additionalProperties": false
      },
      "CredentialList": {
        "type": "object",
        "required": [
          "items"
        ],
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Credential"
            }
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": false
      },
      "CredentialListResponse": {
        "type": "object",
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "$ref": "#/components/schemas/CredentialList"
          }
        },
        "additionalProperties": false
      },
      "ClientResponse": {
        "type": "object",
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "$ref": "#/components/schemas/Client"
          }
        },
        "additionalProperties": false
      },
      "CredentialResponse": {
        "type": "object",
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "$ref": "#/components/schemas/Credential"
          }
        },
        "additionalProperties": false
      },
      "ClientRegistrationReceipt": {
        "type": "object",
        "required": [
          "client",
          "secret",
          "secretDisplay",
          "registeredAt",
          "credentialId",
          "pkceRequired",
          "issuerBindingStatus"
        ],
        "properties": {
          "client": {
            "$ref": "#/components/schemas/Client"
          },
          "secret": {
            "type": "null",
            "readOnly": true,
            "description": "No OAuth credential is issued before provider binding."
          },
          "secretDisplay": {
            "type": "string",
            "enum": [
              "not-issued-pending-issuer-binding"
            ]
          },
          "registeredAt": {
            "type": "string",
            "format": "date-time"
          },
          "credentialId": {
            "type": "null",
            "readOnly": true
          },
          "pkceRequired": {
            "type": "boolean"
          },
          "issuerBindingStatus": {
            "type": "string",
            "enum": [
              "pending"
            ]
          }
        },
        "additionalProperties": false,
        "description": "Client registration receipt. The client cannot authenticate until an authorized OAuth issuer binding is completed."
      },
      "ClientRegistrationReceiptResponse": {
        "type": "object",
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "$ref": "#/components/schemas/ClientRegistrationReceipt"
          }
        },
        "additionalProperties": false
      },
      "CreateRunPlanRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "sessionId",
          "prompt",
          "mode",
          "routeTemplateId"
        ],
        "properties": {
          "sessionId": {
            "type": "string",
            "minLength": 1
          },
          "prompt": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100000
          },
          "history": {
            "type": "array",
            "maxItems": 200,
            "items": {
              "type": "object"
            }
          },
          "mode": {
            "type": "string",
            "minLength": 1
          },
          "routeTemplateId": {
            "type": "string",
            "minLength": 1
          }
        }
      },
      "RunPlan": {
        "type": "object",
        "required": [
          "planId",
          "caseId",
          "caseRevision",
          "installationId",
          "workflowId",
          "sessionId",
          "promptDigest",
          "requestedModeId",
          "routeTemplateId",
          "previewContractHash",
          "previewAdmissionSnapshotDigest",
          "executionBasisDigest",
          "status",
          "createdAt"
        ],
        "properties": {
          "planId": {
            "type": "string"
          },
          "caseId": {
            "type": "string"
          },
          "caseRevision": {
            "type": "integer",
            "minimum": 1
          },
          "installationId": {
            "type": "string"
          },
          "workflowId": {
            "type": "string"
          },
          "sessionId": {
            "type": "string"
          },
          "promptDigest": {
            "type": "string"
          },
          "requestedModeId": {
            "type": "string"
          },
          "routeTemplateId": {
            "type": "string"
          },
          "previewContractHash": {
            "type": "string"
          },
          "previewAdmissionSnapshotDigest": {
            "type": "string"
          },
          "executionBasisDigest": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "const": "admitted"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "RunPlanResponse": {
        "type": "object",
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "$ref": "#/components/schemas/RunPlan"
          }
        }
      },
      "CreateRunRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "planId",
          "prompt"
        ],
        "properties": {
          "planId": {
            "type": "string",
            "minLength": 1
          },
          "prompt": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100000
          },
          "history": {
            "type": "array",
            "maxItems": 200,
            "items": {
              "type": "object"
            }
          }
        }
      },
      "RunEvidenceItem": {
        "type": "object",
        "required": [
          "evidenceId",
          "disposition"
        ],
        "properties": {
          "evidenceId": {
            "type": "string"
          },
          "disposition": {
            "type": "string",
            "enum": [
              "admitted",
              "suppressed",
              "unsupported"
            ]
          },
          "canonicalIdentity": {
            "type": "string"
          },
          "provenanceReference": {
            "type": "string"
          },
          "reasonCode": {
            "type": "string"
          }
        }
      },
      "RunEvidenceListResponse": {
        "type": "object",
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "type": "object",
            "required": [
              "runId",
              "caseId",
              "sourceOfTruth",
              "renderManifestId",
              "renderManifestDigest",
              "items"
            ],
            "properties": {
              "runId": {
                "type": "string"
              },
              "caseId": {
                "type": "string"
              },
              "sourceOfTruth": {
                "type": "string"
              },
              "renderManifestId": {
                "type": "string"
              },
              "renderManifestDigest": {
                "type": "string"
              },
              "items": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/RunEvidenceItem"
                }
              }
            }
          }
        }
      },
      "CognitiveContractEvidenceRequirement": {
        "type": "object",
        "required": [
          "requirementId",
          "acceptedSources"
        ],
        "properties": {
          "requirementId": {
            "type": "string",
            "minLength": 1,
            "description": "Stable requirement identity within the installed Cognitive Contract."
          },
          "acceptedSources": {
            "type": "array",
            "minItems": 1,
            "uniqueItems": true,
            "items": {
              "type": "string",
              "enum": [
                "evidence-firewall",
                "awa",
                "rag",
                "deterministic-evaluator",
                "operator-evidence"
              ]
            },
            "description": "Evidence evaluator classes admitted by this exact requirement."
          }
        },
        "additionalProperties": false
      },
      "CognitiveContractHumanAuthorityRequirement": {
        "type": "object",
        "required": [
          "requirementId",
          "authorityClass"
        ],
        "properties": {
          "requirementId": {
            "type": "string",
            "minLength": 1
          },
          "authorityClass": {
            "type": "string",
            "minLength": 1,
            "description": "Organization-defined authority class required for this business transition."
          },
          "eligibleTenantRoles": {
            "type": "array",
            "uniqueItems": true,
            "items": {
              "type": "string",
              "enum": [
                "viewer",
                "auditor",
                "analyst",
                "developer",
                "operator",
                "admin",
                "owner"
              ]
            },
            "description": "Tenant roles eligible to satisfy this authority requirement; runtime still evaluates the exact actor and current Case authority."
          },
          "decisionPolicy": {
            "type": "string",
            "enum": [
              "single-authority"
            ],
            "description": "Supported settlement policy for the human authority requirement."
          }
        },
        "additionalProperties": false
      },
      "CognitiveContractTransition": {
        "type": "object",
        "required": [
          "transitionId",
          "fromStage",
          "toStage",
          "evidenceRequirements",
          "humanAuthorityRequirements"
        ],
        "properties": {
          "transitionId": {
            "type": "string",
            "minLength": 1
          },
          "fromStage": {
            "type": "string",
            "minLength": 1
          },
          "toStage": {
            "type": "string",
            "minLength": 1
          },
          "evidenceRequirements": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CognitiveContractEvidenceRequirement"
            }
          },
          "humanAuthorityRequirements": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CognitiveContractHumanAuthorityRequirement"
            }
          }
        },
        "additionalProperties": false
      },
      "CognitiveContract": {
        "type": "object",
        "required": [
          "schema",
          "contractId",
          "version",
          "initialStage",
          "transitions"
        ],
        "properties": {
          "schema": {
            "type": "string",
            "enum": [
              "indwel.cognitive-contract.v1"
            ]
          },
          "contractId": {
            "type": "string",
            "minLength": 1,
            "description": "Immutable application-specific Cognitive Contract identity."
          },
          "version": {
            "type": "string",
            "minLength": 1,
            "description": "Contract version retained by Cases created from the installed app version."
          },
          "initialStage": {
            "type": "string",
            "minLength": 1,
            "description": "Initial governed business stage for Cases using this workflow."
          },
          "transitions": {
            "type": "array",
            "minItems": 1,
            "items": {
              "$ref": "#/components/schemas/CognitiveContractTransition"
            },
            "description": "Stage transitions whose evidence and human-authority requirements govern settlement."
          }
        },
        "additionalProperties": false,
        "description": "Application-specific organizational law installed inside Indwel's non-negotiable Cognitive Constitution. It constrains what evidence, human authority and business transitions may settle the workflow."
      },
      "ReferenceEnvelope": {
        "type": "object",
        "additionalProperties": true,
        "description": "Authenticated Indwel API response envelope. Individual resources define the data projection."
      },
      "WorkDocketProjection": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "workId",
          "title",
          "lifecycle",
          "tenantId",
          "workspaceId"
        ],
        "properties": {
          "workId": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "lifecycle": {
            "type": "string"
          },
          "posture": {
            "type": "string"
          },
          "sensitivity": {
            "type": "string"
          },
          "tenantId": {
            "type": "string"
          },
          "workspaceId": {
            "type": "string"
          },
          "portfolioId": {
            "type": "string"
          },
          "teamIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "relationship": {
            "type": "string",
            "enum": [
              "depends_on",
              "blocks",
              "supersedes",
              "related",
              "derived_from",
              "portfolio_peer"
            ]
          }
        },
        "description": "Least-privilege Work docket projection returned only after backend tenant/workspace authority is applied."
      },
      "WorkListResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "items",
              "count"
            ],
            "properties": {
              "items": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/WorkDocketProjection"
                }
              },
              "count": {
                "type": "integer",
                "minimum": 0
              }
            }
          }
        }
      },
      "WorkResidualState": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "unsatisfiedCriterionIds",
          "unresolvedQuestionIds",
          "blockerIds",
          "frontierItemIds"
        ],
        "properties": {
          "unsatisfiedCriterionIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "unresolvedQuestionIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "blockerIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "frontierItemIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "WorkStatusProjection": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "schema",
          "workId",
          "title",
          "tenantId",
          "workspaceId",
          "lifecycle",
          "posture",
          "docketRevision",
          "progressRevision",
          "residuals",
          "settlementCandidate",
          "settlementReasonCodes",
          "legalNextActions",
          "updatedAt"
        ],
        "properties": {
          "schema": {
            "type": "string",
            "const": "indwel.work_status_projection.v1"
          },
          "workId": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "tenantId": {
            "type": "string"
          },
          "workspaceId": {
            "type": "string"
          },
          "portfolioId": {
            "type": "string"
          },
          "lifecycle": {
            "type": "string",
            "enum": [
              "proposed",
              "active",
              "paused",
              "review",
              "closed"
            ]
          },
          "posture": {
            "type": "string"
          },
          "docketRevision": {
            "type": "integer",
            "minimum": 1
          },
          "progressRevision": {
            "type": "integer",
            "minimum": 1
          },
          "residuals": {
            "$ref": "#/components/schemas/WorkResidualState"
          },
          "settlementCandidate": {
            "type": "boolean"
          },
          "settlementReasonCodes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "legalNextActions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "WorkSettlementReceipt": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "schema",
          "receiptId",
          "workId",
          "disposition",
          "closedAt",
          "closedBy",
          "docketRevision",
          "progressRevision",
          "residuals",
          "evidenceRefs",
          "decisionRefs",
          "sourceReceiptIds",
          "status",
          "reasonCodes",
          "digest"
        ],
        "properties": {
          "schema": {
            "type": "string",
            "const": "indwel.work_settlement_receipt.v1"
          },
          "receiptId": {
            "type": "string"
          },
          "workId": {
            "type": "string"
          },
          "disposition": {
            "type": "string",
            "enum": [
              "satisfied",
              "best_effort",
              "blocked",
              "exhausted",
              "abandoned",
              "superseded"
            ]
          },
          "closedAt": {
            "type": "string",
            "format": "date-time"
          },
          "closedBy": {
            "type": "string"
          },
          "docketRevision": {
            "type": "integer",
            "minimum": 1
          },
          "progressRevision": {
            "type": "integer",
            "minimum": 1
          },
          "residuals": {
            "$ref": "#/components/schemas/WorkResidualState"
          },
          "evidenceRefs": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "decisionRefs": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "sourceReceiptIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "residualRisk": {
            "type": "string",
            "enum": [
              "none",
              "low",
              "medium",
              "high"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "settled",
              "settled_with_residuals"
            ]
          },
          "reasonCodes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "digest": {
            "type": "string"
          }
        }
      },
      "WorkStatusResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "status",
              "settlementReceipt"
            ],
            "properties": {
              "status": {
                "$ref": "#/components/schemas/WorkStatusProjection"
              },
              "settlementReceipt": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/WorkSettlementReceipt"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            }
          }
        }
      },
      "WorkProjectionResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "$ref": "#/components/schemas/WorkStatusProjection"
          }
        }
      },
      "WorkSettlementResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "status",
              "receipt"
            ],
            "properties": {
              "status": {
                "$ref": "#/components/schemas/WorkStatusProjection"
              },
              "receipt": {
                "$ref": "#/components/schemas/WorkSettlementReceipt"
              }
            }
          }
        }
      },
      "WorkPortfolioSummary": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "portfolioId",
          "workCount",
          "lifecycleCounts",
          "postureCounts",
          "blockedWorkIds",
          "settlementCandidateWorkIds",
          "lastUpdatedAt",
          "workIds"
        ],
        "properties": {
          "portfolioId": {
            "type": "string"
          },
          "workCount": {
            "type": "integer",
            "minimum": 0
          },
          "lifecycleCounts": {
            "type": "object",
            "additionalProperties": {
              "type": "integer",
              "minimum": 0
            }
          },
          "postureCounts": {
            "type": "object",
            "additionalProperties": {
              "type": "integer",
              "minimum": 0
            }
          },
          "blockedWorkIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "settlementCandidateWorkIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "lastUpdatedAt": {
            "oneOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ]
          },
          "workIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "WorkPortfolioProjection": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "schema",
          "tenantId",
          "principalId",
          "visibleWorkCount",
          "portfolios",
          "reasonCodes"
        ],
        "properties": {
          "schema": {
            "type": "string",
            "const": "indwel.work_portfolio_projection.v1"
          },
          "tenantId": {
            "type": "string"
          },
          "principalId": {
            "type": "string"
          },
          "visibleWorkCount": {
            "type": "integer",
            "minimum": 0
          },
          "portfolios": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WorkPortfolioSummary"
            }
          },
          "reasonCodes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "WorkPortfolioResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "$ref": "#/components/schemas/WorkPortfolioProjection"
          }
        }
      },
      "WorkEconomicAttributionLine": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "id",
          "machineCostMicros",
          "terminalInferenceRuns",
          "unpricedTerminalRuns",
          "unpricedPhysicalAttempts",
          "humanEngagementEvents"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "machineCostMicros": {
            "type": "integer",
            "minimum": 0
          },
          "terminalInferenceRuns": {
            "type": "integer",
            "minimum": 0
          },
          "unpricedTerminalRuns": {
            "type": "integer",
            "minimum": 0
          },
          "unpricedPhysicalAttempts": {
            "type": "integer",
            "minimum": 0
          },
          "humanEngagementEvents": {
            "type": "integer",
            "minimum": 0
          }
        }
      },
      "WorkEconomicsProjection": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "schema",
          "tenantId",
          "workId",
          "workspaceIds",
          "currency",
          "truthClass",
          "machineCostMicros",
          "terminalInferenceRuns",
          "unpricedTerminalRuns",
          "unpricedPhysicalAttempts",
          "humanEngagementEvents",
          "byUser",
          "byTeam",
          "unallocatedUserMachineCostMicros",
          "unallocatedTeamMachineCostMicros",
          "sourceEventIds",
          "reasonCodes"
        ],
        "properties": {
          "schema": {
            "type": "string",
            "const": "indwel.work_economics_projection.v1"
          },
          "tenantId": {
            "type": "string"
          },
          "workId": {
            "type": "string"
          },
          "workspaceIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "currency": {
            "type": "string",
            "const": "USD"
          },
          "truthClass": {
            "type": "string",
            "enum": [
              "provider_priced_settlement",
              "unavailable"
            ]
          },
          "machineCostMicros": {
            "oneOf": [
              {
                "type": "integer",
                "minimum": 0
              },
              {
                "type": "null"
              }
            ]
          },
          "terminalInferenceRuns": {
            "type": "integer",
            "minimum": 0
          },
          "unpricedTerminalRuns": {
            "type": "integer",
            "minimum": 0
          },
          "unpricedPhysicalAttempts": {
            "type": "integer",
            "minimum": 0
          },
          "humanEngagementEvents": {
            "type": "integer",
            "minimum": 0
          },
          "byUser": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WorkEconomicAttributionLine"
            }
          },
          "byTeam": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WorkEconomicAttributionLine"
            }
          },
          "unallocatedUserMachineCostMicros": {
            "type": "integer",
            "minimum": 0
          },
          "unallocatedTeamMachineCostMicros": {
            "type": "integer",
            "minimum": 0
          },
          "sourceEventIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "reasonCodes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "WorkEconomicsProvenance": {
        "type": "object",
        "additionalProperties": false,
        "description": "Customer-safe provenance for Work economics. Storage topology remains behind the API boundary.",
        "required": [
          "schemaVersion",
          "authority",
          "complete",
          "eventCount",
          "reasonCodes"
        ],
        "properties": {
          "schemaVersion": {
            "type": "string",
            "const": "indwel.work_economics_provenance.v1"
          },
          "authority": {
            "type": "string",
            "const": "unified-system-ledger"
          },
          "complete": {
            "type": "boolean"
          },
          "eventCount": {
            "type": "integer",
            "minimum": 0
          },
          "reasonCodes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "WorkEconomicsResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "projection",
              "provenance"
            ],
            "properties": {
              "projection": {
                "$ref": "#/components/schemas/WorkEconomicsProjection"
              },
              "provenance": {
                "$ref": "#/components/schemas/WorkEconomicsProvenance"
              }
            }
          }
        }
      },
      "WorkCreateRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "title",
          "workspaceId"
        ],
        "properties": {
          "workId": {
            "type": "string",
            "description": "Optional caller-supplied durable Work identifier; when omitted the backend creates one."
          },
          "title": {
            "type": "string",
            "minLength": 1
          },
          "displayName": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "workspaceId": {
            "type": "string",
            "minLength": 1
          },
          "portfolioId": {
            "type": "string"
          },
          "contractIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "teamIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "objectiveIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "successCriterionIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "materialQuestionIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "WorkUpdateRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "expectedRevision"
        ],
        "properties": {
          "expectedRevision": {
            "type": "integer",
            "minimum": 1
          },
          "title": {
            "type": "string"
          },
          "displayName": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "portfolioId": {
            "type": "string"
          },
          "addTeamIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "addParticipantPrincipalIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "addConversationIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "addSessionIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "addContractIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "addObjectiveIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "lifecycle": {
            "type": "string",
            "enum": [
              "proposed",
              "active",
              "paused",
              "review"
            ]
          }
        }
      },
      "WorkAdvanceRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "expectedProgressRevision",
          "kind",
          "summary"
        ],
        "properties": {
          "expectedProgressRevision": {
            "type": "integer",
            "minimum": 1
          },
          "actId": {
            "type": "string"
          },
          "at": {
            "type": "string",
            "format": "date-time"
          },
          "kind": {
            "type": "string",
            "enum": [
              "criterion_satisfied",
              "question_resolved",
              "evidence_admitted",
              "decision_settled",
              "step_completed",
              "blocker_removed",
              "deliverable_changed",
              "approval_granted",
              "frontier_changed"
            ]
          },
          "summary": {
            "type": "string",
            "minLength": 1
          },
          "receiptIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "satisfiedCriterionIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "resolvedQuestionIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "blockerIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "removeBlockerIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "decisionIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "settledDecisionIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "frontierItemIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "posture": {
            "type": "string",
            "enum": [
              "advancing",
              "steady",
              "blocked",
              "decision_ready",
              "settlement_candidate"
            ]
          }
        }
      },
      "WorkSettleRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "expectedDocketRevision",
          "disposition",
          "summary"
        ],
        "properties": {
          "expectedDocketRevision": {
            "type": "integer",
            "minimum": 1
          },
          "disposition": {
            "type": "string",
            "enum": [
              "satisfied",
              "best_effort",
              "blocked",
              "exhausted",
              "abandoned",
              "superseded"
            ]
          },
          "summary": {
            "type": "string",
            "minLength": 1
          },
          "objectiveId": {
            "type": "string"
          },
          "satisfiedCriterionIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "unsatisfiedCriterionIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "unresolvedItemIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "evidenceRefs": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "decisionRefs": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "receiptIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "blockingReasons": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "residualRisk": {
            "type": "string",
            "enum": [
              "none",
              "low",
              "medium",
              "high"
            ]
          },
          "supersededByWorkId": {
            "type": "string"
          },
          "userAccepted": {
            "type": "boolean"
          }
        }
      },
      "MemoryCreateRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "title"
        ],
        "properties": {
          "title": {
            "type": "string",
            "maxLength": 240
          },
          "content": {
            "type": "string",
            "maxLength": 12000
          },
          "category": {
            "type": "string",
            "maxLength": 100
          },
          "structuredPayload": {
            "type": "object"
          },
          "sourceSessionId": {
            "type": "string",
            "maxLength": 200
          },
          "importance": {
            "type": "string",
            "enum": [
              "ordinary",
              "important"
            ]
          },
          "sensitivity": {
            "type": "string",
            "maxLength": 80
          },
          "retentionClass": {
            "type": "string",
            "maxLength": 80
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "MemoryVersionedActionRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "expectedVersion"
        ],
        "properties": {
          "expectedVersion": {
            "type": "integer",
            "minimum": 1
          }
        }
      },
      "MemoryEditRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "expectedVersion"
        ],
        "properties": {
          "expectedVersion": {
            "type": "integer",
            "minimum": 1
          },
          "title": {
            "type": "string",
            "maxLength": 240
          },
          "content": {
            "type": "string",
            "maxLength": 12000
          },
          "category": {
            "type": "string",
            "maxLength": 100
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "structuredPayload": {
            "type": "object"
          }
        }
      },
      "MemoryImportanceRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "expectedVersion",
          "importance"
        ],
        "properties": {
          "expectedVersion": {
            "type": "integer",
            "minimum": 1
          },
          "importance": {
            "type": "string",
            "enum": [
              "ordinary",
              "important"
            ]
          }
        }
      },
      "MemoryProposalResolutionRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "expectedVersion",
          "action"
        ],
        "properties": {
          "expectedVersion": {
            "type": "integer",
            "minimum": 1
          },
          "action": {
            "type": "string",
            "enum": [
              "approve",
              "edit_and_approve",
              "dismiss"
            ]
          },
          "title": {
            "type": "string",
            "maxLength": 240
          },
          "content": {
            "type": "string",
            "maxLength": 12000
          },
          "category": {
            "type": "string",
            "maxLength": 100
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "structuredPayload": {
            "type": "object"
          },
          "importance": {
            "type": "string",
            "enum": [
              "ordinary",
              "important"
            ]
          }
        }
      },
      "MemoryPreferencesUpdateRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "expectedVersion"
        ],
        "properties": {
          "expectedVersion": {
            "type": "integer",
            "minimum": 0
          },
          "useSavedMemory": {
            "type": "boolean"
          },
          "formationMode": {
            "type": "string",
            "enum": [
              "explicit_only",
              "ask_before_saving"
            ]
          },
          "showSaveNotices": {
            "type": "boolean"
          },
          "showAnswerImpact": {
            "type": "boolean"
          }
        }
      },
      "MemoryExportRequest": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "variant": {
            "type": "string",
            "enum": [
              "safe_current_inventory",
              "complete_personal_archive"
            ],
            "default": "safe_current_inventory"
          },
          "query": {
            "type": "object",
            "description": "Optional Memory query for the safe current inventory export."
          }
        }
      },
      "MemoryWorkPostureUpdateRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "requestedPosture",
          "expectedVersion"
        ],
        "properties": {
          "requestedPosture": {
            "type": "string"
          },
          "expectedVersion": {
            "type": "integer",
            "minimum": 0
          }
        }
      },
      "ScheduledWorkProposalRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "workspaceId",
          "request"
        ],
        "properties": {
          "workspaceId": {
            "type": "string",
            "minLength": 1
          },
          "request": {
            "type": "string",
            "minLength": 1
          },
          "defaultTimeZone": {
            "type": "string"
          }
        }
      },
      "ScheduledWorkCreateRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "proposal",
          "acceptedByPrincipalId"
        ],
        "properties": {
          "proposal": {
            "$ref": "#/components/schemas/ScheduledWorkCharterProposal"
          },
          "acceptedByPrincipalId": {
            "type": "string",
            "minLength": 1,
            "description": "Must equal the authenticated principal; the backend verifies this authority."
          }
        }
      },
      "ScheduledWorkEditRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "expectedCharterVersion",
          "proposal",
          "acceptedByPrincipalId"
        ],
        "properties": {
          "expectedCharterVersion": {
            "type": "integer",
            "minimum": 1
          },
          "proposal": {
            "$ref": "#/components/schemas/ScheduledWorkCharterProposal"
          },
          "acceptedByPrincipalId": {
            "type": "string",
            "minLength": 1,
            "description": "Must equal the authenticated principal; the backend verifies this authority."
          }
        }
      },
      "ScheduledWorkTransitionRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "expectedCharterVersion"
        ],
        "properties": {
          "expectedCharterVersion": {
            "type": "integer",
            "minimum": 1
          }
        }
      },
      "ScheduledWorkTestRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "expectedCharterVersion"
        ],
        "properties": {
          "expectedCharterVersion": {
            "type": "integer",
            "minimum": 1
          },
          "idempotenceKey": {
            "type": "string"
          }
        }
      },
      "ParallelCognitionProgrammeProjection": {
        "type": "object",
        "additionalProperties": true,
        "description": "Work-bound program projection. Backend-derived fields include program posture, branch denominator, branch settlement, cumulative economics, stopping posture, and fan-in/parent-synthesis posture."
      },
      "MemoryProjectionFreshness": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "schemaVersion",
          "state",
          "readAvailable",
          "mutationAvailable",
          "observedAt",
          "explanation",
          "reasonCodes"
        ],
        "properties": {
          "schemaVersion": {
            "type": "string",
            "const": "memory_projection_freshness.v1"
          },
          "state": {
            "type": "string",
            "enum": [
              "complete",
              "delayed",
              "partial",
              "unavailable"
            ]
          },
          "readAvailable": {
            "type": "boolean"
          },
          "mutationAvailable": {
            "type": "boolean"
          },
          "observedAt": {
            "type": "string",
            "format": "date-time"
          },
          "explanation": {
            "type": "string"
          },
          "reasonCodes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "PersonalMemoryItem": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "schemaVersion",
          "memoryRef",
          "version",
          "title",
          "content",
          "category",
          "state",
          "importance",
          "authority",
          "origin",
          "scope",
          "influence",
          "createdAt",
          "updatedAt",
          "capabilities"
        ],
        "properties": {
          "schemaVersion": {
            "type": "string",
            "const": "personal_memory_view.v2"
          },
          "memoryRef": {
            "type": "string"
          },
          "version": {
            "type": "integer",
            "minimum": 1
          },
          "title": {
            "type": "string"
          },
          "content": {
            "type": "string"
          },
          "category": {
            "type": "string",
            "enum": [
              "preference",
              "personal_fact",
              "boundary",
              "directive",
              "brief"
            ]
          },
          "state": {
            "type": "string",
            "enum": [
              "active",
              "needs_review",
              "paused",
              "stopped",
              "replaced"
            ]
          },
          "importance": {
            "type": "string",
            "enum": [
              "ordinary",
              "important"
            ]
          },
          "authority": {
            "type": "string",
            "enum": [
              "user_authored",
              "user_approved",
              "current_user_correction",
              "system_suggested"
            ]
          },
          "origin": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "kind",
              "label"
            ],
            "properties": {
              "kind": {
                "type": "string"
              },
              "label": {
                "type": "string"
              }
            }
          },
          "scope": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "mode",
              "label"
            ],
            "properties": {
              "mode": {
                "type": "string",
                "enum": [
                  "account",
                  "work"
                ]
              },
              "label": {
                "type": "string"
              }
            }
          },
          "influence": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "eligible",
              "explanation"
            ],
            "properties": {
              "eligible": {
                "type": "boolean"
              },
              "explanation": {
                "type": "string"
              },
              "lastHelpedAt": {
                "type": "string",
                "format": "date-time"
              }
            }
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "replacement": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "replacementRef",
              "label"
            ],
            "properties": {
              "replacementRef": {
                "type": "string"
              },
              "label": {
                "type": "string"
              }
            }
          },
          "capabilities": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "edit",
              "correct",
              "makeImportant",
              "pause",
              "restore",
              "stop",
              "useAgain",
              "delete",
              "versions",
              "proof"
            ],
            "properties": {
              "edit": {
                "type": "boolean"
              },
              "correct": {
                "type": "boolean"
              },
              "makeImportant": {
                "type": "boolean"
              },
              "pause": {
                "type": "boolean"
              },
              "restore": {
                "type": "boolean"
              },
              "stop": {
                "type": "boolean"
              },
              "useAgain": {
                "type": "boolean"
              },
              "delete": {
                "type": "boolean"
              },
              "versions": {
                "type": "boolean"
              },
              "proof": {
                "type": "boolean"
              }
            }
          }
        }
      },
      "MemoryPage": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "hasMore"
        ],
        "properties": {
          "hasMore": {
            "type": "boolean"
          },
          "nextCursor": {
            "type": "string"
          }
        }
      },
      "MemoryLifecycleReceipt": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "schemaVersion",
          "action",
          "memoryRef",
          "expectedVersion",
          "resultingVersion",
          "stateBefore",
          "stateAfter",
          "importanceBefore",
          "importanceAfter",
          "occurredAt",
          "idempotentReplay"
        ],
        "properties": {
          "schemaVersion": {
            "type": "string",
            "const": "memory_lifecycle_mutation.v2"
          },
          "action": {
            "type": "string",
            "enum": [
              "keep",
              "pause",
              "restore",
              "stop",
              "use_again",
              "importance",
              "edit",
              "correct"
            ]
          },
          "memoryRef": {
            "type": "string"
          },
          "expectedVersion": {
            "type": "integer",
            "minimum": 1
          },
          "resultingVersion": {
            "type": "integer",
            "minimum": 1
          },
          "stateBefore": {
            "type": "string",
            "enum": [
              "active",
              "needs_review",
              "paused",
              "stopped",
              "replaced"
            ]
          },
          "stateAfter": {
            "type": "string",
            "enum": [
              "active",
              "needs_review",
              "paused",
              "stopped",
              "replaced"
            ]
          },
          "importanceBefore": {
            "type": "string",
            "enum": [
              "ordinary",
              "important"
            ]
          },
          "importanceAfter": {
            "type": "string",
            "enum": [
              "ordinary",
              "important"
            ]
          },
          "occurredAt": {
            "type": "string",
            "format": "date-time"
          },
          "idempotentReplay": {
            "type": "boolean"
          }
        }
      },
      "MemoryCorrectionReceipt": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "schemaVersion",
          "correctedMemoryRef",
          "replacementMemoryRef",
          "expectedVersion",
          "resultingSourceVersion",
          "replacementVersion",
          "occurredAt",
          "idempotentReplay"
        ],
        "properties": {
          "schemaVersion": {
            "type": "string",
            "const": "memory_correction_receipt.v2"
          },
          "correctedMemoryRef": {
            "type": "string"
          },
          "replacementMemoryRef": {
            "type": "string"
          },
          "expectedVersion": {
            "type": "integer",
            "minimum": 1
          },
          "resultingSourceVersion": {
            "type": "integer",
            "minimum": 1
          },
          "replacementVersion": {
            "type": "integer",
            "minimum": 1
          },
          "occurredAt": {
            "type": "string",
            "format": "date-time"
          },
          "idempotentReplay": {
            "type": "boolean"
          }
        }
      },
      "MemoryProposal": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "schemaVersion",
          "proposalRef",
          "version",
          "title",
          "content",
          "category",
          "suggestedImportance",
          "inert",
          "sourceType",
          "reasonCodes",
          "origin",
          "scope",
          "createdAt",
          "updatedAt"
        ],
        "properties": {
          "schemaVersion": {
            "type": "string",
            "const": "memory_proposal_view.v2"
          },
          "proposalRef": {
            "type": "string"
          },
          "version": {
            "type": "integer",
            "minimum": 1
          },
          "title": {
            "type": "string"
          },
          "content": {
            "type": "string"
          },
          "category": {
            "type": "string"
          },
          "suggestedImportance": {
            "type": "string",
            "enum": [
              "ordinary",
              "important"
            ]
          },
          "inert": {
            "type": "boolean",
            "const": true
          },
          "sourceType": {
            "type": "string"
          },
          "reasonCodes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "origin": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "label",
              "sourceType",
              "authorisedRunBound",
              "authorisedSessionBound"
            ],
            "properties": {
              "label": {
                "type": "string"
              },
              "sourceType": {
                "type": "string"
              },
              "authorisedRunBound": {
                "type": "boolean"
              },
              "authorisedSessionBound": {
                "type": "boolean"
              }
            }
          },
          "scope": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "kind",
              "label"
            ],
            "properties": {
              "kind": {
                "type": "string",
                "const": "account"
              },
              "label": {
                "type": "string"
              }
            }
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "MemoryPreferences": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "useSavedMemory",
          "formationMode",
          "showSaveNotices",
          "showAnswerImpact",
          "version",
          "createdAt",
          "updatedAt"
        ],
        "properties": {
          "useSavedMemory": {
            "type": "boolean"
          },
          "formationMode": {
            "type": "string",
            "enum": [
              "explicit_only",
              "ask_before_saving"
            ]
          },
          "showSaveNotices": {
            "type": "boolean"
          },
          "showAnswerImpact": {
            "type": "boolean"
          },
          "version": {
            "type": "integer",
            "minimum": 0
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "MemoryWorkPosture": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "schemaVersion",
          "source",
          "workRef",
          "requestedPosture",
          "version",
          "createdAt",
          "updatedAt"
        ],
        "properties": {
          "schemaVersion": {
            "type": "integer",
            "const": 2
          },
          "source": {
            "type": "string",
            "const": "memory_work_posture.v2"
          },
          "workRef": {
            "type": "string"
          },
          "requestedPosture": {
            "type": "string",
            "enum": [
              "account_default",
              "temporary",
              "read_only",
              "review_gated"
            ]
          },
          "version": {
            "type": "integer",
            "minimum": 0
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "MemoryAnswerImpactReceipt": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "schemaVersion",
          "source",
          "answerRef",
          "terminalEffectId",
          "terminalOutboxEventId",
          "settlement",
          "requestedPosture",
          "effectivePosture",
          "outcome",
          "helpedShape",
          "consideredNotUsed",
          "heldBack",
          "suggestions",
          "completeness",
          "nonClaims"
        ],
        "properties": {
          "schemaVersion": {
            "type": "integer",
            "const": 2
          },
          "source": {
            "type": "string",
            "const": "memory_answer_impact_receipt.v2"
          },
          "answerRef": {
            "type": "string"
          },
          "terminalEffectId": {
            "type": "string"
          },
          "terminalOutboxEventId": {
            "type": "string"
          },
          "workRef": {
            "type": "string"
          },
          "settlement": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "state",
              "settledAt"
            ],
            "properties": {
              "state": {
                "type": "string",
                "const": "settled"
              },
              "settledAt": {
                "type": "string",
                "format": "date-time"
              }
            }
          },
          "requestedPosture": {
            "type": "string",
            "enum": [
              "account_default",
              "temporary",
              "read_only",
              "review_gated"
            ]
          },
          "effectivePosture": {
            "type": "string",
            "enum": [
              "account_default",
              "temporary",
              "read_only",
              "review_gated"
            ]
          },
          "outcome": {
            "type": "string",
            "enum": [
              "memory_helped",
              "no_memory_helped"
            ]
          },
          "helpedShape": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "memoryRef"
              ],
              "properties": {
                "memoryRef": {
                  "type": "string"
                },
                "version": {
                  "type": "integer",
                  "minimum": 1
                },
                "title": {
                  "type": "string"
                },
                "state": {
                  "type": "string",
                  "enum": [
                    "active",
                    "paused",
                    "needs_review",
                    "stopped",
                    "replaced",
                    "deleted"
                  ]
                },
                "scope": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "mode": {
                      "type": "string",
                      "enum": [
                        "account",
                        "work"
                      ]
                    },
                    "label": {
                      "type": "string"
                    },
                    "workRef": {
                      "type": "string"
                    }
                  }
                },
                "influence": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "eligible": {
                      "type": "boolean"
                    },
                    "explanation": {
                      "type": "string"
                    },
                    "lastHelpedAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  }
                }
              }
            }
          },
          "consideredNotUsed": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "memoryRef",
                "title",
                "explanation"
              ],
              "properties": {
                "memoryRef": {
                  "type": "string"
                },
                "title": {
                  "type": "string"
                },
                "explanation": {
                  "type": "string"
                }
              }
            }
          },
          "heldBack": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "label",
                "reason"
              ],
              "properties": {
                "label": {
                  "type": "string"
                },
                "reason": {
                  "type": "string"
                }
              }
            }
          },
          "suggestions": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "proposalRef",
                "title",
                "state"
              ],
              "properties": {
                "proposalRef": {
                  "type": "string"
                },
                "title": {
                  "type": "string"
                },
                "state": {
                  "type": "string",
                  "const": "awaiting_approval"
                }
              }
            }
          },
          "completeness": {
            "type": "string",
            "enum": [
              "complete",
              "partial"
            ]
          },
          "nonClaims": {
            "type": "array",
            "prefixItems": [
              {
                "const": "retrieval_or_admission_alone_does_not_prove_answer_influence"
              },
              {
                "const": "suggestions_are_inert_until_explicit_approval"
              }
            ],
            "minItems": 2,
            "maxItems": 2
          }
        }
      },
      "MemoryProposalResolutionReceipt": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "schemaVersion",
          "authority",
          "action",
          "proposalRef",
          "expectedVersion",
          "proposalResultingVersion",
          "proposalStateBefore",
          "proposalStateAfter",
          "consequence",
          "occurredAt",
          "idempotentReplay",
          "nonClaim"
        ],
        "properties": {
          "schemaVersion": {
            "type": "string",
            "const": "memory_proposal_resolution_receipt.v2"
          },
          "authority": {
            "type": "string",
            "const": "personal_memory_proposal_resolution"
          },
          "action": {
            "type": "string",
            "enum": [
              "approve",
              "edit_and_approve",
              "dismiss"
            ]
          },
          "proposalRef": {
            "type": "string"
          },
          "expectedVersion": {
            "type": "integer",
            "minimum": 1
          },
          "proposalResultingVersion": {
            "type": "integer",
            "minimum": 1
          },
          "proposalStateBefore": {
            "type": "string",
            "const": "awaiting_approval"
          },
          "proposalStateAfter": {
            "type": "string",
            "enum": [
              "resolved",
              "dismissed"
            ]
          },
          "consequence": {
            "type": "string",
            "enum": [
              "active_memory_created",
              "no_active_memory_created"
            ]
          },
          "memoryRef": {
            "type": "string"
          },
          "memoryVersion": {
            "type": "integer",
            "minimum": 1
          },
          "occurredAt": {
            "type": "string",
            "format": "date-time"
          },
          "idempotentReplay": {
            "type": "boolean"
          },
          "nonClaim": {
            "type": "string",
            "const": "This receipt records the Memory consequence only; it does not settle wider Work."
          }
        }
      },
      "MemoryProposalBatchDismissalReceipt": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "schemaVersion",
          "authority",
          "action",
          "proposalRefs",
          "count",
          "consequence",
          "occurredAt",
          "idempotentReplay",
          "nonClaim"
        ],
        "properties": {
          "schemaVersion": {
            "type": "string",
            "const": "memory_proposal_batch_dismissal_receipt.v2"
          },
          "authority": {
            "type": "string",
            "const": "personal_memory_proposal_batch_resolution"
          },
          "action": {
            "type": "string",
            "const": "dismiss"
          },
          "proposalRefs": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "count": {
            "type": "integer",
            "minimum": 0
          },
          "consequence": {
            "type": "string",
            "const": "no_active_memory_created"
          },
          "occurredAt": {
            "type": "string",
            "format": "date-time"
          },
          "idempotentReplay": {
            "type": "boolean"
          },
          "nonClaim": {
            "type": "string",
            "const": "This receipt records the selected proposal dismissals only; it does not settle wider Work."
          }
        }
      },
      "MemoryListResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "ok",
          "items",
          "page",
          "query",
          "freshness"
        ],
        "properties": {
          "ok": {
            "type": "boolean",
            "const": true
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PersonalMemoryItem"
            }
          },
          "page": {
            "$ref": "#/components/schemas/MemoryPage"
          },
          "query": {
            "type": "object",
            "additionalProperties": true
          },
          "freshness": {
            "$ref": "#/components/schemas/MemoryProjectionFreshness"
          }
        }
      },
      "MemoryItemResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "ok",
          "item",
          "freshness"
        ],
        "properties": {
          "ok": {
            "type": "boolean",
            "const": true
          },
          "item": {
            "$ref": "#/components/schemas/PersonalMemoryItem"
          },
          "freshness": {
            "$ref": "#/components/schemas/MemoryProjectionFreshness"
          }
        }
      },
      "MemoryItemCreateResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "ok",
          "item",
          "created",
          "idempotentReplay",
          "freshness"
        ],
        "properties": {
          "ok": {
            "type": "boolean",
            "const": true
          },
          "item": {
            "$ref": "#/components/schemas/PersonalMemoryItem"
          },
          "created": {
            "type": "boolean"
          },
          "idempotentReplay": {
            "type": "boolean"
          },
          "freshness": {
            "$ref": "#/components/schemas/MemoryProjectionFreshness"
          }
        }
      },
      "MemoryMutationResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "ok",
          "item",
          "receipt",
          "freshness"
        ],
        "properties": {
          "ok": {
            "type": "boolean",
            "const": true
          },
          "item": {
            "$ref": "#/components/schemas/PersonalMemoryItem"
          },
          "receipt": {
            "$ref": "#/components/schemas/MemoryLifecycleReceipt"
          },
          "freshness": {
            "$ref": "#/components/schemas/MemoryProjectionFreshness"
          }
        }
      },
      "MemoryCorrectionResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "ok",
          "item",
          "replacedItem",
          "receipt",
          "freshness"
        ],
        "properties": {
          "ok": {
            "type": "boolean",
            "const": true
          },
          "item": {
            "$ref": "#/components/schemas/PersonalMemoryItem"
          },
          "replacedItem": {
            "$ref": "#/components/schemas/PersonalMemoryItem"
          },
          "receipt": {
            "$ref": "#/components/schemas/MemoryCorrectionReceipt"
          },
          "freshness": {
            "$ref": "#/components/schemas/MemoryProjectionFreshness"
          }
        }
      },
      "MemoryDeleteResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "ok",
          "memoryRef",
          "deleted",
          "deletedAt",
          "idempotentReplay",
          "freshness"
        ],
        "properties": {
          "ok": {
            "type": "boolean",
            "const": true
          },
          "memoryRef": {
            "type": "string"
          },
          "deleted": {
            "type": "boolean"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "idempotentReplay": {
            "type": "boolean"
          },
          "freshness": {
            "$ref": "#/components/schemas/MemoryProjectionFreshness"
          }
        }
      },
      "MemoryVersionsResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "ok",
          "memoryRef",
          "versions",
          "page",
          "freshness"
        ],
        "properties": {
          "ok": {
            "type": "boolean",
            "const": true
          },
          "memoryRef": {
            "type": "string"
          },
          "versions": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "version",
                "createdAt",
                "mutationEventId",
                "item"
              ],
              "properties": {
                "version": {
                  "type": "integer",
                  "minimum": 1
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time"
                },
                "mutationEventId": {
                  "type": "string"
                },
                "item": {
                  "$ref": "#/components/schemas/PersonalMemoryItem"
                }
              }
            }
          },
          "page": {
            "$ref": "#/components/schemas/MemoryPage"
          },
          "freshness": {
            "$ref": "#/components/schemas/MemoryProjectionFreshness"
          }
        }
      },
      "MemoryLinkCreateResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "ok",
          "linkToken",
          "createdAt"
        ],
        "properties": {
          "ok": {
            "type": "boolean",
            "const": true
          },
          "linkToken": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "freshness": {
            "$ref": "#/components/schemas/MemoryProjectionFreshness"
          }
        }
      },
      "MemoryProposalListResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "ok",
          "proposals",
          "page",
          "query",
          "freshness"
        ],
        "properties": {
          "ok": {
            "type": "boolean",
            "const": true
          },
          "proposals": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MemoryProposal"
            }
          },
          "page": {
            "$ref": "#/components/schemas/MemoryPage"
          },
          "query": {
            "type": "object",
            "additionalProperties": true
          },
          "freshness": {
            "$ref": "#/components/schemas/MemoryProjectionFreshness"
          }
        }
      },
      "MemoryProposalBatchDismissalResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "ok",
          "dismissed",
          "receipt",
          "freshness"
        ],
        "properties": {
          "ok": {
            "type": "boolean",
            "const": true
          },
          "dismissed": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "proposalRef",
                "version",
                "state"
              ],
              "properties": {
                "proposalRef": {
                  "type": "string"
                },
                "version": {
                  "type": "integer",
                  "minimum": 1
                },
                "state": {
                  "type": "string",
                  "const": "dismissed"
                }
              }
            }
          },
          "receipt": {
            "$ref": "#/components/schemas/MemoryProposalBatchDismissalReceipt"
          },
          "freshness": {
            "$ref": "#/components/schemas/MemoryProjectionFreshness"
          }
        }
      },
      "MemoryProposalResolutionResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "ok",
          "resolution",
          "receipt",
          "freshness"
        ],
        "properties": {
          "ok": {
            "type": "boolean",
            "const": true
          },
          "resolution": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "schemaVersion",
              "action",
              "proposalRef",
              "proposalVersion",
              "resolvedState",
              "idempotentReplay"
            ],
            "properties": {
              "schemaVersion": {
                "type": "string",
                "const": "memory_proposal_resolution.v2"
              },
              "action": {
                "type": "string",
                "enum": [
                  "approve",
                  "edit_and_approve",
                  "dismiss"
                ]
              },
              "proposalRef": {
                "type": "string"
              },
              "proposalVersion": {
                "type": "integer",
                "minimum": 1
              },
              "resolvedState": {
                "type": "string",
                "enum": [
                  "active",
                  "needs_review",
                  "paused",
                  "stopped",
                  "replaced"
                ]
              },
              "idempotentReplay": {
                "type": "boolean"
              }
            }
          },
          "item": {
            "$ref": "#/components/schemas/PersonalMemoryItem"
          },
          "receipt": {
            "$ref": "#/components/schemas/MemoryProposalResolutionReceipt"
          },
          "freshness": {
            "$ref": "#/components/schemas/MemoryProjectionFreshness"
          }
        }
      },
      "MemoryPreferencesResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "ok",
          "preferences",
          "freshness"
        ],
        "properties": {
          "ok": {
            "type": "boolean",
            "const": true
          },
          "preferences": {
            "$ref": "#/components/schemas/MemoryPreferences"
          },
          "created": {
            "type": "boolean"
          },
          "idempotentReplay": {
            "type": "boolean"
          },
          "freshness": {
            "$ref": "#/components/schemas/MemoryProjectionFreshness"
          }
        }
      },
      "MemoryExportResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "ok",
          "schemaVersion",
          "variant",
          "exportedAt",
          "count",
          "query",
          "items",
          "freshness"
        ],
        "properties": {
          "ok": {
            "type": "boolean",
            "const": true
          },
          "schemaVersion": {
            "type": "string",
            "const": "memory_export_packet.v2"
          },
          "variant": {
            "type": "string",
            "enum": [
              "safe_current_inventory",
              "complete_personal_archive"
            ]
          },
          "exportedAt": {
            "type": "string",
            "format": "date-time"
          },
          "count": {
            "type": "integer",
            "minimum": 0
          },
          "query": {
            "type": "object",
            "additionalProperties": true
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PersonalMemoryItem"
            }
          },
          "proposals": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MemoryProposal"
            }
          },
          "freshness": {
            "$ref": "#/components/schemas/MemoryProjectionFreshness"
          }
        }
      },
      "MemoryWorkPostureGetResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "ok",
          "posture",
          "persisted",
          "freshness"
        ],
        "properties": {
          "ok": {
            "type": "boolean",
            "const": true
          },
          "posture": {
            "$ref": "#/components/schemas/MemoryWorkPosture"
          },
          "persisted": {
            "type": "boolean"
          },
          "freshness": {
            "$ref": "#/components/schemas/MemoryProjectionFreshness"
          }
        }
      },
      "MemoryWorkPosturePutResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "ok",
          "posture",
          "created",
          "idempotentReplay"
        ],
        "properties": {
          "ok": {
            "type": "boolean",
            "const": true
          },
          "posture": {
            "$ref": "#/components/schemas/MemoryWorkPosture"
          },
          "created": {
            "type": "boolean"
          },
          "idempotentReplay": {
            "type": "boolean"
          }
        }
      },
      "MemoryAnswerImpactResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "ok",
          "answerRef",
          "receipt",
          "freshness"
        ],
        "properties": {
          "ok": {
            "type": "boolean",
            "const": true
          },
          "answerRef": {
            "type": "string"
          },
          "receipt": {
            "$ref": "#/components/schemas/MemoryAnswerImpactReceipt"
          },
          "freshness": {
            "$ref": "#/components/schemas/MemoryProjectionFreshness"
          }
        }
      },
      "ProjectMembership": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "schema",
          "membershipId",
          "organisationId",
          "projectId",
          "userId",
          "role",
          "lifecycle",
          "revision",
          "createdAt",
          "updatedAt"
        ],
        "properties": {
          "schema": {
            "type": "string",
            "const": "indwel.developer-control-plane.v1"
          },
          "membershipId": {
            "type": "string"
          },
          "organisationId": {
            "type": "string"
          },
          "projectId": {
            "type": "string"
          },
          "userId": {
            "type": "string"
          },
          "role": {
            "type": "string",
            "enum": [
              "owner",
              "admin",
              "developer",
              "viewer"
            ]
          },
          "lifecycle": {
            "type": "string",
            "enum": [
              "active",
              "suspended",
              "removed"
            ]
          },
          "revision": {
            "type": "integer",
            "minimum": 1
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "ProjectMembershipListResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "items"
            ],
            "properties": {
              "items": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ProjectMembership"
                }
              }
            }
          }
        }
      },
      "ProjectMembershipUpsertRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "role"
        ],
        "properties": {
          "role": {
            "type": "string",
            "enum": [
              "owner",
              "admin",
              "developer",
              "viewer"
            ]
          }
        }
      },
      "ClientIssuerBindingReceipt": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "client",
          "credentialId",
          "secret",
          "issuer",
          "providerClientReference",
          "boundAt"
        ],
        "properties": {
          "client": {
            "$ref": "#/components/schemas/Client"
          },
          "credentialId": {
            "type": [
              "string",
              "null"
            ]
          },
          "secret": {
            "type": [
              "string",
              "null"
            ],
            "readOnly": true,
            "description": "Returned only when the authorized issuer creates a confidential-client credential. Treat as write-only secret material after receipt."
          },
          "issuer": {
            "type": "string",
            "format": "uri",
            "readOnly": true,
            "description": "Authorized issuer selected by the backend adapter. The caller cannot supply or choose this value."
          },
          "providerClientReference": {
            "type": "string",
            "readOnly": true
          },
          "boundAt": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "ClientIssuerBindingResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "$ref": "#/components/schemas/ClientIssuerBindingReceipt"
          }
        }
      },
      "ScheduledWorkSchedule": {
        "oneOf": [
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "kind"
            ],
            "properties": {
              "kind": {
                "type": "string",
                "const": "manual"
              }
            }
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "kind",
              "executeAt",
              "timeZone"
            ],
            "properties": {
              "kind": {
                "type": "string",
                "const": "once"
              },
              "executeAt": {
                "type": "string",
                "format": "date-time"
              },
              "timeZone": {
                "type": "string"
              }
            }
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "kind",
              "rrule",
              "timeZone"
            ],
            "properties": {
              "kind": {
                "type": "string",
                "const": "recurring"
              },
              "rrule": {
                "type": "string"
              },
              "timeZone": {
                "type": "string"
              }
            }
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "kind",
              "conditionSummary",
              "evaluationCadence",
              "timeZone"
            ],
            "properties": {
              "kind": {
                "type": "string",
                "const": "condition"
              },
              "conditionSummary": {
                "type": "string"
              },
              "evaluationCadence": {
                "type": "string",
                "enum": [
                  "hourly",
                  "daily",
                  "weekly"
                ]
              },
              "timeZone": {
                "type": "string"
              }
            }
          }
        ]
      },
      "ScheduledWorkBudget": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "maxRunsPerWindow",
          "windowMinutes",
          "maxAcquisitionsPerRun",
          "maxWallClockMsPerRun",
          "maxCostUnitsPerRun"
        ],
        "properties": {
          "maxRunsPerWindow": {
            "type": "number",
            "minimum": 0
          },
          "windowMinutes": {
            "type": "number",
            "minimum": 0
          },
          "maxAcquisitionsPerRun": {
            "type": "number",
            "minimum": 0
          },
          "maxWallClockMsPerRun": {
            "type": "number",
            "minimum": 0
          },
          "maxCostUnitsPerRun": {
            "type": "number",
            "minimum": 0
          }
        }
      },
      "ScheduledWorkSourcePolicy": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "requiredAuthority",
          "sourceSelectionPolicy",
          "namedSourceIds",
          "permittedDomains",
          "openWebFallback"
        ],
        "properties": {
          "requiredAuthority": {
            "type": "string"
          },
          "sourceSelectionPolicy": {
            "type": "string"
          },
          "namedSourceIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "permittedDomains": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "openWebFallback": {
            "type": "string",
            "enum": [
              "deny",
              "allow_after_named_sources_exhausted"
            ]
          }
        }
      },
      "ScheduledWorkCharter": {
        "type": "object",
        "additionalProperties": true,
        "required": [
          "objective",
          "mission",
          "sourcePolicy",
          "stoppingRule",
          "ordinaryCognitionPolicy",
          "mutationPolicy"
        ],
        "properties": {
          "objective": {
            "type": "string"
          },
          "mission": {
            "type": "string"
          },
          "sourcePolicy": {
            "$ref": "#/components/schemas/ScheduledWorkSourcePolicy"
          },
          "taskProgram": {
            "type": "object",
            "description": "Pre-authorized cognitive program when present."
          },
          "stoppingRule": {
            "type": "string"
          },
          "ordinaryCognitionPolicy": {
            "type": "string",
            "enum": [
              "eligible_when_admitted_and_fresh",
              "never_eligible"
            ]
          },
          "mutationPolicy": {
            "type": "string",
            "const": "read_only"
          }
        }
      },
      "ScheduledWorkCharterProposal": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "schemaVersion",
          "proposalId",
          "principalId",
          "tenantId",
          "workspaceId",
          "request",
          "title",
          "kind",
          "charter",
          "schedule",
          "scheduleTimeZoneAssumed",
          "requiresUserReview",
          "reviewReasonCodes",
          "reasonCodes",
          "compiledAt",
          "digest"
        ],
        "properties": {
          "schemaVersion": {
            "type": "string",
            "description": "Canonical public identity is `indwel.scheduled_work_charter_proposal.v1`; underlying source migration is main-lane-owned."
          },
          "proposalId": {
            "type": "string"
          },
          "principalId": {
            "type": "string"
          },
          "tenantId": {
            "type": "string"
          },
          "workspaceId": {
            "type": "string"
          },
          "request": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "kind": {
            "type": "string",
            "enum": [
              "scheduled_observation",
              "condition_watch",
              "research_cycle",
              "manual_continuation"
            ]
          },
          "charter": {
            "$ref": "#/components/schemas/ScheduledWorkCharter"
          },
          "schedule": {
            "$ref": "#/components/schemas/ScheduledWorkSchedule"
          },
          "scheduleTimeZoneAssumed": {
            "type": "boolean"
          },
          "requiresUserReview": {
            "type": "boolean",
            "const": true
          },
          "reviewReasonCodes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "reasonCodes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "compiledAt": {
            "type": "string",
            "format": "date-time"
          },
          "digest": {
            "type": "string"
          }
        }
      },
      "ScheduledWorkReadModel": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "schemaVersion",
          "watchpointId",
          "title",
          "status",
          "ownership",
          "charter",
          "schedule",
          "capabilities",
          "reasonCodes"
        ],
        "properties": {
          "schemaVersion": {
            "type": "string",
            "description": "Canonical public identity is `indwel.scheduled_work_read_model.v1`; underlying source migration is main-lane-owned."
          },
          "watchpointId": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "draft",
              "testing",
              "active",
              "paused",
              "needs_attention",
              "awaiting_approval",
              "archived"
            ]
          },
          "ownership": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "workspaceId",
              "ownerPrincipalId",
              "visibility"
            ],
            "properties": {
              "workspaceId": {
                "type": "string"
              },
              "ownerPrincipalId": {
                "type": "string"
              },
              "visibility": {
                "type": "string",
                "enum": [
                  "private",
                  "workspace"
                ]
              }
            }
          },
          "charter": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "mission",
              "requiredAuthority",
              "ordinaryCognitionPolicy",
              "readOnly"
            ],
            "properties": {
              "mission": {
                "type": "string"
              },
              "requiredAuthority": {
                "type": "string"
              },
              "ordinaryCognitionPolicy": {
                "type": "string"
              },
              "readOnly": {
                "type": "boolean",
                "const": true
              }
            }
          },
          "schedule": {
            "$ref": "#/components/schemas/ScheduledWorkSchedule"
          },
          "lastRun": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "runId",
              "outcome",
              "settledAt"
            ],
            "properties": {
              "runId": {
                "type": "string"
              },
              "outcome": {
                "type": "string"
              },
              "settledAt": {
                "type": "string",
                "format": "date-time"
              }
            }
          },
          "latestObservation": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "observationId",
              "sourceId",
              "freshness",
              "admitted",
              "eligibleForOrdinaryCognition"
            ],
            "properties": {
              "observationId": {
                "type": "string"
              },
              "sourceId": {
                "type": "string"
              },
              "freshness": {
                "type": "string"
              },
              "admitted": {
                "type": "boolean"
              },
              "eligibleForOrdinaryCognition": {
                "type": "boolean"
              }
            }
          },
          "nextScheduledAt": {
            "type": "string",
            "format": "date-time"
          },
          "capabilities": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "canView",
              "canEdit",
              "canRunTest",
              "canPause",
              "canResume",
              "canArchive"
            ],
            "properties": {
              "canView": {
                "type": "boolean"
              },
              "canEdit": {
                "type": "boolean"
              },
              "canRunTest": {
                "type": "boolean"
              },
              "canPause": {
                "type": "boolean"
              },
              "canResume": {
                "type": "boolean"
              },
              "canArchive": {
                "type": "boolean"
              }
            }
          },
          "reasonCodes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "ScheduledWorkListProjection": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "schemaVersion",
          "items",
          "reasonCodes",
          "digest"
        ],
        "properties": {
          "schemaVersion": {
            "type": "string",
            "description": "Canonical public identity is `indwel.scheduled_work_list_projection.v1`; underlying source migration is main-lane-owned."
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ScheduledWorkReadModel"
            }
          },
          "reasonCodes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "digest": {
            "type": "string"
          }
        }
      },
      "ScheduledWorkRunSummary": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "runId",
          "invocation",
          "outcome",
          "startedAt",
          "settledAt",
          "sourceObservationCount",
          "artifactCount",
          "reportCount",
          "reasonCodes"
        ],
        "properties": {
          "runId": {
            "type": "string"
          },
          "invocation": {
            "type": "string",
            "enum": [
              "manual_test",
              "manual_run",
              "scheduled",
              "condition_evaluation"
            ]
          },
          "outcome": {
            "type": "string",
            "enum": [
              "completed",
              "no_material_change",
              "authority_unmet",
              "source_unavailable",
              "stale",
              "budget_exhausted",
              "failed",
              "cancelled"
            ]
          },
          "startedAt": {
            "type": "string",
            "format": "date-time"
          },
          "settledAt": {
            "type": "string",
            "format": "date-time"
          },
          "sourceObservationCount": {
            "type": "integer",
            "minimum": 0
          },
          "artifactCount": {
            "type": "integer",
            "minimum": 0
          },
          "reportCount": {
            "type": "integer",
            "minimum": 0
          },
          "reasonCodes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "ScheduledWorkReportSummary": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "reportId",
          "artifactId",
          "runId",
          "title",
          "abstract",
          "createdAt",
          "observedAsOf",
          "sourceObservationCount",
          "retentionClass",
          "contentDigest",
          "reasonCodes"
        ],
        "properties": {
          "reportId": {
            "type": "string"
          },
          "artifactId": {
            "type": "string"
          },
          "runId": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "abstract": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "observedAsOf": {
            "type": "string",
            "format": "date-time"
          },
          "sourceObservationCount": {
            "type": "integer",
            "minimum": 0
          },
          "retentionClass": {
            "type": "string",
            "enum": [
              "standard",
              "preserve_evidence",
              "ephemeral"
            ]
          },
          "contentDigest": {
            "type": "string"
          },
          "reasonCodes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "ScheduledWorkObservation": {
        "type": "object",
        "additionalProperties": true,
        "required": [
          "observationId",
          "runId",
          "sourceId",
          "sourceLocator",
          "contentDigest",
          "observedAt",
          "reasonCodes"
        ],
        "properties": {
          "observationId": {
            "type": "string"
          },
          "runId": {
            "type": "string"
          },
          "sourceId": {
            "type": "string"
          },
          "sourceLocator": {
            "type": "string"
          },
          "contentDigest": {
            "type": "string"
          },
          "observedAt": {
            "type": "string",
            "format": "date-time"
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time"
          },
          "authority": {
            "type": "string"
          },
          "admission": {
            "type": "string"
          },
          "freshness": {
            "type": "string"
          },
          "reasonCodes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "ScheduledWorkDetailProjection": {
        "type": "object",
        "additionalProperties": true,
        "required": [
          "schemaVersion",
          "watchpoint",
          "readModel",
          "lifecycleControls",
          "runHistory",
          "observationJournal",
          "reports",
          "reasonCodes",
          "digest"
        ],
        "properties": {
          "schemaVersion": {
            "type": "string",
            "description": "Canonical public identity is `indwel.scheduled_work_detail_projection.v1`; underlying source migration is main-lane-owned."
          },
          "watchpoint": {
            "type": "object",
            "additionalProperties": true,
            "required": [
              "watchpointId",
              "title",
              "kind",
              "status",
              "charterVersion",
              "charter",
              "schedule",
              "budget",
              "notificationPolicy",
              "retentionPolicy",
              "createdAt",
              "updatedAt",
              "reasonCodes"
            ],
            "properties": {
              "watchpointId": {
                "type": "string"
              },
              "title": {
                "type": "string"
              },
              "kind": {
                "type": "string"
              },
              "status": {
                "type": "string"
              },
              "charterVersion": {
                "type": "integer",
                "minimum": 1
              },
              "charter": {
                "$ref": "#/components/schemas/ScheduledWorkCharter"
              },
              "schedule": {
                "$ref": "#/components/schemas/ScheduledWorkSchedule"
              },
              "budget": {
                "$ref": "#/components/schemas/ScheduledWorkBudget"
              },
              "notificationPolicy": {
                "type": "object",
                "additionalProperties": true
              },
              "retentionPolicy": {
                "type": "object",
                "additionalProperties": true
              },
              "createdAt": {
                "type": "string",
                "format": "date-time"
              },
              "updatedAt": {
                "type": "string",
                "format": "date-time"
              },
              "reasonCodes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          },
          "readModel": {
            "$ref": "#/components/schemas/ScheduledWorkReadModel"
          },
          "lifecycleControls": {
            "type": "object",
            "additionalProperties": true
          },
          "runHistory": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ScheduledWorkRunSummary"
            }
          },
          "observationJournal": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ScheduledWorkObservation"
            }
          },
          "artifactIndex": {
            "type": "object",
            "additionalProperties": true
          },
          "reports": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ScheduledWorkReportSummary"
            }
          },
          "chronicle": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true
            }
          },
          "ordinaryCognitionContribution": {
            "type": "object",
            "additionalProperties": true
          },
          "reasonCodes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "digest": {
            "type": "string"
          }
        }
      },
      "ScheduledWorkProposalProjection": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "schemaVersion",
          "proposal",
          "reasonCodes",
          "digest"
        ],
        "properties": {
          "schemaVersion": {
            "type": "string",
            "description": "Canonical public identity is `indwel.scheduled_work_charter_proposal_projection.v1`; underlying source migration is main-lane-owned."
          },
          "proposal": {
            "$ref": "#/components/schemas/ScheduledWorkCharterProposal"
          },
          "reasonCodes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "digest": {
            "type": "string"
          }
        }
      },
      "ScheduledWorkArchiveResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "ok",
          "watchpointId",
          "status",
          "charterVersion"
        ],
        "properties": {
          "ok": {
            "type": "boolean",
            "const": true
          },
          "watchpointId": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "const": "archived"
          },
          "charterVersion": {
            "type": "integer",
            "minimum": 1
          }
        }
      },
      "ScheduledWorkTestResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "ok",
          "watchpointId",
          "runId",
          "outcome",
          "reportIds",
          "charterVersion",
          "activationEligible"
        ],
        "properties": {
          "ok": {
            "type": "boolean",
            "const": true
          },
          "watchpointId": {
            "type": "string"
          },
          "runId": {
            "type": "string"
          },
          "outcome": {
            "type": "string"
          },
          "reportIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "charterVersion": {
            "type": "integer",
            "minimum": 1
          },
          "activationEligible": {
            "type": "boolean"
          }
        }
      },
      "ScheduledWorkReportListResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "watchpointId",
          "reports"
        ],
        "properties": {
          "watchpointId": {
            "type": "string"
          },
          "reports": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ScheduledWorkReportSummary"
            }
          }
        }
      },
      "ScheduledWorkReportCitation": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "sourceId",
          "sourceLocator",
          "observedAt",
          "contentDigest"
        ],
        "properties": {
          "sourceId": {
            "type": "string"
          },
          "sourceLocator": {
            "type": "string"
          },
          "observedAt": {
            "type": "string",
            "format": "date-time"
          },
          "contentDigest": {
            "type": "string"
          }
        }
      },
      "ScheduledWorkReport": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "schemaVersion",
          "reportId",
          "artifactId",
          "watchpointId",
          "runId",
          "title",
          "bodyMarkdown",
          "abstract",
          "createdAt",
          "observedAsOf",
          "sourceObservationIds",
          "citationItems",
          "evidentiaryPosture",
          "retentionClass",
          "contentDigest",
          "reasonCodes",
          "digest"
        ],
        "properties": {
          "schemaVersion": {
            "type": "string"
          },
          "reportId": {
            "type": "string"
          },
          "artifactId": {
            "type": "string"
          },
          "watchpointId": {
            "type": "string"
          },
          "runId": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "bodyMarkdown": {
            "type": "string"
          },
          "abstract": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "observedAsOf": {
            "type": "string",
            "format": "date-time"
          },
          "sourceObservationIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "citationItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ScheduledWorkReportCitation"
            }
          },
          "evidentiaryPosture": {
            "type": "string",
            "const": "advisory_synthesis"
          },
          "retentionClass": {
            "type": "string",
            "enum": [
              "standard",
              "preserve_evidence",
              "ephemeral"
            ]
          },
          "contentDigest": {
            "type": "string"
          },
          "reasonCodes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "digest": {
            "type": "string"
          }
        }
      },
      "ScheduledWorkReportProjection": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "schemaVersion",
          "report",
          "reasonCodes",
          "digest"
        ],
        "properties": {
          "schemaVersion": {
            "type": "string"
          },
          "report": {
            "$ref": "#/components/schemas/ScheduledWorkReport"
          },
          "reasonCodes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "digest": {
            "type": "string"
          }
        }
      },
      "SessionSummary": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "sessionId",
          "createdAt",
          "updatedAt"
        ],
        "properties": {
          "sessionId": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          },
          "pinned": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "workspaceId": {
            "type": "string"
          },
          "missionId": {
            "type": "string"
          },
          "workPosture": {
            "type": "string",
            "enum": [
              "conversation",
              "work"
            ]
          },
          "parentSessionId": {
            "type": "string",
            "format": "uuid"
          },
          "successorSessionIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            }
          },
          "continuityStatus": {
            "type": "string",
            "enum": [
              "none",
              "prepared",
              "continued",
              "imported"
            ]
          }
        },
        "description": "Customer-safe Session metadata. Raw Memory profile, Cognitive Act/Epoch, packet-storage, and Objective authority fields are not public Session schema."
      },
      "SessionDirectoryResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "ok",
          "sessions"
        ],
        "properties": {
          "ok": {
            "type": "boolean",
            "const": true
          },
          "sessions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SessionSummary"
            }
          }
        }
      },
      "SessionRenameRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1
          }
        }
      },
      "SessionPinRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "action",
          "pinned"
        ],
        "properties": {
          "action": {
            "type": "string",
            "const": "pin"
          },
          "pinned": {
            "type": "boolean"
          }
        }
      },
      "SessionMutationRequest": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/SessionRenameRequest"
          },
          {
            "$ref": "#/components/schemas/SessionPinRequest"
          }
        ],
        "description": "Canonical public Session mutations are rename and pin/unpin. Source-retained `promote` and `relate` action variants are compatibility transitions pending canonical Work representation and are not first-class SDK request variants."
      },
      "SessionMutationResponse": {
        "type": "object",
        "additionalProperties": true,
        "required": [
          "ok",
          "sessionId",
          "updatedAt"
        ],
        "properties": {
          "ok": {
            "type": "boolean",
            "const": true
          },
          "sessionId": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          },
          "pinned": {
            "type": "boolean"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "SessionDeleteResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "ok",
          "sessionId"
        ],
        "properties": {
          "ok": {
            "type": "boolean",
            "const": true
          },
          "sessionId": {
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "ContinuityProjection": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "packetId",
          "state",
          "parentSessionId",
          "reasonCodes"
        ],
        "properties": {
          "packetId": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "parentSessionId": {
            "type": "string",
            "format": "uuid"
          },
          "successorSessionId": {
            "type": "string",
            "format": "uuid"
          },
          "objective": {
            "type": "object",
            "additionalProperties": true,
            "description": "Customer-safe Objective and revision projection."
          },
          "frontier": {
            "type": "object",
            "additionalProperties": true
          },
          "decisions": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true
            }
          },
          "constraints": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true
            }
          },
          "openLoops": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true
            }
          },
          "commitments": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true
            }
          },
          "evidencePosture": {
            "type": "object",
            "additionalProperties": true
          },
          "validationPosture": {
            "type": "object",
            "additionalProperties": true
          },
          "activeSourceRefs": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "revalidationQueue": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true
            }
          },
          "receiptStatus": {
            "type": "string"
          },
          "reasonCodes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "description": "Customer-safe projection from server-settled Continuity authority. Raw prompt projections, constitutional patches, graph-node identities, Cognitive Act/Epoch structures, and settlement chronicles are excluded from the public schema."
      },
      "ContinuityReadRequest": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "packetId": {
            "type": "string",
            "description": "Optional identity check against the server-settled packet. Supplying a packet never establishes Continuity authority."
          }
        }
      },
      "ContinuityResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "ok",
          "sessionId",
          "continuity"
        ],
        "properties": {
          "ok": {
            "type": "boolean",
            "const": true
          },
          "sessionId": {
            "type": "string",
            "format": "uuid"
          },
          "continuity": {
            "$ref": "#/components/schemas/ContinuityProjection"
          }
        }
      },
      "ContinueSessionRequest": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "packetId": {
            "type": "string",
            "description": "Optional identity check only; Continuity state remains server-settled."
          },
          "name": {
            "type": "string",
            "description": "Optional display name for a newly created successor Session."
          }
        }
      },
      "ContinueSessionResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "ok",
          "parentSessionId",
          "successorSessionId",
          "continuity"
        ],
        "properties": {
          "ok": {
            "type": "boolean",
            "const": true
          },
          "parentSessionId": {
            "type": "string",
            "format": "uuid"
          },
          "successorSessionId": {
            "type": "string",
            "format": "uuid"
          },
          "continuity": {
            "$ref": "#/components/schemas/ContinuityProjection"
          }
        }
      },
      "StartSessionCompatibilityRequest": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "name": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "workPosture": {
            "type": "string",
            "enum": [
              "conversation",
              "work",
              "auto"
            ]
          },
          "tenantId": {
            "type": "string",
            "description": "Scope proposal only. Backend principal authority remains decisive."
          },
          "workspaceId": {
            "type": "string",
            "description": "Scope proposal only."
          },
          "missionId": {
            "type": "string",
            "description": "Scope proposal only."
          }
        }
      },
      "StartSessionCompatibilityResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "ok",
          "sessionId",
          "name",
          "workPosture"
        ],
        "properties": {
          "ok": {
            "type": "boolean",
            "const": true
          },
          "sessionId": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          },
          "workPosture": {
            "type": "string",
            "enum": [
              "conversation",
              "work"
            ]
          },
          "workspaceId": {
            "type": "string"
          },
          "missionId": {
            "type": "string"
          }
        }
      },
      "ConversationChatRequest": {
        "type": "object",
        "additionalProperties": true,
        "required": [
          "sessionId",
          "prompt"
        ],
        "properties": {
          "sessionId": {
            "type": "string",
            "format": "uuid"
          },
          "prompt": {
            "type": "string",
            "minLength": 1
          },
          "attachmentIds": {
            "type": "array",
            "maxItems": 8,
            "items": {
              "type": "string"
            }
          },
          "idempotencyKey": {
            "type": "string",
            "description": "Compatibility body form; the `Idempotency-Key` header is also accepted by the current transport."
          }
        }
      },
      "ConversationMessage": {
        "type": "object",
        "additionalProperties": true,
        "required": [
          "role",
          "content"
        ],
        "properties": {
          "role": {
            "type": "string",
            "enum": [
              "user",
              "assistant",
              "system"
            ]
          },
          "content": {
            "type": "string"
          },
          "meta": {
            "type": "object",
            "additionalProperties": true
          }
        }
      },
      "ConversationChatResponse": {
        "type": "object",
        "additionalProperties": true,
        "required": [
          "ok",
          "sessionId",
          "messages"
        ],
        "properties": {
          "ok": {
            "type": "boolean",
            "const": true
          },
          "sessionId": {
            "type": "string",
            "format": "uuid"
          },
          "messages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConversationMessage"
            }
          },
          "meta": {
            "type": "object",
            "additionalProperties": true,
            "description": "Compatibility transport metadata. Canonical Run/receipt truth is documented under the Run API."
          }
        }
      },
      "SessionHistoryResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "ok",
          "contractVersion",
          "sourceOfTruth",
          "sessionId",
          "messages",
          "quarantinedAssistantCount"
        ],
        "properties": {
          "ok": {
            "type": "boolean",
            "const": true
          },
          "contractVersion": {
            "type": "string",
            "const": "indwel.cognitive_session_history_projection.v2"
          },
          "sourceOfTruth": {
            "type": "string",
            "const": "terminal_settlement_outbox_v2"
          },
          "sessionId": {
            "type": "string",
            "format": "uuid"
          },
          "messages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConversationMessage"
            }
          },
          "quarantinedAssistantCount": {
            "type": "integer",
            "minimum": 0
          }
        }
      },
      "CaseRunProjection": {
        "type": "object",
        "required": [
          "runId",
          "contractHash",
          "lifecycleState",
          "status",
          "renderManifest",
          "createdAt"
        ],
        "properties": {
          "runId": {
            "type": "string"
          },
          "contractHash": {
            "type": "string"
          },
          "lifecycleState": {
            "type": "string",
            "enum": [
              "settled_success",
              "settled_failure",
              "settled_timeout",
              "settled_cancelled"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "complete",
              "failed",
              "timed_out",
              "cancelled"
            ]
          },
          "answer": {
            "type": "string"
          },
          "renderManifest": {
            "type": "object",
            "required": [
              "renderManifestId",
              "renderManifestDigest",
              "evidenceBindingCount",
              "suppressedEvidenceCount"
            ],
            "properties": {
              "renderManifestId": {
                "type": "string"
              },
              "renderManifestDigest": {
                "type": "string"
              },
              "evidenceBindingCount": {
                "type": "integer",
                "minimum": 0
              },
              "suppressedEvidenceCount": {
                "type": "integer",
                "minimum": 0
              }
            }
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "CaseRunResponse": {
        "type": "object",
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "type": "object",
            "required": [
              "caseId",
              "planId",
              "sourceOfTruth",
              "projection"
            ],
            "properties": {
              "caseId": {
                "type": "string"
              },
              "planId": {
                "type": "string"
              },
              "sourceOfTruth": {
                "type": "string",
                "description": "Backend-owned terminal projection source identifier. Canonical public value is supplied by the main-lane machine-contract migration."
              },
              "projection": {
                "$ref": "#/components/schemas/CaseRunProjection"
              }
            }
          }
        }
      }
    },
    "responses": {
      "Problem400": {
        "description": "Bad request",
        "headers": {
          "X-Indwel-Trace-Id": {
            "description": "Request correlation identifier.",
            "schema": {
              "type": "string"
            }
          }
        },
        "content": {
          "application/problem+json": {
            "schema": {
              "$ref": "#/components/schemas/ProblemDetails"
            },
            "example": {
              "type": "https://api.indwel.ai/problems/bad-request",
              "title": "Bad request",
              "status": 400,
              "detail": "Bad request",
              "instance": "/v1/example",
              "code": "BAD_REQUEST",
              "traceId": "trace_01J0EXAMPLE",
              "retryable": false
            }
          }
        }
      },
      "Problem401": {
        "description": "Unauthorised",
        "headers": {
          "X-Indwel-Trace-Id": {
            "description": "Request correlation identifier.",
            "schema": {
              "type": "string"
            }
          }
        },
        "content": {
          "application/problem+json": {
            "schema": {
              "$ref": "#/components/schemas/ProblemDetails"
            },
            "example": {
              "type": "https://api.indwel.ai/problems/unauthorised",
              "title": "Unauthorised",
              "status": 401,
              "detail": "Unauthorised",
              "instance": "/v1/example",
              "code": "UNAUTHORISED",
              "traceId": "trace_01J0EXAMPLE",
              "retryable": false
            }
          }
        }
      },
      "Problem403": {
        "description": "Forbidden",
        "headers": {
          "X-Indwel-Trace-Id": {
            "description": "Request correlation identifier.",
            "schema": {
              "type": "string"
            }
          }
        },
        "content": {
          "application/problem+json": {
            "schema": {
              "$ref": "#/components/schemas/ProblemDetails"
            },
            "example": {
              "type": "https://api.indwel.ai/problems/forbidden",
              "title": "Forbidden",
              "status": 403,
              "detail": "Forbidden",
              "instance": "/v1/example",
              "code": "FORBIDDEN",
              "traceId": "trace_01J0EXAMPLE",
              "retryable": false
            }
          }
        }
      },
      "Problem404": {
        "description": "Not found",
        "headers": {
          "X-Indwel-Trace-Id": {
            "description": "Request correlation identifier.",
            "schema": {
              "type": "string"
            }
          }
        },
        "content": {
          "application/problem+json": {
            "schema": {
              "$ref": "#/components/schemas/ProblemDetails"
            },
            "example": {
              "type": "https://api.indwel.ai/problems/not-found",
              "title": "Not found",
              "status": 404,
              "detail": "Not found",
              "instance": "/v1/example",
              "code": "NOT_FOUND",
              "traceId": "trace_01J0EXAMPLE",
              "retryable": false
            }
          }
        }
      },
      "Problem409": {
        "description": "Conflict",
        "headers": {
          "X-Indwel-Trace-Id": {
            "description": "Request correlation identifier.",
            "schema": {
              "type": "string"
            }
          }
        },
        "content": {
          "application/problem+json": {
            "schema": {
              "$ref": "#/components/schemas/ProblemDetails"
            },
            "example": {
              "type": "https://api.indwel.ai/problems/conflict",
              "title": "Conflict",
              "status": 409,
              "detail": "Conflict",
              "instance": "/v1/example",
              "code": "CONFLICT",
              "traceId": "trace_01J0EXAMPLE",
              "retryable": false
            }
          }
        }
      },
      "Problem428": {
        "description": "Precondition required",
        "headers": {
          "X-Indwel-Trace-Id": {
            "description": "Request correlation identifier.",
            "schema": {
              "type": "string"
            }
          }
        },
        "content": {
          "application/problem+json": {
            "schema": {
              "$ref": "#/components/schemas/ProblemDetails"
            },
            "example": {
              "type": "https://api.indwel.ai/problems/precondition-required",
              "title": "Precondition required",
              "status": 428,
              "detail": "Precondition required",
              "instance": "/v1/example",
              "code": "PRECONDITION_REQUIRED",
              "traceId": "trace_01J0EXAMPLE",
              "retryable": false
            }
          }
        }
      },
      "Problem429": {
        "description": "Too many requests",
        "headers": {
          "X-Indwel-Trace-Id": {
            "description": "Request correlation identifier.",
            "schema": {
              "type": "string"
            }
          }
        },
        "content": {
          "application/problem+json": {
            "schema": {
              "$ref": "#/components/schemas/ProblemDetails"
            },
            "example": {
              "type": "https://api.indwel.ai/problems/rate-limited",
              "title": "Too many requests",
              "status": 429,
              "detail": "Too many requests",
              "instance": "/v1/example",
              "code": "RATE_LIMITED",
              "traceId": "trace_01J0EXAMPLE",
              "retryable": true
            }
          }
        }
      },
      "DefaultProblem": {
        "description": "Problem response",
        "content": {
          "application/problem+json": {
            "schema": {
              "$ref": "#/components/schemas/ProblemDetails"
            },
            "example": {
              "type": "https://api.indwel.ai/problems/request-failed",
              "title": "Request failed",
              "status": 500,
              "detail": "Request failed",
              "instance": "/v1/example",
              "code": "REQUEST_FAILED",
              "traceId": "trace_01J0EXAMPLE",
              "retryable": false
            }
          }
        }
      }
    },
    "parameters": {
      "AppTemplateId": {
        "name": "appTemplateId",
        "in": "path",
        "required": true,
        "description": "Stable governed-app template identifier.",
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "example": "contract-review"
      },
      "WorkflowId": {
        "name": "workflowId",
        "in": "path",
        "required": true,
        "description": "Stable workflow identifier within an app template.",
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "example": "review"
      },
      "IfMatch": {
        "name": "If-Match",
        "in": "header",
        "required": true,
        "description": "Current resource revision used for optimistic concurrency.",
        "schema": {
          "type": "string"
        },
        "example": "\"rev_0001\""
      },
      "Limit": {
        "name": "limit",
        "in": "query",
        "required": false,
        "schema": {
          "type": "integer",
          "minimum": 1,
          "maximum": 100,
          "default": 25
        }
      },
      "Cursor": {
        "name": "cursor",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "OrganisationId": {
        "name": "organisationId",
        "in": "path",
        "required": true,
        "description": "Organization identifier.",
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "example": "organ_01J0EXAMPLE"
      },
      "WorkspaceId": {
        "name": "workspaceId",
        "in": "path",
        "required": true,
        "description": "Workspace identifier.",
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "example": "works_01J0EXAMPLE"
      },
      "ProjectId": {
        "name": "projectId",
        "in": "path",
        "required": true,
        "description": "Developer project identifier.",
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "example": "proje_01J0EXAMPLE"
      },
      "EnvironmentId": {
        "name": "environmentId",
        "in": "path",
        "required": true,
        "description": "Project environment identifier.",
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "example": "envir_01J0EXAMPLE"
      },
      "AppId": {
        "name": "appId",
        "in": "path",
        "required": true,
        "description": "Project-owned governed app identifier.",
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "example": "app_01J0EXAMPLE"
      },
      "AppVersionId": {
        "name": "appVersionId",
        "in": "path",
        "required": true,
        "description": "Immutable app-version identifier.",
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "example": "appve_01J0EXAMPLE"
      },
      "CollectionId": {
        "name": "collectionId",
        "in": "path",
        "required": true,
        "description": "Evidence collection identifier.",
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "example": "colle_01J0EXAMPLE"
      },
      "SourceId": {
        "name": "sourceId",
        "in": "path",
        "required": true,
        "description": "Custody-bearing source identifier.",
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "example": "sourc_01J0EXAMPLE"
      },
      "IngestionId": {
        "name": "ingestionId",
        "in": "path",
        "required": true,
        "description": "Durable ingestion-attempt identifier.",
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "example": "inges_01J0EXAMPLE"
      },
      "IdempotencyKey": {
        "name": "Idempotency-Key",
        "in": "header",
        "required": true,
        "description": "Client-generated key binding a retryable mutation to one canonical request fingerprint. Semantics remain versioned while the IETF field is a draft.",
        "schema": {
          "type": "string",
          "minLength": 8,
          "maxLength": 255
        },
        "example": "company-answers-project-v1"
      },
      "ServiceId": {
        "name": "serviceId",
        "in": "path",
        "required": true,
        "description": "Service identifier.",
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "example": "platform"
      },
      "EventDestinationId": {
        "name": "eventDestinationId",
        "in": "path",
        "required": true,
        "description": "Event destination identifier.",
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "example": "event_01J0EXAMPLE"
      },
      "DeliveryId": {
        "name": "deliveryId",
        "in": "path",
        "required": true,
        "description": "Delivery attempt identifier.",
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "example": "deliv_01J0EXAMPLE"
      },
      "OperationId": {
        "name": "operationId",
        "in": "path",
        "required": true,
        "description": "Long-running operation identifier.",
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "example": "opera_01J0EXAMPLE"
      },
      "DeploymentId": {
        "name": "deploymentId",
        "in": "path",
        "required": true,
        "description": "Deployment identifier.",
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "example": "deplo_01J0EXAMPLE"
      },
      "ClientId": {
        "name": "clientId",
        "in": "path",
        "required": true,
        "description": "Developer client identifier.",
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "example": "clien_01J0EXAMPLE"
      },
      "CredentialId": {
        "name": "credentialId",
        "in": "path",
        "required": true,
        "description": "Credential metadata identifier.",
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "example": "crede_01J0EXAMPLE"
      },
      "MemoryIdempotencyKey": {
        "name": "Idempotency-Key",
        "in": "header",
        "required": true,
        "description": "Required for Memory mutations so retries cannot create or apply a distinct mutation.",
        "schema": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        }
      }
    },
    "securitySchemes": {
      "IndwelOAuth": {
        "type": "oauth2",
        "description": "OAuth 2.0 authority for the Indwel API. Authorization Code clients use PKCE; service clients use bounded client credentials. Individual operations state any required scope.",
        "flows": {
          "authorizationCode": {
            "authorizationUrl": "https://identity.indwel.ai/oauth2/authorize",
            "tokenUrl": "https://identity.indwel.ai/oauth2/token",
            "scopes": {
              "platform.read": "Read platform metadata and releases.",
              "catalog.read": "Read catalogs and capabilities.",
              "account.read": "Read the current account.",
              "account.write": "Update the current account.",
              "organisations.read": "List organizations accessible to the principal.",
              "workspaces.read": "List workspaces accessible within an organization.",
              "projects.write": "Create and administer developer projects.",
              "environments.write": "Create and administer project environments.",
              "clients.write": "Create and rotate bounded developer clients.",
              "apps.write": "Create apps and manage immutable app versions.",
              "deployments.write": "Deploy published app versions into environments.",
              "installations.write": "Install deployed apps into workspaces.",
              "collections.write": "Create collections, sources and ingestion jobs.",
              "collections.read": "Read collection and ingestion state.",
              "cases.read": "Read governed Case state and receipt-backed Attention projections.",
              "cases.write": "Create and administer governed business cases.",
              "case-transitions.write": "Attempt a Cognitive Contract-governed Case business transition; this scope never constitutes organizational approval.",
              "case-participation.write": "Record a Cognitive Contract-bound human participation decision; this scope does not appoint authority class or participant identity.",
              "events.read": "Read event destinations and delivery history.",
              "events.write": "Create event destinations, test delivery, replay and rotate signing secrets.",
              "operations.read": "Read long-running control-plane operations.",
              "operations.write": "Request cancellation of permitted long-running operations.",
              "usage.read": "Read effective quotas and metered usage records.",
              "activity.read": "Read customer-safe project activity.",
              "runs.write": "Plan and execute governed Case-bound Runs through an installed app.",
              "runs.read": "Read authorized Case-bound Run projections and terminal evidence.",
              "work.read": "Read authorized durable Work and backend-owned Work projections.",
              "work.write": "Create or change authorized durable Work through governed Work transitions.",
              "memory.read": "Read the authenticated user's personal Memory V2 and Memory-derived projections.",
              "memory.write": "Create or change the authenticated user's personal Memory V2 under governed lifecycle authority.",
              "scheduled-work.read": "Read authorized Scheduled Work and its reports.",
              "scheduled-work.write": "Propose, create, test, or change authorized Scheduled Work.",
              "parallel-cognition.read": "Read Work-bound Parallel Cognition program projections.",
              "parallel-cognition.write": "Request governed program-level Parallel Cognition cancellation.",
              "project-memberships.read": "Read project membership and role assignments.",
              "project-memberships.write": "Create or update project membership and role assignments.",
              "clients.issuer.write": "Bind a developer client to Indwel’s authorized OAuth issuer.",
              "sessions.read": "Read Sessions, their customer-safe metadata, and authorized transcript/session projections.",
              "sessions.write": "Create, update, or delete principal-bound Sessions.",
              "continuity.read": "Read a server-settled Continuity projection for an authorized Session.",
              "continuity.write": "Continue an authorized Session through a server-governed continuity transition.",
              "conversation-cognition.write": "Execute governed interactive cognition in an authorized Session."
            }
          },
          "clientCredentials": {
            "tokenUrl": "https://identity.indwel.ai/oauth2/token",
            "scopes": {
              "platform.read": "Read platform metadata and releases.",
              "catalog.read": "Read catalogs and capabilities.",
              "organisations.read": "List organizations accessible to the principal.",
              "workspaces.read": "List workspaces accessible within an organization.",
              "projects.write": "Create and administer developer projects.",
              "environments.write": "Create and administer project environments.",
              "clients.write": "Create and rotate bounded developer clients.",
              "apps.write": "Create apps and manage immutable app versions.",
              "deployments.write": "Deploy published app versions into environments.",
              "installations.write": "Install deployed apps into workspaces.",
              "collections.write": "Create collections, sources and ingestion jobs.",
              "collections.read": "Read collection and ingestion state.",
              "cases.read": "Read governed Case state and receipt-backed Attention projections.",
              "cases.write": "Create and administer governed business cases.",
              "case-transitions.write": "Attempt a Cognitive Contract-governed Case business transition; this scope never constitutes organizational approval.",
              "case-participation.write": "Record a Cognitive Contract-bound human participation decision; this scope does not appoint authority class or participant identity.",
              "events.read": "Read event destinations and delivery history.",
              "events.write": "Create event destinations, test delivery, replay and rotate signing secrets.",
              "operations.read": "Read long-running control-plane operations.",
              "operations.write": "Request cancellation of permitted long-running operations.",
              "usage.read": "Read effective quotas and metered usage records.",
              "activity.read": "Read customer-safe project activity.",
              "projects.read": "Read developer projects and their lifecycle metadata.",
              "environments.read": "Read project environments and effect boundaries.",
              "clients.read": "Read developer clients without credential material.",
              "credentials.read": "Read credential metadata without secret hashes or plaintext.",
              "credentials.write": "Rotate and revoke bounded client credentials.",
              "runs.write": "Plan and execute governed Case-bound Runs through an installed app.",
              "runs.read": "Read authorized Case-bound Run projections and terminal evidence.",
              "work.read": "Read authorized durable Work and backend-owned Work projections.",
              "work.write": "Create or change authorized durable Work through governed Work transitions.",
              "scheduled-work.read": "Read authorized Scheduled Work and its reports.",
              "scheduled-work.write": "Propose, create, test, or change authorized Scheduled Work.",
              "parallel-cognition.read": "Read Work-bound Parallel Cognition program projections.",
              "parallel-cognition.write": "Request governed program-level Parallel Cognition cancellation."
            }
          }
        }
      }
    }
  },
  "x-indwel-contract-class": "design-candidate",
  "x-indwel-runtime-inventory-authority": "packages/indwel-api-developer-platform-constitution/evidence/route-product-map.v1.json",
  "x-indwel-contract-admission-authority": "packages/indwel-api-developer-platform-constitution/registers/contract-admission-register.v1.json",
  "x-indwel-release-claims-allowed": false,
  "x-indwel-edition": "customer",
  "x-tagGroups": [
    {
      "name": "API Essentials",
      "tags": [
        "Platform",
        "Account"
      ]
    },
    {
      "name": "Developer Control Plane",
      "tags": [
        "Organizations",
        "Projects",
        "Environments",
        "Clients",
        "Credentials"
      ]
    },
    {
      "name": "Apps & Business App Engine",
      "tags": [
        "App Templates",
        "Apps",
        "Collections",
        "Cases",
        "Runs"
      ]
    },
    {
      "name": "Work & Cognition",
      "tags": [
        "Work",
        "Conversation & Sessions",
        "Memory",
        "Scheduled Work",
        "Parallel Cognition"
      ]
    },
    {
      "name": "Operations & Integration",
      "tags": [
        "Operations",
        "Events",
        "Activity",
        "Usage",
        "Commercial"
      ]
    },
    {
      "name": "Compatibility",
      "tags": [
        "Compatibility"
      ]
    }
  ],
  "x-indwel-reference": {
    "kind": "launch-reference-projection-r12",
    "logicalApiOrigin": "https://api.indwel.ai",
    "physicalRouteOwnershipHidden": true,
    "compatibilitySurfacesClassifiedSeparately": true,
    "underlyingApisModified": false,
    "defaultDocumentationLocale": "en-US",
    "wireVocabularyLocaleInvariant": true
  }
}
