{
  "_type": "export",
  "__export_format": 4,
  "__export_source": "axiom-docs-generator",
  "resources": [
    {
      "_id": "wrk_axiom_api_0_1_1",
      "_type": "workspace",
      "name": "Axiom API 0.1.1 - Policies",
      "description": "Generated from the public Axiom OpenAPI 0.1.1 contract. Use issued credentials and server-minted tenant context for admitted calls.",
      "scope": "collection"
    },
    {
      "_id": "env_axiom_api_0_1_1",
      "_type": "environment",
      "parentId": "wrk_axiom_api_0_1_1",
      "name": "Base Environment",
      "data": {
        "base_url": "https://api.afr-dev.axiom.express",
        "access_token": "replace-with-issued-access-token",
        "tenant_id": "replace-with-admitted-tenant-id-from-list-tenants",
        "tenant_context": "replace-with-server-minted-tenant-context",
        "correlation_id": "axiom-example-correlation-id",
        "example_profile": "canonical-five-acts"
      }
    },
    {
      "_id": "fld_policy",
      "_type": "request_group",
      "parentId": "wrk_axiom_api_0_1_1",
      "name": "Policy"
    },
    {
      "_id": "req_axiom_0",
      "_type": "request",
      "parentId": "fld_policy",
      "name": "Initiate a policy replacement",
      "description": "Starts a replacement workflow that supersedes one or more existing policies\nwith a replacement policy. Returns the initial workflow state including the\nallowed transitions from the starting step.",
      "method": "POST",
      "url": "{{ _.base_url }}/v1/replacements",
      "headers": [
        {
          "name": "Authorization",
          "value": "Bearer {{access_token}}"
        },
        {
          "name": "X-Correlation-ID",
          "value": "{{correlation_id}}"
        },
        {
          "name": "X-Tenant-Context",
          "value": "{{tenant_context}}"
        },
        {
          "name": "Content-Type",
          "value": "application/json"
        }
      ],
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"actor\": {\n    \"actor_id\": \"usr_01j1234567890abcdefghijk\",\n    \"actor_original_id\": \"usr_01j1234567890abcdefghijk\",\n    \"actor_type\": \"human\"\n  },\n  \"existing_policy_ids\": [\n    \"pol_01j9876543210abcdefghijk\"\n  ],\n  \"jurisdiction_code\": \"za\",\n  \"occurred_at\": \"2026-06-02T12:00:00Z\",\n  \"policy_id\": \"pol_01j1234567890abcdefghijk\",\n  \"reason\": \"Customer requested upgrade to comprehensive cover\"\n}"
      },
      "parameters": []
    },
    {
      "_id": "req_axiom_1",
      "_type": "request",
      "parentId": "fld_policy",
      "name": "Get a replacement workflow",
      "description": "Fetch the current state of a replacement workflow by id.",
      "method": "GET",
      "url": "{{ _.base_url }}/v1/replacements/{{id}}",
      "headers": [
        {
          "name": "Authorization",
          "value": "Bearer {{access_token}}"
        },
        {
          "name": "X-Correlation-ID",
          "value": "{{correlation_id}}"
        },
        {
          "name": "X-Tenant-Context",
          "value": "{{tenant_context}}"
        }
      ],
      "body": {},
      "parameters": []
    },
    {
      "_id": "req_axiom_2",
      "_type": "request",
      "parentId": "fld_policy",
      "name": "Advance a replacement workflow",
      "description": "Advances the workflow to the next step, supplying the evidence payload\nrequired by the current step. Optimistic-concurrency via `version`.",
      "method": "POST",
      "url": "{{ _.base_url }}/v1/replacements/{{id}}/advance",
      "headers": [
        {
          "name": "Authorization",
          "value": "Bearer {{access_token}}"
        },
        {
          "name": "X-Correlation-ID",
          "value": "{{correlation_id}}"
        },
        {
          "name": "X-Tenant-Context",
          "value": "{{tenant_context}}"
        },
        {
          "name": "Content-Type",
          "value": "application/json"
        }
      ],
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"actor\": {\n    \"actor_id\": \"usr_01j1234567890abcdefghijk\",\n    \"actor_original_id\": \"usr_01j1234567890abcdefghijk\",\n    \"actor_type\": \"human\"\n  },\n  \"evidence_payload\": {\n    \"disclosure_acknowledged\": true\n  },\n  \"occurred_at\": \"2026-06-02T12:05:00Z\",\n  \"reason\": \"Replacement disclosure acknowledged\",\n  \"version\": 1\n}"
      },
      "parameters": []
    },
    {
      "_id": "req_axiom_3",
      "_type": "request",
      "parentId": "fld_policy",
      "name": "Cancel a replacement workflow",
      "description": "Cancels an in-flight replacement workflow. Optimistic-concurrency via `version`.",
      "method": "POST",
      "url": "{{ _.base_url }}/v1/replacements/{{id}}/cancel",
      "headers": [
        {
          "name": "Authorization",
          "value": "Bearer {{access_token}}"
        },
        {
          "name": "X-Correlation-ID",
          "value": "{{correlation_id}}"
        },
        {
          "name": "X-Tenant-Context",
          "value": "{{tenant_context}}"
        },
        {
          "name": "Content-Type",
          "value": "application/json"
        }
      ],
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"actor\": {\n    \"actor_id\": \"usr_01j1234567890abcdefghijk\",\n    \"actor_original_id\": \"usr_01j1234567890abcdefghijk\",\n    \"actor_type\": \"human\"\n  },\n  \"occurred_at\": \"2026-06-02T12:10:00Z\",\n  \"reason\": \"Customer withdrew request\",\n  \"version\": 1\n}"
      },
      "parameters": []
    },
    {
      "_id": "req_axiom_4",
      "_type": "request",
      "parentId": "fld_policy",
      "name": "Get replacement evidence",
      "description": "Returns the evidence collected per step for a replacement workflow.",
      "method": "GET",
      "url": "{{ _.base_url }}/v1/replacements/{{id}}/evidence",
      "headers": [
        {
          "name": "Authorization",
          "value": "Bearer {{access_token}}"
        },
        {
          "name": "X-Correlation-ID",
          "value": "{{correlation_id}}"
        },
        {
          "name": "X-Tenant-Context",
          "value": "{{tenant_context}}"
        }
      ],
      "body": {},
      "parameters": []
    },
    {
      "_id": "fld_event",
      "_type": "request_group",
      "parentId": "wrk_axiom_api_0_1_1",
      "name": "Event"
    },
    {
      "_id": "req_axiom_5",
      "_type": "request",
      "parentId": "fld_event",
      "name": "Apply Proration Adjustment",
      "description": "Evaluate and persist a tenant-owned event-effective proration decision for an existing event/assertion. The operation creates an immutable proration decision with typed components. Financial components may post through the ledger; non-financial components are durable decision inputs consumed by dynamic balance and temporal engines.",
      "method": "POST",
      "url": "{{ _.base_url }}/v1/events/{{id}}/proration-adjustments",
      "headers": [
        {
          "name": "Authorization",
          "value": "Bearer {{access_token}}"
        },
        {
          "name": "X-Correlation-ID",
          "value": "{{correlation_id}}"
        },
        {
          "name": "X-Tenant-Context",
          "value": "{{tenant_context}}"
        },
        {
          "name": "Content-Type",
          "value": "application/json"
        }
      ],
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"affected\": {\n    \"party_role_id\": \"string\"\n  },\n  \"effective_times\": {\n    \"premium_period_end\": \"2026-08-09T00:00:00Z\",\n    \"premium_period_start\": \"2026-08-09T00:00:00Z\"\n  },\n  \"policy_id\": \"pol_01j9zxkp8wqrm2n4v6t5s3d7f1\",\n  \"product_id\": \"prd_01j9zxkp8wqrm2n4v6t5s3d7f1\",\n  \"proration_intent\": \"mid_year_join\"\n}"
      },
      "parameters": []
    },
    {
      "_id": "fld_product",
      "_type": "request_group",
      "parentId": "wrk_axiom_api_0_1_1",
      "name": "Product"
    },
    {
      "_id": "req_axiom_6",
      "_type": "request",
      "parentId": "fld_product",
      "name": "Create a new insurance product",
      "description": "Create a product definition in the catalogue. Products define the coverage template\nfrom which policies are issued. A product includes coverage sections (covers),\nconfigurable terms, pricing rules, and commission structures.\n\nProducts are created in \"draft\" status and must be explicitly activated before\npolicies can be issued against them.",
      "method": "POST",
      "url": "{{ _.base_url }}/v1/products",
      "headers": [
        {
          "name": "Authorization",
          "value": "Bearer {{access_token}}"
        },
        {
          "name": "X-Correlation-ID",
          "value": "{{correlation_id}}"
        },
        {
          "name": "X-Tenant-Context",
          "value": "{{tenant_context}}"
        },
        {
          "name": "Content-Type",
          "value": "application/json"
        }
      ],
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"attributes\": {\n    \"base_premium\": 120000,\n    \"minimum_age\": 17,\n    \"region\": \"UK\",\n    \"regulatory_class\": \"compulsory\"\n  },\n  \"covers\": [\n    {\n      \"code\": \"TPL-BODILY\",\n      \"deductible\": 0,\n      \"description\": \"Covers liability for bodily injury to third parties arising from vehicle use\",\n      \"name\": \"Third-Party Bodily Injury\",\n      \"sum_insured\": 1000000,\n      \"type\": \"basic\"\n    },\n    {\n      \"code\": \"TPL-PROPERTY\",\n      \"deductible\": 500,\n      \"description\": \"Covers liability for damage to third-party property\",\n      \"name\": \"Third-Party Property Damage\",\n      \"sum_insured\": 250000,\n      \"type\": \"basic\"\n    }\n  ],\n  \"currency\": \"GBP\",\n  \"description\": \"Mandatory third-party liability cover for motor vehicles registered in the United Kingdom\",\n  \"name\": \"Motor Third-Party Liability\",\n  \"product_code\": \"MOTOR-TPL-2026\",\n  \"terms\": [\n    {\n      \"code\": \"POLICY-DURATION\",\n      \"data_type\": \"integer\",\n      \"name\": \"Policy Duration\",\n      \"required\": true\n    }\n  ],\n  \"type\": \"motor\"\n}"
      },
      "parameters": []
    },
    {
      "_id": "req_axiom_7",
      "_type": "request",
      "parentId": "fld_product",
      "name": "List products",
      "description": "Retrieve a paginated list of products in the tenant's catalogue.\nResults are sorted by recorded_at descending with a stable cursor\ntiebreaker. Sort order is not configurable.\n\nBoth draft and active products are returned. Use the status field to filter\nif needed (client-side filtering).",
      "method": "GET",
      "url": "{{ _.base_url }}/v1/products",
      "headers": [
        {
          "name": "Authorization",
          "value": "Bearer {{access_token}}"
        },
        {
          "name": "X-Correlation-ID",
          "value": "{{correlation_id}}"
        },
        {
          "name": "X-Tenant-Context",
          "value": "{{tenant_context}}"
        }
      ],
      "body": {},
      "parameters": [
        {
          "name": "page[size]",
          "value": "{{page[size]}}",
          "disabled": true
        },
        {
          "name": "page[after]",
          "value": "{{page[after]}}",
          "disabled": true
        }
      ]
    },
    {
      "_id": "req_axiom_8",
      "_type": "request",
      "parentId": "fld_product",
      "name": "Get a product by ID",
      "description": "Retrieve a single product with its full configuration including covers,\nterms, pricing rules, and commission structures.",
      "method": "GET",
      "url": "{{ _.base_url }}/v1/products/{{id}}",
      "headers": [
        {
          "name": "Authorization",
          "value": "Bearer {{access_token}}"
        },
        {
          "name": "X-Correlation-ID",
          "value": "{{correlation_id}}"
        },
        {
          "name": "X-Tenant-Context",
          "value": "{{tenant_context}}"
        }
      ],
      "body": {},
      "parameters": []
    },
    {
      "_id": "req_axiom_9",
      "_type": "request",
      "parentId": "fld_product",
      "name": "Update a product",
      "description": "Update an existing product's metadata, attributes, or status.\nProducts can be transitioned from \"draft\" to \"active\" status via this endpoint.\n\nUpdating an active product creates a new version. Existing policies issued under\nprevious versions are not affected.",
      "method": "PUT",
      "url": "{{ _.base_url }}/v1/products/{{id}}",
      "headers": [
        {
          "name": "Authorization",
          "value": "Bearer {{access_token}}"
        },
        {
          "name": "X-Correlation-ID",
          "value": "{{correlation_id}}"
        },
        {
          "name": "X-Tenant-Context",
          "value": "{{tenant_context}}"
        },
        {
          "name": "Content-Type",
          "value": "application/json"
        }
      ],
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"status\": \"active\"\n}"
      },
      "parameters": []
    },
    {
      "_id": "req_axiom_10",
      "_type": "request",
      "parentId": "fld_product",
      "name": "Get coverage sections for a product",
      "description": "Retrieve all coverage sections (covers) defined for a product. Each cover\nincludes its sum insured, deductible, type (basic/optional/rider), and any\nassociated cover provision definitions and terms.",
      "method": "GET",
      "url": "{{ _.base_url }}/v1/products/{{id}}/covers",
      "headers": [
        {
          "name": "Authorization",
          "value": "Bearer {{access_token}}"
        },
        {
          "name": "X-Correlation-ID",
          "value": "{{correlation_id}}"
        },
        {
          "name": "X-Tenant-Context",
          "value": "{{tenant_context}}"
        }
      ],
      "body": {},
      "parameters": []
    },
    {
      "_id": "req_axiom_11",
      "_type": "request",
      "parentId": "fld_product",
      "name": "Add a coverage section (cover) to a product",
      "description": "CRS-3: add a cover to a draft product. The cover may carry nested\n`cover_items` (each with `terms`) and cover-level `cover_terms`, persisted\nas the full canonical cover.* row graph in one atomic transaction. Money\nboundaries are exact integer minor units with a lowercase ISO-4217 currency;\na monetary boundary missing its currency is rejected (422). Co-insurance\npanel splits (basis points) must sum to 10000bp (100%) or the request is\nrejected (422).",
      "method": "POST",
      "url": "{{ _.base_url }}/v1/products/{{id}}/covers",
      "headers": [
        {
          "name": "Authorization",
          "value": "Bearer {{access_token}}"
        },
        {
          "name": "X-Correlation-ID",
          "value": "{{correlation_id}}"
        },
        {
          "name": "X-Tenant-Context",
          "value": "{{tenant_context}}"
        },
        {
          "name": "Content-Type",
          "value": "application/json"
        }
      ],
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"code\": \"TPL-BODILY\",\n  \"name\": \"Third-Party Bodily Injury\",\n  \"type\": \"basic\"\n}"
      },
      "parameters": []
    },
    {
      "_id": "req_axiom_12",
      "_type": "request",
      "parentId": "fld_product",
      "name": "List product\u2194ruleset bindings (active and historical)",
      "description": "Returns the binding history for a product in deterministic order\n(effective_from DESC, created_at DESC, id DESC). Each item includes\n`ruleset_type` so callers can distinguish stages without re-querying.\n\nOptional `?ruleset_type=` filter narrows the response to a single\nstage. Unknown values are rejected with 400 INVALID_RULESET_TYPE\n(no silent empty-list).",
      "method": "GET",
      "url": "{{ _.base_url }}/v1/products/{{id}}/pricing-rules",
      "headers": [
        {
          "name": "Authorization",
          "value": "Bearer {{access_token}}"
        },
        {
          "name": "X-Correlation-ID",
          "value": "{{correlation_id}}"
        },
        {
          "name": "X-Tenant-Context",
          "value": "{{tenant_context}}"
        }
      ],
      "body": {},
      "parameters": [
        {
          "name": "ruleset_type",
          "value": "{{ruleset_type}}",
          "disabled": true
        }
      ]
    },
    {
      "_id": "req_axiom_13",
      "_type": "request",
      "parentId": "fld_product",
      "name": "Activate a draft product",
      "description": "Transition a product from draft to active status. The product must have at\nleast one cover and defined terms (with explicit validation bounds) before\nactivation.\n\nThis is a status-only transition: it does NOT re-persist the product's\ncover graph, so it never collides on existing covers (unlike a full\nPUT update). Side effects: persists the status change and emits a formal\nactivation explanation tree (governed contract).",
      "method": "POST",
      "url": "{{ _.base_url }}/v1/products/{{id}}/activate",
      "headers": [
        {
          "name": "Authorization",
          "value": "Bearer {{access_token}}"
        },
        {
          "name": "X-Correlation-ID",
          "value": "{{correlation_id}}"
        },
        {
          "name": "X-Tenant-Context",
          "value": "{{tenant_context}}"
        },
        {
          "name": "Content-Type",
          "value": "application/json"
        }
      ],
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"activated_by\": \"usr_3f8a\"\n}"
      },
      "parameters": []
    },
    {
      "_id": "req_axiom_14",
      "_type": "request",
      "parentId": "fld_policy",
      "name": "Create a new policy",
      "description": "Issue a new insurance policy under an active product. The policy is created in\n\"draft\" status by default. At least one party must be assigned (typically the\npolicyholder). Draft policies are not endorsement-eligible; use\n`POST /v1/policies/bind` to create an active, endorsement-eligible policy.\n\nThe product must be in \"active\" status before policies can be issued against it.\nThe effective date must not be in the past (backdating requires special permissions).\n\nSide effects: persists the policy in draft status with assigned parties; emits an audit entry recording the creation.",
      "method": "POST",
      "url": "{{ _.base_url }}/v1/policies",
      "headers": [
        {
          "name": "Authorization",
          "value": "Bearer {{access_token}}"
        },
        {
          "name": "X-Correlation-ID",
          "value": "{{correlation_id}}"
        },
        {
          "name": "X-Tenant-Context",
          "value": "{{tenant_context}}"
        },
        {
          "name": "Content-Type",
          "value": "application/json"
        }
      ],
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"attributes\": {\n    \"sum_insured\": 1000000,\n    \"territory\": \"UK\",\n    \"vehicle_make\": \"Volkswagen\",\n    \"vehicle_model\": \"Golf\",\n    \"vehicle_registration\": \"AB12 CDE\",\n    \"vehicle_year\": 2023\n  },\n  \"created_by\": \"agent-user-012\",\n  \"effective_date\": \"2026-04-01\",\n  \"expiry_date\": \"2027-03-31\",\n  \"parties\": [\n    {\n      \"party_id\": \"07805e66-69d7-5b42-a978-32729404b560\",\n      \"role\": \"policyholder\"\n    },\n    {\n      \"party_id\": \"07805e66-69d7-5b42-a978-32729404b560\",\n      \"role\": \"insured\"\n    }\n  ],\n  \"product_id\": \"e74fc507-ba17-5540-871a-0b04cdb6727b\"\n}"
      },
      "parameters": []
    },
    {
      "_id": "req_axiom_15",
      "_type": "request",
      "parentId": "fld_policy",
      "name": "List policies",
      "description": "Retrieve a cursor-paginated list of policies for the tenant.\nResults are sorted by most-recently-recorded first. Sort order is not configurable.\nLegacy `limit` and `offset` query parameters are rejected.\n\nReturns policies across all statuses (draft, issued, active, terminated).",
      "method": "GET",
      "url": "{{ _.base_url }}/v1/policies",
      "headers": [
        {
          "name": "Authorization",
          "value": "Bearer {{access_token}}"
        },
        {
          "name": "X-Correlation-ID",
          "value": "{{correlation_id}}"
        },
        {
          "name": "X-Tenant-Context",
          "value": "{{tenant_context}}"
        }
      ],
      "body": {},
      "parameters": [
        {
          "name": "page[size]",
          "value": "{{page[size]}}",
          "disabled": true
        },
        {
          "name": "page[after]",
          "value": "{{page[after]}}",
          "disabled": true
        },
        {
          "name": "party_id",
          "value": "{{party_id}}",
          "disabled": true
        }
      ]
    },
    {
      "_id": "req_axiom_16",
      "_type": "request",
      "parentId": "fld_policy",
      "name": "Bind Policy",
      "description": "Bind parties to covers through an active policy version. This contract is the primary policy-creation operation \u2014 it reads party and product/cover context, creates an immutable policy version, and conditionally triggers premium effects. Requires idempotency: callers must supply an idempotency key to prevent duplicate policy creation on retry.",
      "method": "POST",
      "url": "{{ _.base_url }}/v1/policies/bind",
      "headers": [
        {
          "name": "Authorization",
          "value": "Bearer {{access_token}}"
        },
        {
          "name": "X-Correlation-ID",
          "value": "{{correlation_id}}"
        },
        {
          "name": "X-Tenant-Context",
          "value": "{{tenant_context}}"
        },
        {
          "name": "Content-Type",
          "value": "application/json"
        }
      ],
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"bound_by\": \"string\",\n  \"parties\": [\n    {\n      \"party_id\": \"string\",\n      \"role\": \"policyholder\"\n    }\n  ],\n  \"payment_method\": \"string\"\n}"
      },
      "parameters": []
    },
    {
      "_id": "req_axiom_17",
      "_type": "request",
      "parentId": "fld_policy",
      "name": "Get a policy by ID",
      "description": "Retrieve a single policy with its full details including assigned parties\nand premium schedule.",
      "method": "GET",
      "url": "{{ _.base_url }}/v1/policies/{{id}}",
      "headers": [
        {
          "name": "Authorization",
          "value": "Bearer {{access_token}}"
        },
        {
          "name": "X-Correlation-ID",
          "value": "{{correlation_id}}"
        },
        {
          "name": "X-Tenant-Context",
          "value": "{{tenant_context}}"
        }
      ],
      "body": {},
      "parameters": []
    },
    {
      "_id": "req_axiom_18",
      "_type": "request",
      "parentId": "fld_policy",
      "name": "Create a new policy version",
      "description": "Create a new version snapshot of the policy. Policy versions provide an immutable\nrecord of the policy state at each point in time, supporting \"as-was\" semantics\nrequired for claims adjudication and regulatory reporting.\n\nEach version captures the complete policy state including attributes, parties,\nand coverage details at the time of creation.\n\nSide effects: not yet implemented. Returns 501.",
      "method": "POST",
      "url": "{{ _.base_url }}/v1/policies/{{id}}/versions",
      "headers": [
        {
          "name": "Authorization",
          "value": "Bearer {{access_token}}"
        },
        {
          "name": "X-Correlation-ID",
          "value": "{{correlation_id}}"
        },
        {
          "name": "X-Tenant-Context",
          "value": "{{tenant_context}}"
        },
        {
          "name": "Content-Type",
          "value": "application/json"
        }
      ],
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"created_by\": \"underwriter-user-003\",\n  \"effective_date\": \"2026-06-01\",\n  \"reason\": \"Mid-term adjustment \\u2014 sum insured increase from 250,000 to 300,000\"\n}"
      },
      "parameters": []
    },
    {
      "_id": "req_axiom_19",
      "_type": "request",
      "parentId": "fld_policy",
      "name": "List policy version snapshots",
      "description": "Return every immutable version snapshot for the policy, ordered by\nversion_number ascending.",
      "method": "GET",
      "url": "{{ _.base_url }}/v1/policies/{{id}}/versions",
      "headers": [
        {
          "name": "Authorization",
          "value": "Bearer {{access_token}}"
        },
        {
          "name": "X-Correlation-ID",
          "value": "{{correlation_id}}"
        },
        {
          "name": "X-Tenant-Context",
          "value": "{{tenant_context}}"
        }
      ],
      "body": {},
      "parameters": []
    },
    {
      "_id": "req_axiom_20",
      "_type": "request",
      "parentId": "fld_policy",
      "name": "Issue a draft policy",
      "description": "Transition a policy from draft to issued status. The policy must have at\nleast one party with the policyholder role assigned.\n\nSide effects: persists the status change and emits an audit entry with\noperation code policy.issue in a single transaction.",
      "method": "POST",
      "url": "{{ _.base_url }}/v1/policies/{{id}}/issue",
      "headers": [
        {
          "name": "Authorization",
          "value": "Bearer {{access_token}}"
        },
        {
          "name": "X-Correlation-ID",
          "value": "{{correlation_id}}"
        },
        {
          "name": "X-Tenant-Context",
          "value": "{{tenant_context}}"
        },
        {
          "name": "Content-Type",
          "value": "application/json"
        }
      ],
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"issued_by\": \"string\"\n}"
      },
      "parameters": []
    },
    {
      "_id": "req_axiom_21",
      "_type": "request",
      "parentId": "fld_policy",
      "name": "Activate an issued policy",
      "description": "Transition a policy from issued to active status. The policy's effective\ndate must be in the past or present (effective_date <= now).\n\nSide effects: persists the status change and emits an audit entry with\noperation code policy.activate in a single transaction.",
      "method": "POST",
      "url": "{{ _.base_url }}/v1/policies/{{id}}/activate",
      "headers": [
        {
          "name": "Authorization",
          "value": "Bearer {{access_token}}"
        },
        {
          "name": "X-Correlation-ID",
          "value": "{{correlation_id}}"
        },
        {
          "name": "X-Tenant-Context",
          "value": "{{tenant_context}}"
        },
        {
          "name": "Content-Type",
          "value": "application/json"
        }
      ],
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"activated_by\": \"string\"\n}"
      },
      "parameters": []
    },
    {
      "_id": "req_axiom_22",
      "_type": "request",
      "parentId": "fld_policy",
      "name": "Create a policy endorsement",
      "description": "Submit an endorsement (mid-term adjustment) to an **active** policy. Endorsements\nrecord structured changes to the policy terms, coverage, or parties.\nThe policy must be in `active` status; endorsing a `draft` or other non-active\npolicy returns HTTP 422 with code `INVALID_STATE_TRANSITION`.\n\nEach endorsement receives a sequential number within the policy (END-001, END-002, etc.)\nand triggers the creation of a new policy version when applied.\n\nSide effects: creates a new immutable policy version and persists party-role\nchanges when `change_type=parties`. Emits an audit entry when audit is configured.\n\nCommon endorsement types:\n- amendment: Modify existing terms (e.g. change address, increase sum insured)\n- addition: Add new coverage or parties\n- deletion: Remove coverage or parties\n- correction: Fix data entry errors",
      "method": "POST",
      "url": "{{ _.base_url }}/v1/policies/{{id}}/endorsements",
      "headers": [
        {
          "name": "Authorization",
          "value": "Bearer {{access_token}}"
        },
        {
          "name": "X-Correlation-ID",
          "value": "{{correlation_id}}"
        },
        {
          "name": "X-Tenant-Context",
          "value": "{{tenant_context}}"
        },
        {
          "name": "Content-Type",
          "value": "application/json"
        }
      ],
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"change_type\": \"coverages\",\n  \"description\": \"Increase vehicle insured value following market revaluation\",\n  \"endorsed_by\": \"underwriter-user-003\",\n  \"updated_attributes\": {\n    \"monthly_premium\": {\n      \"from\": 1850,\n      \"to\": 2150\n    },\n    \"sum_insured\": {\n      \"from\": 350000,\n      \"to\": 420000\n    }\n  }\n}"
      },
      "parameters": []
    },
    {
      "_id": "req_axiom_23",
      "_type": "request",
      "parentId": "fld_policy",
      "name": "List policy endorsements",
      "description": "Return the policy's endorsements, ordered by version_number ascending.\nEndorsements are stored as policy version snapshots (no separate entity);\nthis list is the policy's versions filtered to version_type == endorsement.",
      "method": "GET",
      "url": "{{ _.base_url }}/v1/policies/{{id}}/endorsements",
      "headers": [
        {
          "name": "Authorization",
          "value": "Bearer {{access_token}}"
        },
        {
          "name": "X-Correlation-ID",
          "value": "{{correlation_id}}"
        },
        {
          "name": "X-Tenant-Context",
          "value": "{{tenant_context}}"
        }
      ],
      "body": {},
      "parameters": []
    },
    {
      "_id": "req_axiom_24",
      "_type": "request",
      "parentId": "fld_policy",
      "name": "Get member certificate projection",
      "description": "Retrieve a read-only certificate of insurance for a specific member on a\ngroup policy. Resolves the effective policy version and active roles at the\n`as_of` timestamp (defaults to now). Returns the master policy_id, party_id,\nrole list, effectivity window, and pinned version_id.\n\nNo persistence side effects \u2014 this is a pure read projection.\n\nReturns 404 if the party is unknown or inactive at the given `as_of` time.",
      "method": "GET",
      "url": "{{ _.base_url }}/v1/policies/{{id}}/certificates/{{party_id}}",
      "headers": [
        {
          "name": "Authorization",
          "value": "Bearer {{access_token}}"
        },
        {
          "name": "X-Correlation-ID",
          "value": "{{correlation_id}}"
        },
        {
          "name": "X-Tenant-Context",
          "value": "{{tenant_context}}"
        }
      ],
      "body": {},
      "parameters": [
        {
          "name": "as_of",
          "value": "{{as_of}}",
          "disabled": true
        }
      ]
    },
    {
      "_id": "req_axiom_25",
      "_type": "request",
      "parentId": "fld_policy",
      "name": "Create a new quote",
      "description": "Creates a persisted premium calculation (quote) with a 30-minute TTL.\nExactly one of pricing_snapshot_id, products, or product_id must be provided.",
      "method": "POST",
      "url": "{{ _.base_url }}/v1/quotes",
      "headers": [
        {
          "name": "Authorization",
          "value": "Bearer {{access_token}}"
        },
        {
          "name": "X-Correlation-ID",
          "value": "{{correlation_id}}"
        },
        {
          "name": "X-Tenant-Context",
          "value": "{{tenant_context}}"
        },
        {
          "name": "Content-Type",
          "value": "application/json"
        }
      ],
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"effective_date\": \"2026-04-01\",\n  \"expiry_date\": \"2027-04-01\"\n}"
      },
      "parameters": []
    },
    {
      "_id": "req_axiom_26",
      "_type": "request",
      "parentId": "fld_policy",
      "name": "List quotes by comparison reference",
      "description": "Returns all quotes for a given comparison_ref, ordered by created_at DESC.\nTenant-scoped to prevent cross-tenant leakage.",
      "method": "GET",
      "url": "{{ _.base_url }}/v1/quotes",
      "headers": [
        {
          "name": "Authorization",
          "value": "Bearer {{access_token}}"
        },
        {
          "name": "X-Correlation-ID",
          "value": "{{correlation_id}}"
        },
        {
          "name": "X-Tenant-Context",
          "value": "{{tenant_context}}"
        }
      ],
      "body": {},
      "parameters": [
        {
          "name": "comparison_ref",
          "value": "{{comparison_ref}}",
          "disabled": true
        }
      ]
    },
    {
      "_id": "req_axiom_27",
      "_type": "request",
      "parentId": "fld_policy",
      "name": "Retrieve a quote by ID",
      "description": "Returns the persisted quote if active. Returns 404 for unknown IDs\n(including cross-tenant lookups) and 410 Gone for expired quotes.",
      "method": "GET",
      "url": "{{ _.base_url }}/v1/quotes/{{id}}",
      "headers": [
        {
          "name": "Authorization",
          "value": "Bearer {{access_token}}"
        },
        {
          "name": "X-Correlation-ID",
          "value": "{{correlation_id}}"
        },
        {
          "name": "X-Tenant-Context",
          "value": "{{tenant_context}}"
        }
      ],
      "body": {},
      "parameters": []
    },
    {
      "_id": "req_axiom_28",
      "_type": "request",
      "parentId": "fld_policy",
      "name": "Approve a quote (indicative to firm)",
      "description": "Transitions a quote from indicative to firm status.\nRequires actor attribution (governed contract).",
      "method": "POST",
      "url": "{{ _.base_url }}/v1/quotes/{{id}}/approve",
      "headers": [
        {
          "name": "Authorization",
          "value": "Bearer {{access_token}}"
        },
        {
          "name": "X-Correlation-ID",
          "value": "{{correlation_id}}"
        },
        {
          "name": "X-Tenant-Context",
          "value": "{{tenant_context}}"
        }
      ],
      "body": {},
      "parameters": []
    },
    {
      "_id": "req_axiom_29",
      "_type": "request",
      "parentId": "fld_policy",
      "name": "Decline a quote",
      "description": "Transitions a quote to declined status. Requires a reason_code.\nRequires actor attribution (governed contract).",
      "method": "POST",
      "url": "{{ _.base_url }}/v1/quotes/{{id}}/decline",
      "headers": [
        {
          "name": "Authorization",
          "value": "Bearer {{access_token}}"
        },
        {
          "name": "X-Correlation-ID",
          "value": "{{correlation_id}}"
        },
        {
          "name": "X-Tenant-Context",
          "value": "{{tenant_context}}"
        },
        {
          "name": "Content-Type",
          "value": "application/json"
        }
      ],
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"reason_code\": \"string\"\n}"
      },
      "parameters": []
    },
    {
      "_id": "req_axiom_30",
      "_type": "request",
      "parentId": "fld_policy",
      "name": "Bind a firm quote to create a policy",
      "description": "Binds a firm quote, creating a policy, premium allocation, ledger entries,\nand explanation tree. Only firm quotes can be bound.\nRequires actor attribution (governed contract).",
      "method": "POST",
      "url": "{{ _.base_url }}/v1/quotes/{{id}}/bind",
      "headers": [
        {
          "name": "Authorization",
          "value": "Bearer {{access_token}}"
        },
        {
          "name": "X-Correlation-ID",
          "value": "{{correlation_id}}"
        },
        {
          "name": "X-Tenant-Context",
          "value": "{{tenant_context}}"
        },
        {
          "name": "Content-Type",
          "value": "application/json"
        }
      ],
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"bound_by\": \"string\",\n  \"payment_method\": \"string\"\n}"
      },
      "parameters": []
    },
    {
      "_id": "req_axiom_31",
      "_type": "request",
      "parentId": "fld_policy",
      "name": "Get quote supersession chain",
      "description": "Returns the full supersession chain for a quote, ordered oldest-first.\nWalks backward through supersedes_quote_id links and reverses.",
      "method": "GET",
      "url": "{{ _.base_url }}/v1/quotes/{{id}}/chain",
      "headers": [
        {
          "name": "Authorization",
          "value": "Bearer {{access_token}}"
        },
        {
          "name": "X-Correlation-ID",
          "value": "{{correlation_id}}"
        },
        {
          "name": "X-Tenant-Context",
          "value": "{{tenant_context}}"
        }
      ],
      "body": {},
      "parameters": []
    },
    {
      "_id": "fld_premium",
      "_type": "request_group",
      "parentId": "wrk_axiom_api_0_1_1",
      "name": "Premium"
    },
    {
      "_id": "req_axiom_32",
      "_type": "request",
      "parentId": "fld_premium",
      "name": "Get Proration Balance",
      "description": "Read a tenant-owned policy-scoped balance derived from accepted proration decision components for implemented governed contract proration consumers. Slice 1 supports fund and earning balances; treaty-scoped reinsurance balances fail closed until governed treaty authority exists.",
      "method": "GET",
      "url": "{{ _.base_url }}/v1/premiums/proration-balances",
      "headers": [
        {
          "name": "Authorization",
          "value": "Bearer {{access_token}}"
        },
        {
          "name": "X-Correlation-ID",
          "value": "{{correlation_id}}"
        },
        {
          "name": "X-Tenant-Context",
          "value": "{{tenant_context}}"
        }
      ],
      "body": {},
      "parameters": [
        {
          "name": "policy_id",
          "value": "{{policy_id}}",
          "disabled": true
        },
        {
          "name": "consumer",
          "value": "{{consumer}}",
          "disabled": true
        },
        {
          "name": "period_start",
          "value": "{{period_start}}",
          "disabled": true
        },
        {
          "name": "period_end",
          "value": "{{period_end}}",
          "disabled": true
        },
        {
          "name": "fund_account_code",
          "value": "{{fund_account_code}}",
          "disabled": true
        },
        {
          "name": "account_code",
          "value": "{{account_code}}",
          "disabled": true
        },
        {
          "name": "earning_period_key",
          "value": "{{earning_period_key}}",
          "disabled": true
        },
        {
          "name": "decompose",
          "value": "{{decompose}}",
          "disabled": true
        }
      ]
    }
  ]
}
