{
  "info": {
    "name": "Axiom API 0.1.1 - Parties",
    "description": "Generated from the public Axiom OpenAPI 0.1.1 contract. Use issued credentials and server-minted tenant context for admitted calls.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "item": [
    {
      "name": "Party",
      "item": [
        {
          "name": "List distinct active role types",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}",
                "type": "text"
              },
              {
                "key": "X-Correlation-ID",
                "value": "{{correlation_id}}",
                "type": "text"
              },
              {
                "key": "X-Tenant-Context",
                "value": "{{tenant_context}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/parties/role-types",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "parties",
                "role-types"
              ],
              "description": "Set base_url from the issued developer-preview access pack."
            },
            "description": "Returns the distinct role types that have at least one active (non-revoked) assignment\nfor the current tenant. Used by applications to dynamically build navigation based on\nwhat role types exist in the data."
          }
        },
        {
          "name": "Role-type usage counts",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}",
                "type": "text"
              },
              {
                "key": "X-Correlation-ID",
                "value": "{{correlation_id}}",
                "type": "text"
              },
              {
                "key": "X-Tenant-Context",
                "value": "{{tenant_context}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/parties/role-types/usage",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "parties",
                "role-types",
                "usage"
              ],
              "description": "Set base_url from the issued developer-preview access pack."
            },
            "description": "Returns each role type that has at least one active (non-revoked)\nassignment for the tenant, with the count of holders. Role types in the\nregistry with zero holders are not returned \u2014 pair with\n`GET /v1/parties/role-types` to render \"available but unused\" rows."
          }
        },
        {
          "name": "Register Party",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}",
                "type": "text"
              },
              {
                "key": "X-Correlation-ID",
                "value": "{{correlation_id}}",
                "type": "text"
              },
              {
                "key": "X-Tenant-Context",
                "value": "{{tenant_context}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/parties",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "parties"
              ],
              "description": "Set base_url from the issued developer-preview access pack."
            },
            "description": "Register a party identity record that may later carry roles. A party is the foundational Axiom primitive anchoring all relationships \u2014 to covers, policies, premiums, and events. This contract creates the identity record; role assignment is a separate operation.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"attributes\": {\n    \"email\": \"t.yamamoto@example.jp\",\n    \"first_name\": \"Takeshi\",\n    \"last_name\": \"Yamamoto\",\n    \"phone\": \"+81312345678\"\n  },\n  \"party_type\": \"individual\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "List parties",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}",
                "type": "text"
              },
              {
                "key": "X-Correlation-ID",
                "value": "{{correlation_id}}",
                "type": "text"
              },
              {
                "key": "X-Tenant-Context",
                "value": "{{tenant_context}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/parties",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "parties"
              ],
              "query": [
                {
                  "key": "page[size]",
                  "value": "{{page[size]}}",
                  "disabled": true
                },
                {
                  "key": "page[after]",
                  "value": "{{page[after]}}",
                  "disabled": true
                },
                {
                  "key": "source_system",
                  "value": "{{source_system}}",
                  "disabled": true
                },
                {
                  "key": "external_id",
                  "value": "{{external_id}}",
                  "disabled": true
                }
              ],
              "description": "Set base_url from the issued developer-preview access pack."
            },
            "description": "Retrieve a paginated list of parties for the tenant.\nResults are sorted by created_at descending. Sort order is not configurable.\n\nSupports cursor-based pagination via page[size] and page[after] query parameters."
          }
        },
        {
          "name": "Get a party by ID",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}",
                "type": "text"
              },
              {
                "key": "X-Correlation-ID",
                "value": "{{correlation_id}}",
                "type": "text"
              },
              {
                "key": "X-Tenant-Context",
                "value": "{{tenant_context}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/parties/{{id}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "parties",
                "{{id}}"
              ],
              "query": [
                {
                  "key": "as_of",
                  "value": "{{as_of}}",
                  "disabled": true
                },
                {
                  "key": "recorded_at",
                  "value": "{{recorded_at}}",
                  "disabled": true
                }
              ],
              "description": "Set base_url from the issued developer-preview access pack."
            },
            "description": "Retrieve a single party by its unique identifier, including any assigned roles.\nWhen as_of or recorded_at is supplied, the response replays the party from\nthe immutable party history substrate using effective time and recorded time\nas-was semantics."
          }
        },
        {
          "name": "Update a party",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}",
                "type": "text"
              },
              {
                "key": "X-Correlation-ID",
                "value": "{{correlation_id}}",
                "type": "text"
              },
              {
                "key": "X-Tenant-Context",
                "value": "{{tenant_context}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/parties/{{id}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "parties",
                "{{id}}"
              ],
              "description": "Set base_url from the issued developer-preview access pack."
            },
            "description": "Update an existing party's attributes and/or status.\nAttribute updates are merged with existing attributes (partial update semantics).\n\nSide effects: updates the party record; emits an audit entry recording the change.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"external_id\": \"BRK-000124\",\n  \"source_system\": \"broker_crm\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Get roles assigned to a party",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}",
                "type": "text"
              },
              {
                "key": "X-Correlation-ID",
                "value": "{{correlation_id}}",
                "type": "text"
              },
              {
                "key": "X-Tenant-Context",
                "value": "{{tenant_context}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/parties/{{id}}/roles",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "parties",
                "{{id}}",
                "roles"
              ],
              "description": "Set base_url from the issued developer-preview access pack."
            },
            "description": "Retrieve all role assignments for a party across policies, claims, and other entities.\nEach role includes the context (entity type and ID) it is scoped to."
          }
        },
        {
          "name": "Assign a role to a party",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}",
                "type": "text"
              },
              {
                "key": "X-Correlation-ID",
                "value": "{{correlation_id}}",
                "type": "text"
              },
              {
                "key": "X-Tenant-Context",
                "value": "{{tenant_context}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/parties/{{id}}/roles",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "parties",
                "{{id}}",
                "roles"
              ],
              "description": "Set base_url from the issued developer-preview access pack."
            },
            "description": "Assign a new role to a party, scoped to a specific entity (e.g. a policy,\nclaim, product, organization, policy item, or PartyGroup). For sponsor\nrole assignments on a group context, the sponsor remains the Party role\nassignee and the PartyGroup is identified by entity_type=group/entity_id.\nOnly one active sponsor is allowed per tenant/group context; duplicate\nactive sponsor attempts return SPONSOR_CARDINALITY_VIOLATED (HTTP 409).\n\nA party can hold multiple roles simultaneously, and the same party can hold\ndifferent roles on different entities.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"assigned_by\": \"string\",\n  \"entity_id\": \"string\",\n  \"entity_type\": \"policy\",\n  \"role_type\": \"policyholder\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "List contacts for a party",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}",
                "type": "text"
              },
              {
                "key": "X-Correlation-ID",
                "value": "{{correlation_id}}",
                "type": "text"
              },
              {
                "key": "X-Tenant-Context",
                "value": "{{tenant_context}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/parties/{{id}}/contacts",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "parties",
                "{{id}}",
                "contacts"
              ],
              "description": "Set base_url from the issued developer-preview access pack."
            },
            "description": "Retrieve all contact records associated with a party. A party may have multiple\ncontacts (e.g. personal email, work email, mobile, landline)."
          }
        },
        {
          "name": "Add a contact to a party",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}",
                "type": "text"
              },
              {
                "key": "X-Correlation-ID",
                "value": "{{correlation_id}}",
                "type": "text"
              },
              {
                "key": "X-Tenant-Context",
                "value": "{{tenant_context}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/parties/{{id}}/contacts",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "parties",
                "{{id}}",
                "contacts"
              ],
              "description": "Set base_url from the issued developer-preview access pack."
            },
            "description": "Create a new contact record for a party. Each contact includes an email address,\nphone number, and/or preferred contact method. Parties in opted_out status reject\nnew contact capture with a 409 while historical contact reads remain available.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"email\": \"string\",\n  \"phone\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Update a party contact",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}",
                "type": "text"
              },
              {
                "key": "X-Correlation-ID",
                "value": "{{correlation_id}}",
                "type": "text"
              },
              {
                "key": "X-Tenant-Context",
                "value": "{{tenant_context}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/parties/{{id}}/contacts/{{contactId}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "parties",
                "{{id}}",
                "contacts",
                "{{contactId}}"
              ],
              "description": "Set base_url from the issued developer-preview access pack."
            },
            "description": "Update an existing contact record for a party.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"email\": \"string\",\n  \"phone\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Delete a party contact",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}",
                "type": "text"
              },
              {
                "key": "X-Correlation-ID",
                "value": "{{correlation_id}}",
                "type": "text"
              },
              {
                "key": "X-Tenant-Context",
                "value": "{{tenant_context}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/parties/{{id}}/contacts/{{contactId}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "parties",
                "{{id}}",
                "contacts",
                "{{contactId}}"
              ],
              "description": "Set base_url from the issued developer-preview access pack."
            },
            "description": "Remove a contact record from a party."
          }
        },
        {
          "name": "List identity documents for a party",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}",
                "type": "text"
              },
              {
                "key": "X-Correlation-ID",
                "value": "{{correlation_id}}",
                "type": "text"
              },
              {
                "key": "X-Tenant-Context",
                "value": "{{tenant_context}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/parties/{{id}}/identities",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "parties",
                "{{id}}",
                "identities"
              ],
              "description": "Set base_url from the issued developer-preview access pack."
            },
            "description": "Retrieve all identity documents associated with a party (e.g. passport, national ID,\ntax number, company registration). Each identity has a verification status."
          }
        },
        {
          "name": "Add an identity document to a party",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}",
                "type": "text"
              },
              {
                "key": "X-Correlation-ID",
                "value": "{{correlation_id}}",
                "type": "text"
              },
              {
                "key": "X-Tenant-Context",
                "value": "{{tenant_context}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/parties/{{id}}/identities",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "parties",
                "{{id}}",
                "identities"
              ],
              "description": "Set base_url from the issued developer-preview access pack."
            },
            "description": "Register a new identity document for a party. The identity is created in\n\"unverified\" status and must be verified separately via the verify endpoint.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"identity_type\": \"string\",\n  \"identity_value\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Verify a party identity document",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}",
                "type": "text"
              },
              {
                "key": "X-Correlation-ID",
                "value": "{{correlation_id}}",
                "type": "text"
              },
              {
                "key": "X-Tenant-Context",
                "value": "{{tenant_context}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/parties/{{id}}/identities/{{identityId}}/verify",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "parties",
                "{{id}}",
                "identities",
                "{{identityId}}",
                "verify"
              ],
              "description": "Set base_url from the issued developer-preview access pack."
            },
            "description": "Mark an identity document as verified. This records the verification timestamp\nand transitions the identity status from \"unverified\" to \"verified\".",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"verification_method\": \"string\",\n  \"verified_by\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "List relationships for a party",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}",
                "type": "text"
              },
              {
                "key": "X-Correlation-ID",
                "value": "{{correlation_id}}",
                "type": "text"
              },
              {
                "key": "X-Tenant-Context",
                "value": "{{tenant_context}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/parties/{{id}}/relationships",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "parties",
                "{{id}}",
                "relationships"
              ],
              "query": [
                {
                  "key": "view",
                  "value": "{{view}}",
                  "disabled": true
                },
                {
                  "key": "as_of",
                  "value": "{{as_of}}",
                  "disabled": true
                },
                {
                  "key": "relationship_type",
                  "value": "{{relationship_type}}",
                  "disabled": true
                },
                {
                  "key": "max_depth",
                  "value": "{{max_depth}}",
                  "disabled": true
                }
              ],
              "description": "Set base_url from the issued developer-preview access pack."
            },
            "description": "Retrieve relationships for a party. The view parameter selects the response shape:\n\n- list (default): returns all active relationships as a flat array of relationship objects.\n- distribution_chain: traverses the distribution chain from this party, returning\n  participants and an explanation tree (governed contract).\n\nAn unrecognised view value returns 400 INVALID_REQUEST under the governed contract."
          }
        },
        {
          "name": "Create a relationship between two parties",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}",
                "type": "text"
              },
              {
                "key": "X-Correlation-ID",
                "value": "{{correlation_id}}",
                "type": "text"
              },
              {
                "key": "X-Tenant-Context",
                "value": "{{tenant_context}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/parties/{{id}}/relationships",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "parties",
                "{{id}}",
                "relationships"
              ],
              "description": "Set base_url from the issued developer-preview access pack."
            },
            "description": "Creates a directed relationship from the identified party (from_party_id) to another\nparty (to_party_id). On success, returns 201 Created with the new relationship resource.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"relationship_type\": \"string\",\n  \"to_party_id\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Delete (deactivate) a party relationship",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}",
                "type": "text"
              },
              {
                "key": "X-Correlation-ID",
                "value": "{{correlation_id}}",
                "type": "text"
              },
              {
                "key": "X-Tenant-Context",
                "value": "{{tenant_context}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/parties/{{id}}/relationships/{{relId}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "parties",
                "{{id}}",
                "relationships",
                "{{relId}}"
              ],
              "description": "Set base_url from the issued developer-preview access pack."
            },
            "description": "Temporally deactivates a relationship by setting its effective_to to now.\nIdempotent \u2014 deactivating an already inactive relationship returns 204.\n\nBody `{\"reason\": \"...\"}` is required (non-blank after trim) per .\nBlank reason returns 400 PARTY_DEACTIVATION_REASON_REQUIRED.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"reason\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "List party groups containing this party",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}",
                "type": "text"
              },
              {
                "key": "X-Correlation-ID",
                "value": "{{correlation_id}}",
                "type": "text"
              },
              {
                "key": "X-Tenant-Context",
                "value": "{{tenant_context}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/parties/{{id}}/party-groups",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "parties",
                "{{id}}",
                "party-groups"
              ],
              "query": [
                {
                  "key": "as_of",
                  "value": "{{as_of}}",
                  "disabled": true
                }
              ],
              "description": "Set base_url from the issued developer-preview access pack."
            },
            "description": "Inverse projection \u2014 returns the groups the given party is a member\nof as of `as_of`. Distinct from `/v1/parties/:id/groups` which\nreturns Policy Group (governed contract) memberships."
          }
        },
        {
          "name": "List the policy-driven groups a party belongs to",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}",
                "type": "text"
              },
              {
                "key": "X-Correlation-ID",
                "value": "{{correlation_id}}",
                "type": "text"
              },
              {
                "key": "X-Tenant-Context",
                "value": "{{tenant_context}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/parties/{{id}}/groups",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "parties",
                "{{id}}",
                "groups"
              ],
              "query": [
                {
                  "key": "as_of",
                  "value": "{{as_of}}",
                  "disabled": true
                }
              ],
              "description": "Set base_url from the issued developer-preview access pack."
            },
            "description": "Returns the **transitive** policy-group membership view for a party: the\ngroups the party belongs to by virtue of a policy binding, each annotated\nwith the `via_policy_id` that confers the membership. This is distinct\nfrom `/v1/parties/{id}/party-groups` (first-class, directly-assigned\nparty-group memberships) \u2014 here membership is derived from policy\nparticipation, not a direct grouping assignment.\n\nPoint-in-time: pass `as_of` (RFC3339) to resolve membership as it stood at\nthat instant; defaults to now."
          }
        },
        {
          "name": "List payments for a party",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}",
                "type": "text"
              },
              {
                "key": "X-Correlation-ID",
                "value": "{{correlation_id}}",
                "type": "text"
              },
              {
                "key": "X-Tenant-Context",
                "value": "{{tenant_context}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/parties/{{id}}/payments",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "parties",
                "{{id}}",
                "payments"
              ],
              "query": [
                {
                  "key": "page[size]",
                  "value": "{{page[size]}}",
                  "disabled": true
                },
                {
                  "key": "page[after]",
                  "value": "{{page[after]}}",
                  "disabled": true
                }
              ],
              "description": "Set base_url from the issued developer-preview access pack."
            },
            "description": "Retrieves a paginated list of payments associated with a specific party.\nReturns only payments explicitly linked to the party via `party_id`.\nPayments without party linkage (null `party_id`) are excluded.\n\nResults are sorted by created_at descending with id as a stable\ntie-breaker. Use `page[size]` and `page[after]` for pagination. Legacy\n`limit` and `offset` query parameters are rejected."
          }
        },
        {
          "name": "Chronological audit feed for a party",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}",
                "type": "text"
              },
              {
                "key": "X-Correlation-ID",
                "value": "{{correlation_id}}",
                "type": "text"
              },
              {
                "key": "X-Tenant-Context",
                "value": "{{tenant_context}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/parties/{{id}}/audit",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "parties",
                "{{id}}",
                "audit"
              ],
              "query": [
                {
                  "key": "page[size]",
                  "value": "{{page[size]}}",
                  "disabled": true
                },
                {
                  "key": "page[after]",
                  "value": "{{page[after]}}",
                  "disabled": true
                }
              ],
              "description": "Set base_url from the issued developer-preview access pack."
            },
            "description": "Returns the per-party audit feed in chronological order\n(`performed_at DESC`). Each event carries governed contract actor attribution\n(`actor_id` / `actor_type` / `actor_original_id`) regardless of\nwriter path. The reader merges persistence-managed records and application writes\nso the consumer sees a single shape.\n\nExplanation enrichment fields (`decision_id`, `rule_versions`,\n`inputs`) are populated for rules-evaluation records only and\nempty otherwise (preview placeholder).\n\nUse `page[size]` and `page[after]` for cursor pagination. Legacy\n`limit` and `offset` query parameters are rejected by the runtime."
          }
        }
      ]
    },
    {
      "name": "Party Group",
      "item": [
        {
          "name": "Chronological audit feed for a party group",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}",
                "type": "text"
              },
              {
                "key": "X-Correlation-ID",
                "value": "{{correlation_id}}",
                "type": "text"
              },
              {
                "key": "X-Tenant-Context",
                "value": "{{tenant_context}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/party-groups/{{id}}/audit",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "party-groups",
                "{{id}}",
                "audit"
              ],
              "query": [
                {
                  "key": "page[size]",
                  "value": "{{page[size]}}",
                  "disabled": true
                },
                {
                  "key": "page[after]",
                  "value": "{{page[after]}}",
                  "disabled": true
                }
              ],
              "description": "Set base_url from the issued developer-preview access pack."
            },
            "description": "Returns the per-group audit feed in chronological order\n(`performed_at DESC`). party_groups + party_group_memberships have\nno persistence-managed records, so every row is generated by the\napplication's `NewAuditRecord` path with a `party.group_*`\noperation code.\n\nResponse shape mirrors `/v1/parties/{id}/audit` \u2014 see that endpoint\nfor the full `AuditEntry` field list.\n\nUse `page[size]` and `page[after]` for cursor pagination. Legacy\n`limit` and `offset` query parameters are rejected by the runtime."
          }
        },
        {
          "name": "List party groups",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}",
                "type": "text"
              },
              {
                "key": "X-Correlation-ID",
                "value": "{{correlation_id}}",
                "type": "text"
              },
              {
                "key": "X-Tenant-Context",
                "value": "{{tenant_context}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/party-groups",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "party-groups"
              ],
              "query": [
                {
                  "key": "page[size]",
                  "value": "{{page[size]}}",
                  "disabled": true
                },
                {
                  "key": "page[after]",
                  "value": "{{page[after]}}",
                  "disabled": true
                },
                {
                  "key": "q",
                  "value": "{{q}}",
                  "disabled": true
                }
              ],
              "description": "Set base_url from the issued developer-preview access pack."
            },
            "description": "Returns party groups for the tenant with cursor pagination. Results are\nordered by created_at descending with id as a stable tiebreaker. Supports\na free-text search via `q` (3-character minimum under the governed contract)."
          }
        },
        {
          "name": "Create a party group",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}",
                "type": "text"
              },
              {
                "key": "X-Correlation-ID",
                "value": "{{correlation_id}}",
                "type": "text"
              },
              {
                "key": "X-Tenant-Context",
                "value": "{{tenant_context}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/party-groups",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "party-groups"
              ],
              "description": "Set base_url from the issued developer-preview access pack."
            },
            "description": "Creates a static or dynamic party group. For dynamic groups,\n`membership_rule_id` is required and must reference a rule of type\n`party_grouping` in the shared rules catalog (fail-loud; 400 on\ninvalid reference). Idempotent via standard Idempotency-Key header.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"display_name\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Get a party group with its active members",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}",
                "type": "text"
              },
              {
                "key": "X-Correlation-ID",
                "value": "{{correlation_id}}",
                "type": "text"
              },
              {
                "key": "X-Tenant-Context",
                "value": "{{tenant_context}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/party-groups/{{id}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "party-groups",
                "{{id}}"
              ],
              "query": [
                {
                  "key": "as_of",
                  "value": "{{as_of}}",
                  "disabled": true
                }
              ],
              "description": "Set base_url from the issued developer-preview access pack."
            },
            "description": "Returns the group and its active memberships as of `as_of` (defaults\nto now). Members include both party-type and group-type (developer preview\npolymorphic DAG) \u2014 callers must discriminate on `member_type`."
          }
        },
        {
          "name": "Update display_name / description / status",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}",
                "type": "text"
              },
              {
                "key": "X-Correlation-ID",
                "value": "{{correlation_id}}",
                "type": "text"
              },
              {
                "key": "X-Tenant-Context",
                "value": "{{tenant_context}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/party-groups/{{id}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "party-groups",
                "{{id}}"
              ],
              "description": "Set base_url from the issued developer-preview access pack."
            },
            "description": "Partial update \u2014 only supplied fields are changed. Soft-delete is\nachieved via setting status to `inactive` here OR calling DELETE.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"description\": \"string\",\n  \"display_name\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Soft delete (status \u2192 inactive)",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}",
                "type": "text"
              },
              {
                "key": "X-Correlation-ID",
                "value": "{{correlation_id}}",
                "type": "text"
              },
              {
                "key": "X-Tenant-Context",
                "value": "{{tenant_context}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/party-groups/{{id}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "party-groups",
                "{{id}}"
              ],
              "description": "Set base_url from the issued developer-preview access pack."
            },
            "description": "Soft-delete \u2014 flips status to `inactive`. The group row and its\nmemberships are preserved for audit under the governed contract. There is no hard\ndelete."
          }
        },
        {
          "name": "Add a party or group as a member",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}",
                "type": "text"
              },
              {
                "key": "X-Correlation-ID",
                "value": "{{correlation_id}}",
                "type": "text"
              },
              {
                "key": "X-Tenant-Context",
                "value": "{{tenant_context}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/party-groups/{{id}}/members",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "party-groups",
                "{{id}}",
                "members"
              ],
              "description": "Set base_url from the issued developer-preview access pack."
            },
            "description": "Body must supply exactly one of `party_id` or `group_id`. Neither or\nboth \u2192 400. Cycle detection happens at read time (bounded traversal, governed contract) \u2014 writes do not block cyclic membership.\nIdempotent on (group, member_type, member_id) when a membership is\nalready open.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"group_id\": \"string\",\n  \"party_id\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Close a member's open window (sets valid_to = now)",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}",
                "type": "text"
              },
              {
                "key": "X-Correlation-ID",
                "value": "{{correlation_id}}",
                "type": "text"
              },
              {
                "key": "X-Tenant-Context",
                "value": "{{tenant_context}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/party-groups/{{id}}/members/{{partyId}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "party-groups",
                "{{id}}",
                "members",
                "{{partyId}}"
              ],
              "description": "Set base_url from the issued developer-preview access pack."
            },
            "description": "Idempotent \u2014 if no open membership exists, returns 204 without error.\nDoes not hard-delete the membership row; the closed window is\npreserved for audit (governed contract)."
          }
        },
        {
          "name": "List all party members reachable via recursive expansion",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}",
                "type": "text"
              },
              {
                "key": "X-Correlation-ID",
                "value": "{{correlation_id}}",
                "type": "text"
              },
              {
                "key": "X-Tenant-Context",
                "value": "{{tenant_context}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/party-groups/{{id}}/flat-members",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "party-groups",
                "{{id}}",
                "flat-members"
              ],
              "query": [
                {
                  "key": "as_of",
                  "value": "{{as_of}}",
                  "disabled": true
                },
                {
                  "key": "max_depth",
                  "value": "{{max_depth}}",
                  "disabled": true
                }
              ],
              "description": "Set base_url from the issued developer-preview access pack."
            },
            "description": "Recursively walks the membership DAG and returns every party that is\nreachable \u2014 de-duplicated by party_id. Uses bounded traversal with a\ncycle guard (governed contract): diamonds are de-duped, cycles are\nshort-circuited."
          }
        },
        {
          "name": "List groups that transitively contain this group",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}",
                "type": "text"
              },
              {
                "key": "X-Correlation-ID",
                "value": "{{correlation_id}}",
                "type": "text"
              },
              {
                "key": "X-Tenant-Context",
                "value": "{{tenant_context}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/party-groups/{{id}}/ancestors",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "party-groups",
                "{{id}}",
                "ancestors"
              ],
              "query": [
                {
                  "key": "as_of",
                  "value": "{{as_of}}",
                  "disabled": true
                },
                {
                  "key": "max_depth",
                  "value": "{{max_depth}}",
                  "disabled": true
                }
              ],
              "description": "Set base_url from the issued developer-preview access pack."
            },
            "description": "BFS upward through the membership DAG up to `max_depth`."
          }
        },
        {
          "name": "List groups transitively contained by this group",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}",
                "type": "text"
              },
              {
                "key": "X-Correlation-ID",
                "value": "{{correlation_id}}",
                "type": "text"
              },
              {
                "key": "X-Tenant-Context",
                "value": "{{tenant_context}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/party-groups/{{id}}/descendants",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "party-groups",
                "{{id}}",
                "descendants"
              ],
              "query": [
                {
                  "key": "as_of",
                  "value": "{{as_of}}",
                  "disabled": true
                },
                {
                  "key": "max_depth",
                  "value": "{{max_depth}}",
                  "disabled": true
                }
              ],
              "description": "Set base_url from the issued developer-preview access pack."
            },
            "description": "BFS downward through the membership DAG up to `max_depth`."
          }
        },
        {
          "name": "Dry-run evaluate a party against a dynamic group's rule",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}",
                "type": "text"
              },
              {
                "key": "X-Correlation-ID",
                "value": "{{correlation_id}}",
                "type": "text"
              },
              {
                "key": "X-Tenant-Context",
                "value": "{{tenant_context}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/party-groups/{{id}}/evaluate",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "party-groups",
                "{{id}}",
                "evaluate"
              ],
              "description": "Set base_url from the issued developer-preview access pack."
            },
            "description": "Read-only evaluation \u2014 calls the membership-rule evaluator and\nreturns `is_member` plus an explanation summary. Does NOT persist\nmembership. Only valid for `group_type = dynamic`; static groups\nreturn 400. Classification: `intentional_exception` in the\npost-route manifest (POST that doesn't mutate).",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"party_id\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "List roles held directly by this group",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}",
                "type": "text"
              },
              {
                "key": "X-Correlation-ID",
                "value": "{{correlation_id}}",
                "type": "text"
              },
              {
                "key": "X-Tenant-Context",
                "value": "{{tenant_context}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/party-groups/{{id}}/roles",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "party-groups",
                "{{id}}",
                "roles"
              ],
              "description": "Set base_url from the issued developer-preview access pack."
            },
            "description": "Returns roles where this group is the assignee (`assignee_type =\ngroup`). under the governed contract there is NO automatic inheritance \u2014\nthese roles do not flow to member parties."
          }
        },
        {
          "name": "Assign a role to the group",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}",
                "type": "text"
              },
              {
                "key": "X-Correlation-ID",
                "value": "{{correlation_id}}",
                "type": "text"
              },
              {
                "key": "X-Tenant-Context",
                "value": "{{tenant_context}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/party-groups/{{id}}/roles",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "party-groups",
                "{{id}}",
                "roles"
              ],
              "description": "Set base_url from the issued developer-preview access pack."
            },
            "description": "Assigns a role with the group as assignee. Idempotent via\nIdempotency-Key.\n\nFor role_type=accepted_provider_network:\n- Assignee group must have composition_type=provider_network \u2192 422 INVALID_ASSIGNMENT otherwise.\n- Context entity_type must be product \u2192 context entity_id must reference an\n  existing product in the tenant \u2192 404 PRODUCT_CONTEXT_NOT_FOUND if missing.\n- Overlapping active windows on the same (group, role_type, product) tuple\n  return 409 NETWORK_ROLE_ALREADY_ACTIVE.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"context\": {\n    \"entity_id\": \"CM-MED-01\",\n    \"entity_type\": \"product\"\n  },\n  \"role_type\": \"accepted_provider_network\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Revoke a role held by the group",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}",
                "type": "text"
              },
              {
                "key": "X-Correlation-ID",
                "value": "{{correlation_id}}",
                "type": "text"
              },
              {
                "key": "X-Tenant-Context",
                "value": "{{tenant_context}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/party-groups/{{id}}/roles/{{roleId}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "party-groups",
                "{{id}}",
                "roles",
                "{{roleId}}"
              ],
              "description": "Set base_url from the issued developer-preview access pack."
            },
            "description": "Closes the role assignment with an optional reason supplied as a\nJSON body `{reason: \"...\"}`.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"reason\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    }
  ],
  "variable": [
    {
      "key": "base_url",
      "value": "https://api.afr-dev.axiom.express",
      "type": "string"
    },
    {
      "key": "access_token",
      "value": "replace-with-issued-access-token",
      "type": "string"
    },
    {
      "key": "tenant_id",
      "value": "replace-with-admitted-tenant-id-from-list-tenants",
      "type": "string"
    },
    {
      "key": "tenant_context",
      "value": "replace-with-server-minted-tenant-context",
      "type": "string"
    },
    {
      "key": "correlation_id",
      "value": "axiom-example-correlation-id",
      "type": "string"
    },
    {
      "key": "example_profile",
      "value": "canonical-five-acts",
      "type": "string"
    }
  ]
}
