{
"error": "status must be one of PENDING_APPROVAL, APPROVED, REJECTED."
}
{
"error": "authentication required"
}
{
"error": "This action requires a caller credential provisioned as a verified human (credentialHolderType: USER).",
"code": "NON_HUMAN_CALLER_DENIED"
}
A human key (credentialHolderType: USER) issued by the operator. Sent as Authorization: Bearer . The public sandbox and its demo key are refused on these routes, so no key is prefilled here.
PENDING_APPROVAL, APPROVED or REJECTED. Omit for all.
Available options:
PENDING_APPROVAL,
APPROVED,
REJECTED
Response
The changes with their diffs.
Response returned by GET /policies/pending-changes. Each entry is a Pending Policy Change plus a diff view: current (the live content at (policyName, policyVersion) today, or null if that version has never been published) and proposed (the change's own proposedContent).
{
"error": "status must be one of PENDING_APPROVAL, APPROVED, REJECTED."
}
{
"error": "authentication required"
}
{
"error": "This action requires a caller credential provisioned as a verified human (credentialHolderType: USER).",
"code": "NON_HUMAN_CALLER_DENIED"
}
{"docsConfig":{"theme":"maple","$schema":"https://mintlify.com/docs.json","name":"Parmana","description":"Parmana lets businesses set clear limits on what AI can do, checks every action against those limits, and keeps a record of each decision.","colors":{"primary":"#6366F1","light":"#6366F1","dark":"#4338CA"},"logo":{"light":"https://mintcdn.com/parmanasystems/3fc1F82PB1uU1_pD/logo/logo-light.svg?fit=max\u0026auto=format\u0026n=3fc1F82PB1uU1_pD\u0026q=85\u0026s=902f62a6181def8e3c6b5aa71a40d247","dark":"https://mintcdn.com/parmanasystems/3fc1F82PB1uU1_pD/logo/logo-dark.svg?fit=max\u0026auto=format\u0026n=3fc1F82PB1uU1_pD\u0026q=85\u0026s=dba61af5a5c9f7960dbd6051e4ec24fb"},"favicon":"https://mintcdn.com/parmanasystems/3fc1F82PB1uU1_pD/logo/seal.svg?fit=max\u0026auto=format\u0026n=3fc1F82PB1uU1_pD\u0026q=85\u0026s=9ede6c2634c534c1d4eadfd76a08d84b","api":{"examples":{"prefill":true}},"background":{"color":{"light":"#FFFFFF","dark":"#1A1A1A"}},"navbar":{"links":[{"href":"https://github.com/pavancharak/parmana-verifier","label":"GitHub"},{"href":"https://github.com/pavancharak/parmana-verifier/discussions","label":"Discussions"}]},"footer":{"socials":{"github":"https://github.com/pavancharak/parmana-verifier"},"links":[{"header":"Legal","items":[{"label":"License and evaluation","href":"/license"},{"label":"Security","href":"https://docs.parmanasystems.com/license"}]}]},"fonts":{"family":"Inter"},"banner":{"content":"The Parmana repository, including the server, the SDKs and the offline verifier, is licensed under the Apache License 2.0. [License](/license)","dismissible":false},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"parmanasystems","hasAudioNarration":false,"actualSubdomain":"parmanasystems","customDomains":["docs.parmanasystems.com"],"gitSource":{"type":"github","owner":"pavancharak","repo":"parmana-core","deployBranch":"main","contentDirectory":"docs/site","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6aeb7a3f08d17703d20e664e","collectionId":"a084c277-8061-4643-9409-c9716b43e15d","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aeb7a3f08d17703d20e664e"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6aeb7a3f08d17703d20e664e","clientVersion":"0.0.4064","searchFilterCounts":[{"language":"default","tag":"API reference","count":171},{"language":"default","tag":"TypeScript SDK","count":135},{"language":"default","tag":"REST API","count":69},{"language":"default","tag":"Interfaces","count":63},{"language":"default","tag":"Python SDK","count":48},{"language":"default","tag":"Classes","count":32},{"language":"default","tag":"Handbook","count":27},{"language":"default","tag":"Build with Parmana","count":26},{"language":"default","tag":"The Parmana Handbook","count":24},{"language":"default","tag":"Concepts","count":22}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/endpoints/list-pending-policy-changes","slug":"/api-reference/endpoints/list-pending-policy-changes","pageMetadata":{"title":"List pending policy changes (maker-checker)","description":"Lists policy changes with a diff: the content in effect today (`current`, or `null` for a new version) next to the proposed content.","openapi":"openapi.bundled.yaml GET /policies/pending-changes","href":"/api-reference/endpoints/list-pending-policy-changes"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Lists policy changes with a diff: the content in effect today (\", _jsx(_components.code, {\n children: \"current\"\n }), \", or \", _jsx(_components.code, {\n children: \"null\"\n }), \" for a new version) next to the proposed content.\"]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"List pending policy changes (maker-checker)","description":"Lists policy changes with a diff: the content in effect today (`current`, or `null` for a new version) next to the proposed content.","openapi":"openapi.bundled.yaml GET /policies/pending-changes","href":"/api-reference/endpoints/list-pending-policy-changes"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Policy Governance"],"summary":"List pending policy changes (maker-checker)","operationId":"listPendingPolicyChanges","security":["dbc1e05b-2a6d-42c2-b596-6aea845667c8"],"servers":["1b056d9e-aba0-4f70-ac66-f339792145e2"],"description":"Lists policy changes with a diff: the content in effect today (`current`, or `null` for a new version) next to the proposed content.","parameters":["e42beb20-d0c7-4acc-a354-bab22cd2ff18"],"responses":{"200":"fc709f95-f2e9-41d8-b7d9-acafabb3c998","400":"9127a9a1-132d-43d2-96bf-b334a37a620a","401":"62722c6a-f9b8-4e3b-bc49-70bae3987396","403":"c0d38f0d-c636-4d22-a8f8-887784603c0f"},"x-codeSamples":[{"lang":"bash","label":"cURL","source":"curl \"https://parmana-api-real.vercel.app/policies/pending-changes?status=PENDING_APPROVAL\" \\\n -H \"Authorization: Bearer $PARMANA_API_KEY\""},{"lang":"typescript","label":"TypeScript","source":"import { ParmanaClient } from \"@parmana/sdk\";\n\nconst client = new ParmanaClient({\n endpoint: \"https://parmana-api-real.vercel.app\",\n apiKey: process.env.PARMANA_API_KEY!,\n});\n\nconst changes = await client.policyChanges(\"PENDING_APPROVAL\");\n\nconsole.log(changes.length);"},{"lang":"python","label":"Python","source":"import os\n\nfrom parmana import ParmanaClient\n\nclient = ParmanaClient(\n endpoint=\"https://parmana-api-real.vercel.app\",\n api_key=os.environ[\"PARMANA_API_KEY\"],\n)\n\nchanges = client.policy_changes(\"PENDING_APPROVAL\")\n\nprint(len(changes))"}],"method":"get","type":"path","path":"/policies/pending-changes","baseUrlOptions":["https://parmana-api-real.vercel.app"],"title":"List pending policy changes (maker-checker)","codeSamples":[{"label":"cURL","lang":"bash","source":"curl \"https://parmana-api-real.vercel.app/policies/pending-changes?status=PENDING_APPROVAL\" \\\n -H \"Authorization: Bearer $PARMANA_API_KEY\""},{"label":"TypeScript","lang":"typescript","source":"import { ParmanaClient } from \"@parmana/sdk\";\n\nconst client = new ParmanaClient({\n endpoint: \"https://parmana-api-real.vercel.app\",\n apiKey: process.env.PARMANA_API_KEY!,\n});\n\nconst changes = await client.policyChanges(\"PENDING_APPROVAL\");\n\nconsole.log(changes.length);"},{"label":"Python","lang":"python","source":"import os\n\nfrom parmana import ParmanaClient\n\nclient = ParmanaClient(\n endpoint=\"https://parmana-api-real.vercel.app\",\n api_key=os.environ[\"PARMANA_API_KEY\"],\n)\n\nchanges = client.policy_changes(\"PENDING_APPROVAL\")\n\nprint(len(changes))"}],"requiredOnlyExamples":false,"requestExampleType":"codeSamples","responseExampleType":"generated","prefillPlaygroundWithExample":true,"prefillPlaygroundExamples":[]},"dependencies":{"parameters":{"e42beb20-d0c7-4acc-a354-bab22cd2ff18":{"name":"status","description":"`PENDING_APPROVAL`, `APPROVED` or `REJECTED`. Omit for all.","in":"query","required":false,"schema":{"type":"string","enum":["PENDING_APPROVAL","APPROVED","REJECTED"],"isRequired":false,"description":"`PENDING_APPROVAL`, `APPROVED` or `REJECTED`. Omit for all.","uniqueKey":"","typeLabel":"enum\u003cstring>"}}},"responses":{"fc709f95-f2e9-41d8-b7d9-acafabb3c998":{"description":"The changes with their diffs.","content":{"application/json":{"schema":{"title":"Pending Changes List Response","description":"Response returned by GET /policies/pending-changes. Each entry is a Pending Policy Change plus a diff view: current (the live content at (policyName, policyVersion) today, or null if that version has never been published) and proposed (the change's own proposedContent).","type":"object","additionalProperties":false,"required":["changes"],"properties":{"changes":{"type":"array","items":{"type":"object","title":"Pending Policy Change","description":"A proposed change to a policy's content, held in a durable pending state until a second, distinct human explicitly approves or rejects it (Policy Governance, maker-checker). Only ever moves from PENDING_APPROVAL to APPROVED or REJECTED, exactly once.","required":["diff","pendingPolicyChangeId","policyName","policyVersion","proposedContent","proposedBy","proposedAt","status","reason"],"example":{"pendingPolicyChangeId":"6f4e4020-adf5-4449-938d-27aab58f66b7","policyName":"openapi-capture-demo","policyVersion":"1.0.0","proposedContent":{"policyId":"openapi-capture-demo","policyVersion":"1.0.0","schemaVersion":"1.0.0","rules":[{"id":"always-approve","condition":{"always":true},"outcome":{"action":"approve","reason":"OpenAPI spec capture fixture"}}]},"proposedBy":"human-maker","proposedAt":"2026-09-15T03:47:13.920Z","status":"APPROVED","reason":"Capture a real Pending Policy Change for the OpenAPI spec","resolvedBy":"human-checker","resolvedAt":"2026-09-15T03:48:03.586Z"},"properties":{"pendingPolicyChangeId":{"type":"string","description":"Unique Pending Policy Change identifier.","isRequired":true,"uniqueKey":"changes.items.[INDEX].pendingPolicyChangeId","typeLabel":"string"},"policyName":{"type":"string","description":"The policy this proposal targets, same identifier as Policy.policyId.","isRequired":true,"uniqueKey":"changes.items.[INDEX].policyName","typeLabel":"string"},"policyVersion":{"type":"string","description":"The existing version this proposal is a change against (\"the version being replaced\"). Not necessarily equal to proposedContent's own declared version: an in-place patch and a version bump are both legitimate.","isRequired":true,"uniqueKey":"changes.items.[INDEX].policyVersion","typeLabel":"string"},"proposedContent":{"type":"object","description":"The full proposed policy.json content, in its entirety, not a diff or patch.","additionalProperties":true,"isRequired":true,"uniqueKey":"changes.items.[INDEX].proposedContent","typeLabel":"object"},"proposedBy":{"type":"string","description":"Identity of the proposer (maker). Always a human-authenticated (credentialHolderType USER) caller.","isRequired":true,"uniqueKey":"changes.items.[INDEX].proposedBy","typeLabel":"string"},"proposedAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"changes.items.[INDEX].proposedAt","typeLabel":"string\u003cdate-time>"},"status":{"type":"string","enum":["PENDING_APPROVAL","APPROVED","REJECTED"],"isRequired":true,"uniqueKey":"changes.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"reason":{"type":"string","description":"Free-text justification from the proposer, required at creation.","isRequired":true,"uniqueKey":"changes.items.[INDEX].reason","typeLabel":"string"},"diff":{"type":"object","additionalProperties":false,"required":["current","proposed"],"properties":{"current":{"description":"The live policy.json content today, or null if this version has never been published.","isRequired":true,"uniqueKey":"changes.items.[INDEX].diff.current","typeLabel":"any"},"proposed":{"description":"The same value as this entry's own proposedContent.","isRequired":true,"uniqueKey":"changes.items.[INDEX].diff.proposed","typeLabel":"any"}},"isRequired":true,"uniqueKey":"changes.items.[INDEX].diff","typeLabel":"object"},"resolvedBy":{"type":"string","description":"Identity of the resolver (checker). Absent while PENDING_APPROVAL. Never equal to proposedBy.","uniqueKey":"changes.items.[INDEX].resolvedBy","typeLabel":"string"},"resolvedAt":{"type":"string","format":"date-time","description":"Absent while PENDING_APPROVAL.","uniqueKey":"changes.items.[INDEX].resolvedAt","typeLabel":"string\u003cdate-time>"},"rejectionReason":{"type":"string","description":"Present only when status is REJECTED.","uniqueKey":"changes.items.[INDEX].rejectionReason","typeLabel":"string"},"coverageWarnings":{"type":"array","description":"Present only when non-empty: uncovered-fact warnings from PolicyValidator.findUncoveredFacts against proposedContent.","items":{"type":"string","uniqueKey":"changes.items.[INDEX].coverageWarnings.items.[INDEX]","typeLabel":"string"},"uniqueKey":"changes.items.[INDEX].coverageWarnings","typeLabel":"string[]"},"ruleConflicts":{"type":"array","description":"Present only when non-empty: advisory rule-conflict warnings from PolicyValidator.findRuleConflicts against proposedContent, never blocking.","items":{"type":"string","uniqueKey":"changes.items.[INDEX].ruleConflicts.items.[INDEX]","typeLabel":"string"},"uniqueKey":"changes.items.[INDEX].ruleConflicts","typeLabel":"string[]"}},"additionalProperties":true,"uniqueKey":"changes.items.[INDEX]","typeLabel":"Pending Policy Change · object"},"isRequired":true,"uniqueKey":"changes","typeLabel":"Pending Policy Change · object[]"}},"examples":[{"changes":[{"pendingPolicyChangeId":"6f4e4020-adf5-4449-938d-27aab58f66b7","policyName":"openapi-capture-demo","policyVersion":"1.0.0","proposedContent":{"policyId":"openapi-capture-demo","policyVersion":"1.0.0","schemaVersion":"1.0.0","rules":[{"id":"always-approve","condition":{"always":true},"outcome":{"action":"approve","reason":"OpenAPI spec capture fixture"}}]},"proposedBy":"human-maker","proposedAt":"2026-09-15T03:47:13.920Z","status":"PENDING_APPROVAL","reason":"Capture a real Pending Policy Change for the OpenAPI spec","diff":{"current":null,"proposed":{"policyId":"openapi-capture-demo","policyVersion":"1.0.0","schemaVersion":"1.0.0","rules":[{"id":"always-approve","condition":{"always":true},"outcome":{"action":"approve","reason":"OpenAPI spec capture fixture"}}]}}}]}],"uniqueKey":"","typeLabel":"Pending Changes List Response · object"},"examples":{"oneOpen":{"title":"oneOpen","value":{"changes":[{"pendingPolicyChangeId":"6f4e4020-adf5-4449-938d-27aab58f66b7","policyName":"openapi-capture-demo","policyVersion":"1.0.0","proposedContent":{"policyId":"openapi-capture-demo","policyVersion":"1.0.0","schemaVersion":"1.0.0","rules":[{"id":"always-approve","condition":{"always":true},"outcome":{"action":"approve","reason":"OpenAPI spec capture fixture"}}]},"proposedBy":"human-maker","proposedAt":"2026-09-15T03:47:13.920Z","status":"PENDING_APPROVAL","reason":"Capture a real Pending Policy Change for the OpenAPI spec","diff":{"current":null,"proposed":{"policyId":"openapi-capture-demo","policyVersion":"1.0.0","schemaVersion":"1.0.0","rules":[{"id":"always-approve","condition":{"always":true},"outcome":{"action":"approve","reason":"OpenAPI spec capture fixture"}}]}}}]}}},"exampleType":"examples"}},"exampleType":"examples"},"9127a9a1-132d-43d2-96bf-b334a37a620a":{"description":"`status` is not `PENDING_APPROVAL`, `APPROVED` or `REJECTED`.","content":{"application/json":{"schema":{"title":"Error Response","description":"Shared error envelope produced by packages/api/src/middleware/error-handler.ts and by every route's inline validation checks. error is always a plain human-readable string (never a nested object). code is present only when the failure was a RuntimeError subclass reaching the centralized error handler (VerificationFailedError, ReceiptGenerationError, or an uncategorized RuntimeError); it is absent from every inline route-level check (businessTransactionId format/required checks) and from BusinessTransactionValidationError, PolicyValidationError, SignalValidationError, PolicyNotFoundError, DuplicateBusinessTransactionError, and the generic 500 fallback. POST /policies/validate does NOT use this envelope at all. See its own response schema. For the triggering condition and recommended caller action behind any specific error/code/status combination, see the Error catalog at /api-reference/error-catalog.","type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"string","description":"Human-readable error message.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"Stable machine-readable error code. Only present for errors that reach the handler as a RuntimeError.","examples":["RUNTIME_ERROR","VERIFICATION_FAILED","RECEIPT_GENERATION_FAILED","POLICY_DENIED","CAPABILITY_NOT_ALLOWED","RATE_LIMITED","AUDIT_UNAVAILABLE","SIGNING_UNAVAILABLE","CONNECTOR_NOT_REGISTERED","EXECUTION_RECORD_INCOMPLETE","EXECUTION_INTENT_UNAVAILABLE","EXECUTION_INTENT_RESULT_NOT_RECORDED","EXECUTION_INTENT_NOT_FOUND","EXECUTION_INTENTS_NOT_ENABLED","EXECUTION_INTENT_NOT_RESOLVABLE","EXECUTION_INTENT_RESOLUTION_INVALID","NON_HUMAN_CALLER_DENIED","EXECUTION_OUTCOME_UNKNOWN","AUTHORIZATION_NO_LONGER_VALID"],"uniqueKey":"code","typeLabel":"string"},"executionStatus":{"type":"string","enum":["EXECUTION_UNKNOWN","NOT_EXECUTED"],"description":"RFC-0023 phase 4. EXECUTION_UNKNOWN with EXECUTION_OUTCOME_UNKNOWN: the action was released and the call failed, so whether it ran is unknown; never reported as failed, and the Execution Intent stays ERRORED until a person resolves it. NOT_EXECUTED with AUTHORIZATION_NO_LONGER_VALID: the release was refused because a business condition or the authority grant it rested on no longer held, and nothing was sent.","uniqueKey":"executionStatus","typeLabel":"enum\u003cstring>"}},"examples":[{"error":"businessTransactionId must be a valid UUID."},{"error":"Business Transaction 'eed2a972-1bf5-4166-8472-761f76fbf1b2' already exists."},{"error":"Execution rejected: Vendor payment rejected because the assessed payment risk exceeds the maximum permitted threshold.","code":"RUNTIME_ERROR"}],"uniqueKey":"","typeLabel":"Error Response · object"},"examples":{"badStatus":{"title":"badStatus","value":{"error":"status must be one of PENDING_APPROVAL, APPROVED, REJECTED."}}},"exampleType":"examples"}},"exampleType":"examples"},"62722c6a-f9b8-4e3b-bc49-70bae3987396":{"description":"The `Authorization` header is missing, is not a bearer key, or names a key the server does not know. Nothing ran. Send a valid key.","content":{"application/json":{"schema":{"title":"Error Response","description":"Shared error envelope produced by packages/api/src/middleware/error-handler.ts and by every route's inline validation checks. error is always a plain human-readable string (never a nested object). code is present only when the failure was a RuntimeError subclass reaching the centralized error handler (VerificationFailedError, ReceiptGenerationError, or an uncategorized RuntimeError); it is absent from every inline route-level check (businessTransactionId format/required checks) and from BusinessTransactionValidationError, PolicyValidationError, SignalValidationError, PolicyNotFoundError, DuplicateBusinessTransactionError, and the generic 500 fallback. POST /policies/validate does NOT use this envelope at all. See its own response schema. For the triggering condition and recommended caller action behind any specific error/code/status combination, see the Error catalog at /api-reference/error-catalog.","type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"string","description":"Human-readable error message.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"Stable machine-readable error code. Only present for errors that reach the handler as a RuntimeError.","examples":["RUNTIME_ERROR","VERIFICATION_FAILED","RECEIPT_GENERATION_FAILED","POLICY_DENIED","CAPABILITY_NOT_ALLOWED","RATE_LIMITED","AUDIT_UNAVAILABLE","SIGNING_UNAVAILABLE","CONNECTOR_NOT_REGISTERED","EXECUTION_RECORD_INCOMPLETE","EXECUTION_INTENT_UNAVAILABLE","EXECUTION_INTENT_RESULT_NOT_RECORDED","EXECUTION_INTENT_NOT_FOUND","EXECUTION_INTENTS_NOT_ENABLED","EXECUTION_INTENT_NOT_RESOLVABLE","EXECUTION_INTENT_RESOLUTION_INVALID","NON_HUMAN_CALLER_DENIED","EXECUTION_OUTCOME_UNKNOWN","AUTHORIZATION_NO_LONGER_VALID"],"uniqueKey":"code","typeLabel":"string"},"executionStatus":{"type":"string","enum":["EXECUTION_UNKNOWN","NOT_EXECUTED"],"description":"RFC-0023 phase 4. EXECUTION_UNKNOWN with EXECUTION_OUTCOME_UNKNOWN: the action was released and the call failed, so whether it ran is unknown; never reported as failed, and the Execution Intent stays ERRORED until a person resolves it. NOT_EXECUTED with AUTHORIZATION_NO_LONGER_VALID: the release was refused because a business condition or the authority grant it rested on no longer held, and nothing was sent.","uniqueKey":"executionStatus","typeLabel":"enum\u003cstring>"}},"examples":[{"error":"businessTransactionId must be a valid UUID."},{"error":"Business Transaction 'eed2a972-1bf5-4166-8472-761f76fbf1b2' already exists."},{"error":"Execution rejected: Vendor payment rejected because the assessed payment risk exceeds the maximum permitted threshold.","code":"RUNTIME_ERROR"}],"uniqueKey":"","typeLabel":"Error Response · object"},"examples":{"authRequired":{"title":"authRequired","value":{"error":"authentication required"}}},"exampleType":"examples"}},"exampleType":"examples"},"c0d38f0d-c636-4d22-a8f8-887784603c0f":{"description":"`NON_HUMAN_CALLER_DENIED`: this needs a human key.","content":{"application/json":{"schema":{"title":"Error Response","description":"Shared error envelope produced by packages/api/src/middleware/error-handler.ts and by every route's inline validation checks. error is always a plain human-readable string (never a nested object). code is present only when the failure was a RuntimeError subclass reaching the centralized error handler (VerificationFailedError, ReceiptGenerationError, or an uncategorized RuntimeError); it is absent from every inline route-level check (businessTransactionId format/required checks) and from BusinessTransactionValidationError, PolicyValidationError, SignalValidationError, PolicyNotFoundError, DuplicateBusinessTransactionError, and the generic 500 fallback. POST /policies/validate does NOT use this envelope at all. See its own response schema. For the triggering condition and recommended caller action behind any specific error/code/status combination, see the Error catalog at /api-reference/error-catalog.","type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"string","description":"Human-readable error message.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"Stable machine-readable error code. Only present for errors that reach the handler as a RuntimeError.","examples":["RUNTIME_ERROR","VERIFICATION_FAILED","RECEIPT_GENERATION_FAILED","POLICY_DENIED","CAPABILITY_NOT_ALLOWED","RATE_LIMITED","AUDIT_UNAVAILABLE","SIGNING_UNAVAILABLE","CONNECTOR_NOT_REGISTERED","EXECUTION_RECORD_INCOMPLETE","EXECUTION_INTENT_UNAVAILABLE","EXECUTION_INTENT_RESULT_NOT_RECORDED","EXECUTION_INTENT_NOT_FOUND","EXECUTION_INTENTS_NOT_ENABLED","EXECUTION_INTENT_NOT_RESOLVABLE","EXECUTION_INTENT_RESOLUTION_INVALID","NON_HUMAN_CALLER_DENIED","EXECUTION_OUTCOME_UNKNOWN","AUTHORIZATION_NO_LONGER_VALID"],"uniqueKey":"code","typeLabel":"string"},"executionStatus":{"type":"string","enum":["EXECUTION_UNKNOWN","NOT_EXECUTED"],"description":"RFC-0023 phase 4. EXECUTION_UNKNOWN with EXECUTION_OUTCOME_UNKNOWN: the action was released and the call failed, so whether it ran is unknown; never reported as failed, and the Execution Intent stays ERRORED until a person resolves it. NOT_EXECUTED with AUTHORIZATION_NO_LONGER_VALID: the release was refused because a business condition or the authority grant it rested on no longer held, and nothing was sent.","uniqueKey":"executionStatus","typeLabel":"enum\u003cstring>"}},"examples":[{"error":"businessTransactionId must be a valid UUID."},{"error":"Business Transaction 'eed2a972-1bf5-4166-8472-761f76fbf1b2' already exists."},{"error":"Execution rejected: Vendor payment rejected because the assessed payment risk exceeds the maximum permitted threshold.","code":"RUNTIME_ERROR"}],"uniqueKey":"","typeLabel":"Error Response · object"},"examples":{"service":{"title":"service","value":{"error":"This action requires a caller credential provisioned as a verified human (credentialHolderType: USER).","code":"NON_HUMAN_CALLER_DENIED"}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"dbc1e05b-2a6d-42c2-b596-6aea845667c8":{"operatorBearer":{"type":"apiKey","in":"header","name":"Authorization","description":"A human key (credentialHolderType: USER) issued by the operator. Sent as Authorization: Bearer \u003ckey>. The public sandbox and its demo key are refused on these routes, so no key is prefilled here.","scopes":[],"schemeName":"operatorBearer"}}},"servers":{"1b056d9e-aba0-4f70-ac66-f339792145e2":{"url":"https://parmana-api-real.vercel.app","description":"Production. Use a key issued by the operator."}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"Authorization","description":"A human key (credentialHolderType: USER) issued by the operator. Sent as Authorization: Bearer \u003ckey>. The public sandbox and its demo key are refused on these routes, so no key is prefilled here.","scopes":[],"schemeName":"operatorBearer"},"schema":{"title":"Authorization","type":"string","description":"A human key (credentialHolderType: USER) issued by the operator. Sent as Authorization: Bearer \u003ckey>. The public sandbox and its demo key are refused on these routes, so no key is prefilled here.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"operatorBearer","name":"Authorization"}],"title":"operatorBearer"}]},"originalFileLocation":"openapi.bundled.yaml"},"subdomain":"parmanasystems","siteName":"Parmana","title":"List pending policy changes (maker-checker) - Parmana","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-01T10:36:32.960Z","originalFileLocation":"api-reference/endpoints/list-pending-policy-changes.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Lists policy changes with a diff: the content in effect today (current, or null for a new version) next to the proposed content.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Parmana\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/parmanasystems/etjcJguz6BN6OG2a/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/parmanasystems/etjcJguz6BN6OG2a/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/parmanasystems/etjcJguz6BN6OG2a/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/parmanasystems/etjcJguz6BN6OG2a/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/parmanasystems/etjcJguz6BN6OG2a/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/parmanasystems/etjcJguz6BN6OG2a/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/parmanasystems/etjcJguz6BN6OG2a/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/parmanasystems/etjcJguz6BN6OG2a/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/parmanasystems/etjcJguz6BN6OG2a/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"List pending policy changes (maker-checker) - Parmana\">\u003cmeta data-mint-head property=\"og:description\" content=\"Lists policy changes with a diff: the content in effect today (current, or null for a new version) next to the proposed content.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Parmana\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.parmanasystems.com/api-reference/endpoints/list-pending-policy-changes\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://parmanasystems.mintlify.app/_mintlify/api/og/v2?division=Policy+Governance\u0026amp;title=List+pending+policy+changes+%28maker-checker%29\u0026amp;description=Lists+policy+changes+with+a+diff%3A+the+content+in+effect+today+%28%60current%60%2C+or+%60null%60+for+a+new+version%29+next+to+the+proposed+content.\u0026amp;theme=330e7d48bcc953731fc52f38\u0026amp;signature=d66b72d231d8891c51bce83c1ec90f49a639ee67a8037cc6a626d61d68fddb34\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"List pending policy changes (maker-checker) - Parmana\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Lists policy changes with a diff: the content in effect today (current, or null for a new version) next to the proposed content.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://parmanasystems.mintlify.app/_mintlify/api/og/v2?division=Policy+Governance\u0026amp;title=List+pending+policy+changes+%28maker-checker%29\u0026amp;description=Lists+policy+changes+with+a+diff%3A+the+content+in+effect+today+%28%60current%60%2C+or+%60null%60+for+a+new+version%29+next+to+the+proposed+content.\u0026amp;theme=330e7d48bcc953731fc52f38\u0026amp;signature=d66b72d231d8891c51bce83c1ec90f49a639ee67a8037cc6a626d61d68fddb34\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/parmanasystems/etjcJguz6BN6OG2a/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Parmana\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#6366F1\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.parmanasystems.com/api-reference/endpoints/list-pending-policy-changes\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/endpoints/list-pending-policy-changes.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.parmanasystems.com/#organization\",\"name\":\"Parmana\",\"url\":\"https://docs.parmanasystems.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/parmanasystems/3fc1F82PB1uU1_pD/logo/logo-light.svg?fit=max\u0026auto=format\u0026n=3fc1F82PB1uU1_pD\u0026q=85\u0026s=902f62a6181def8e3c6b5aa71a40d247\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.parmanasystems.com#website\",\"name\":\"Parmana\",\"url\":\"https://docs.parmanasystems.com\",\"publisher\":{\"@id\":\"https://docs.parmanasystems.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.parmanasystems.com/api-reference/endpoints/list-pending-policy-changes#webpage\",\"url\":\"https://docs.parmanasystems.com/api-reference/endpoints/list-pending-policy-changes\",\"name\":\"List pending policy changes (maker-checker)\",\"description\":\"Lists policy changes with a diff: the content in effect today (current, or null for a new version) next to the proposed content.\",\"dateModified\":\"2026-10-01T10:36:32.960Z\",\"isPartOf\":{\"@id\":\"https://docs.parmanasystems.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.parmanasystems.com/api-reference/endpoints/list-pending-policy-changes#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.parmanasystems.com/api-reference/endpoints/list-pending-policy-changes#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Policy Governance\",\"item\":\"https://docs.parmanasystems.com/api-reference/endpoints/propose-policy-change\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"List pending policy changes (maker-checker)\",\"item\":\"https://docs.parmanasystems.com/api-reference/endpoints/list-pending-policy-changes\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.parmanasystems.com/api-reference/endpoints/list-pending-policy-changes#apireference\",\"headline\":\"List pending policy changes (maker-checker)\",\"name\":\"List pending policy changes (maker-checker)\",\"description\":\"Lists policy changes with a diff: the content in effect today (current, or null for a new version) next to the proposed content.\",\"url\":\"https://docs.parmanasystems.com/api-reference/endpoints/list-pending-policy-changes\",\"mainEntityOfPage\":{\"@id\":\"https://docs.parmanasystems.com/api-reference/endpoints/list-pending-policy-changes#webpage\"},\"dateModified\":\"2026-10-01T10:36:32.960Z\",\"publisher\":{\"@id\":\"https://docs.parmanasystems.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.parmanasystems.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Parmana\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Parmana","nav":{"global":null,"tabs":[{"tab":"Get started","pages":[{"title":"Get started","href":""}]},{"tab":"Concepts","pages":[{"title":"Concepts","href":"/concepts/policies-and-the-decision"}]},{"tab":"Guides","pages":[{"title":"Guides","href":"/guides/full-integration-overview"}]},{"tab":"TypeScript SDK","pages":[{"title":"TypeScript SDK","href":"/sdks/typescript"}]},{"tab":"Python SDK","pages":[{"title":"Python SDK","href":"/sdks/python"}]},{"tab":"Connector SDKs","pages":[{"title":"Connector SDKs","href":"/integrations/overview"}]},{"tab":"REST API","groups":[{"group":"REST API guide","pages":[{"title":"REST API Introduction","href":"/api-reference/introduction"},{"title":"Authentication","href":"/api-reference/authentication"},{"title":"Error Handling","href":"/api-reference/error-handling"},{"title":"Idempotency and Nonces","href":"/api-reference/idempotency-and-nonces"},{"title":"Error Catalog","href":"/api-reference/error-catalog"},{"title":"SDK coverage of the API","href":"/sdks/api-coverage"}]},{"group":"Execution","pages":[{"title":"Execute a Business Transaction","openapi":"openapi.bundled.yaml POST /execute","href":"/api-reference/endpoints/execute-transaction"}]},{"group":"Transactions","pages":[{"title":"List Business Transactions","openapi":"openapi.bundled.yaml GET /transactions","href":"/api-reference/endpoints/list-transactions"},{"title":"Create (execute) a Business Transaction","openapi":"openapi.bundled.yaml POST /transactions","href":"/api-reference/endpoints/create-transaction"},{"title":"Get Business Transaction","openapi":"openapi.bundled.yaml GET /transactions/{businessTransactionId}","href":"/api-reference/endpoints/get-transaction"}]},{"group":"Verification","pages":[{"title":"Verify an Execution Trust Record","openapi":"openapi.bundled.yaml POST /verify","href":"/api-reference/endpoints/verify-transaction"},{"title":"Get latest Verification","openapi":"openapi.bundled.yaml GET /verification/{businessTransactionId}","href":"/api-reference/endpoints/get-latest-verification"}]},{"group":"Receipts","pages":[{"title":"Generate a Receipt","openapi":"openapi.bundled.yaml POST /receipt","href":"/api-reference/endpoints/generate-receipt"},{"title":"Get latest Receipt","openapi":"openapi.bundled.yaml GET /receipt/latest/{businessTransactionId}","href":"/api-reference/endpoints/get-latest-receipt"}]},{"group":"Trust Records","pages":[{"title":"Bulk-export Execution Trust Records (compliance/audit)","openapi":"openapi.bundled.yaml GET /trust-records","href":"/api-reference/endpoints/list-trust-records"},{"title":"Get Execution Trust Record","openapi":"openapi.bundled.yaml GET /trust-records/{businessTransactionId}","href":"/api-reference/endpoints/get-trust-record"}]},{"group":"Replay","pages":[{"title":"Replay an Execution Trust Record","openapi":"openapi.bundled.yaml POST /replay","href":"/api-reference/endpoints/replay-transaction"}]},{"group":"Policies","pages":[{"title":"Get the policy a capability's requests must declare right now","openapi":"openapi.bundled.yaml GET /policies/in-effect","href":"/api-reference/endpoints/get-policy-in-effect"},{"title":"Validate that a Policy exists and is readable","openapi":"openapi.bundled.yaml POST /policies/validate","href":"/api-reference/endpoints/validate-policy"}]},{"group":"Policy Governance","pages":[{"title":"Propose a policy change (maker)","description":"Proposes new content for a policy, the maker's step in maker checker governance.","openapi":"openapi.bundled.yaml POST /policies/{name}/{version}/pending-changes","href":"/api-reference/endpoints/propose-policy-change"},{"title":"List pending policy changes (maker-checker)","openapi":"openapi.bundled.yaml GET /policies/pending-changes","href":"/api-reference/endpoints/list-pending-policy-changes"},{"title":"Approve a pending policy change (checker)","description":"Approves a policy change, the checker's step, and puts it into effect.","openapi":"openapi.bundled.yaml POST /policies/pending-changes/{id}/approve","href":"/api-reference/endpoints/approve-policy-change"},{"title":"Reject a pending policy change (checker)","openapi":"openapi.bundled.yaml POST /policies/pending-changes/{id}/reject","href":"/api-reference/endpoints/reject-policy-change"}]},{"group":"Approvers","pages":[{"title":"List approver keys","openapi":"openapi.bundled.yaml GET /approval-issuers","href":"/api-reference/endpoints/list-approval-issuers"},{"title":"List approver changes","openapi":"openapi.bundled.yaml GET /approval-issuers/changes","href":"/api-reference/endpoints/list-approval-issuer-changes"},{"title":"Propose adding or revoking an approver key","openapi":"openapi.bundled.yaml POST /approval-issuers/changes","href":"/api-reference/endpoints/propose-approval-issuer-change"},{"title":"Approve an approver change","openapi":"openapi.bundled.yaml POST /approval-issuers/changes/{id}/approve","href":"/api-reference/endpoints/approve-approval-issuer-change"},{"title":"Reject an approver change","openapi":"openapi.bundled.yaml POST /approval-issuers/changes/{id}/reject","href":"/api-reference/endpoints/reject-approval-issuer-change"}]},{"group":"External Connectors","pages":[{"title":"List external connectors","openapi":"openapi.bundled.yaml GET /external-connectors","href":"/api-reference/endpoints/list-external-connectors"},{"title":"List external connector changes","openapi":"openapi.bundled.yaml GET /external-connectors/changes","href":"/api-reference/endpoints/list-external-connector-changes"},{"title":"Propose registering or revoking an external connector","openapi":"openapi.bundled.yaml POST /external-connectors/changes","href":"/api-reference/endpoints/propose-external-connector-change"},{"title":"Approve an external connector change","openapi":"openapi.bundled.yaml POST /external-connectors/changes/{id}/approve","href":"/api-reference/endpoints/approve-external-connector-change"},{"title":"Reject an external connector change","openapi":"openapi.bundled.yaml POST /external-connectors/changes/{id}/reject","href":"/api-reference/endpoints/reject-external-connector-change"}]},{"group":"Business Signal Sources","pages":[{"title":"List business signal sources","openapi":"openapi.bundled.yaml GET /business-signal-sources","href":"/api-reference/endpoints/list-business-signal-sources"},{"title":"List business signal source changes","openapi":"openapi.bundled.yaml GET /business-signal-sources/changes","href":"/api-reference/endpoints/list-business-signal-source-changes"},{"title":"Propose registering or revoking a business signal source","openapi":"openapi.bundled.yaml POST /business-signal-sources/changes","href":"/api-reference/endpoints/propose-business-signal-source-change"},{"title":"Approve a business signal source change","openapi":"openapi.bundled.yaml POST /business-signal-sources/changes/{id}/approve","href":"/api-reference/endpoints/approve-business-signal-source-change"},{"title":"Reject a business signal source change","openapi":"openapi.bundled.yaml POST /business-signal-sources/changes/{id}/reject","href":"/api-reference/endpoints/reject-business-signal-source-change"}]},{"group":"Authority Grants","pages":[{"title":"List authority grants","openapi":"openapi.bundled.yaml GET /authority-grants","href":"/api-reference/endpoints/list-authority-grants"},{"title":"List authority grant changes","openapi":"openapi.bundled.yaml GET /authority-grants/changes","href":"/api-reference/endpoints/list-authority-grant-changes"},{"title":"Propose granting or revoking an agent's authority","openapi":"openapi.bundled.yaml POST /authority-grants/changes","href":"/api-reference/endpoints/propose-authority-grant-change"},{"title":"Approve an authority grant change","openapi":"openapi.bundled.yaml POST /authority-grants/changes/{id}/approve","href":"/api-reference/endpoints/approve-authority-grant-change"},{"title":"Reject an authority grant change","openapi":"openapi.bundled.yaml POST /authority-grants/changes/{id}/reject","href":"/api-reference/endpoints/reject-authority-grant-change"}]},{"group":"Sandbox","pages":[{"title":"Get a demo approval (sandbox only)","openapi":"openapi.bundled.yaml POST /sandbox/approvals","href":"/api-reference/endpoints/create-sandbox-approval"}]},{"group":"Kill Switch","pages":[{"title":"Trip the operator kill switch","openapi":"openapi.bundled.yaml POST /kill-switch/trip","href":"/api-reference/endpoints/trip-kill-switch"},{"title":"Reset the operator kill switch","openapi":"openapi.bundled.yaml POST /kill-switch/reset","href":"/api-reference/endpoints/reset-kill-switch"},{"title":"Read the kill switch state","openapi":"openapi.bundled.yaml GET /kill-switch/status","href":"/api-reference/endpoints/get-kill-switch-status"},{"title":"Record a kill switch probe result","openapi":"openapi.bundled.yaml POST /kill-switch/probes","href":"/api-reference/endpoints/record-kill-switch-probe"}]},{"group":"Refusal Records","pages":[{"title":"Verify a Refusal Record's signature","openapi":"openapi.bundled.yaml POST /refusal/verify","href":"/api-reference/endpoints/verify-refusal-record"},{"title":"Get a Refusal Record by transaction ID","openapi":"openapi.bundled.yaml GET /refusal/{businessTransactionId}","href":"/api-reference/endpoints/get-refusal-record"}]},{"group":"Execution Intents","pages":[{"title":"Verify an Execution Intent's signature","openapi":"openapi.bundled.yaml POST /execution-intents/verify","href":"/api-reference/endpoints/verify-execution-intent"},{"title":"List Execution Intents that never reached a signed Trust Record","openapi":"openapi.bundled.yaml GET /execution-intents/unfinalized","href":"/api-reference/endpoints/list-unfinalized-execution-intents"},{"title":"Get an Execution Intent and its status","openapi":"openapi.bundled.yaml GET /execution-intents/{businessTransactionId}","href":"/api-reference/endpoints/get-execution-intent"},{"title":"Rebuild the signed Trust Record for a released action","openapi":"openapi.bundled.yaml POST /execution-intents/{businessTransactionId}/finalize","href":"/api-reference/endpoints/finalize-execution-intent"},{"title":"Close an intent you reconciled by hand","openapi":"openapi.bundled.yaml POST /execution-intents/{businessTransactionId}/resolve","href":"/api-reference/endpoints/resolve-execution-intent"}]},{"group":"Audit","pages":[{"title":"Verify a signed caller-authentication audit event","openapi":"openapi.bundled.yaml POST /audit/verify","href":"/api-reference/endpoints/verify-audit-event"}]},{"group":"System","pages":[{"title":"Root","openapi":"openapi.bundled.yaml GET /","href":"/api-reference/endpoints/get-root"},{"title":"Health check","openapi":"openapi.bundled.yaml GET /health","href":"/api-reference/endpoints/get-health"},{"title":"Readiness check","openapi":"openapi.bundled.yaml GET /ready","href":"/api-reference/endpoints/get-ready"},{"title":"Get the OpenAPI spec","openapi":"openapi.bundled.yaml GET /openapi.yaml","href":"/api-reference/endpoints/get-open-api-spec"},{"title":"Get the OpenAPI spec, as JSON","openapi":"openapi.bundled.yaml GET /openapi.json","href":"/api-reference/endpoints/get-open-api-spec-json"},{"title":"Machine-readable SDK and discovery manifest","openapi":"openapi.bundled.yaml GET /api-manifest.json","href":"/api-reference/endpoints/get-api-manifest"},{"title":"Service version","openapi":"openapi.bundled.yaml GET /version","href":"/api-reference/endpoints/get-version"},{"title":"Fetch a public signing key for independent, offline verification","openapi":"openapi.bundled.yaml GET /keys/{keyId}","href":"/api-reference/endpoints/get-key"},{"title":"List every public signing key this deployment can currently produce","openapi":"openapi.bundled.yaml GET /.well-known/jwks.json","href":"/api-reference/endpoints/get-jwks"},{"title":"Get the authenticated caller's identity and resolved scope","openapi":"openapi.bundled.yaml GET /callers/me","href":"/api-reference/endpoints/get-caller-me"}]},{"group":"Handbook","pages":[{"title":"Download the Parmana Handbook (PDF)","openapi":"openapi.bundled.yaml GET /parmana-handbook.pdf","href":"/api-reference/endpoints/get-handbook-pdf"},{"title":"Capture an email address, then redirect straight to the handbook PDF","openapi":"openapi.bundled.yaml GET /handbook/download-leads","href":"/api-reference/endpoints/get-handbook-download-lead"},{"title":"Capture an email address before unlocking the handbook PDF download","openapi":"openapi.bundled.yaml POST /handbook/download-leads","href":"/api-reference/endpoints/create-handbook-download-lead"}]}]},{"tab":"Deploy and operate","pages":[{"title":"Deploy and operate","href":"/self-hosted/overview"}]},{"tab":"Reference","pages":[{"title":"Reference","href":"/reference/shared"}]},{"tab":"Build book","pages":[{"title":"Build book","href":"/build-book/overview"}]},{"tab":"Handbook","pages":[{"title":"Handbook","href":"/handbook/overview"}]}]},"basePath":"","title":"List pending policy changes (maker-checker) - Parmana","buildId":"dpl_2gSLkbMoF5kkLsBqYzq9KWtDyJRo","deploymentId":"dpl_2gSLkbMoF5kkLsBqYzq9KWtDyJRo","dynamics":["10e4515597","c2aa737661","b0f84f53ff","a9bb46feb3","2b790eda92"],"chunks":["BannerMarkdown-CiLHwMiK.js","dist-CjboTi0T.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","clsx-v8ssfMzu.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","OpenApiReferenceProvider-hfTk6MZX.js","utils-Bfp7HcY4.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-D8dSW7yV.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-CFgQXcZO.js","snippetPresets-dMW1-pV3.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","Page-BsZAA8xk.js","ApiExamples-DyrCOido.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-Bwwdcyh3.js","shallow-drVXTg79.js","getApiPlaygroundDisplay-GMPxUzWV.js","CodeSnippet-wTmV0wP6.js","CodeSnippets-D_QxCJEq.js","getPastedJson-Dev-X0Xy.js","icon-7L2WL0jD.js","MethodPill-Ble59Dl_.js","DuplicateIcon-r-98uLGh.js","createIcon-DaFzipjW.js","DynamicMarkdown-Jk8YAWGN.js","SectionHeading-nLgrCDOg.js","axios-vUo_bRtp.js","Markdown-_QGow1Wo.js","AssistantPageLink-DkAyo-p5.js"]}