{ "opencollection": "1.0.0", "info": { "name": "Root Applications Policies API", "version": "1.0.1" }, "request": { "auth": { "type": "basic", "username": "{{username}}", "password": "{{password}}" } }, "items": [ { "info": { "name": "Policies", "type": "folder" }, "items": [ { "info": { "name": "List all policies", "type": "http" }, "http": { "method": "GET", "url": "https://sandbox.uk.rootplatform.com/v1/insurance/policies", "params": [ { "name": "page_size", "value": "", "type": "query", "description": "The maximum number of items that will be contained in a single page, between 1 and 100 (inclusive)." }, { "name": "page", "value": "", "type": "query", "description": "The page number of the entities to fetch. Must be a minimum of 1." }, { "name": "search", "value": "", "type": "query", "description": "A general-purpose parameter used to search for policies across `policy.policy_number`, `policy.package_name`, `policyholder.first_name`, `policyholder.last_name`, `policyholder.company_name`, `policyholder.identification_number`, `policyholder.registration_number`, `policyholder.cellphone`, `policyholder.phone_other`,\n and `policyholder.email`.\n" }, { "name": "status", "value": "active,pending_initial_payment,not_taken_up,cancelled,lapsed,expired", "type": "query", "description": "A comma separated list of policy statuses to filter by.\n" }, { "name": "policyholder_id", "value": "", "type": "query", "description": "Must be a UUID. Filter for policies linked to this policyholder.\n" }, { "name": "created_by", "value": "", "type": "query", "description": "Must be a UUID. The unique identifier of the agent that created the policy.\n" }, { "name": "include", "value": "", "type": "query", "description": "Whether to include the full policyholder object linked to the policy in the response.\n" }, { "name": "product_module_id", "value": "", "type": "query", "description": "Must be a UUID. Filter for policies issued under this product module.\n" }, { "name": "policy_number", "value": "", "type": "query", "description": "List of case sensitive policy numbers to filter by.\n" } ] }, "docs": "List all policies" }, { "info": { "name": "Issue a policy", "type": "http" }, "http": { "method": "POST", "url": "https://sandbox.uk.rootplatform.com/v1/insurance/policies", "params": [ { "name": "idempotency_key", "value": "", "type": "query", "description": "To perform an idempotent request, provide the `idempotency_key` query parameter with the request. An idempotency key is a unique value generated by the client which the platform uses to recognize subsequent retries of the same request. How you create unique keys is up to you, but we suggest using a V4 UUID, or another random string with enough entropy to avoid collisions. Idempotency keys can be up to 255 characters long." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Issue a policy" }, { "info": { "name": "Issue an aggregated policy", "type": "http" }, "http": { "method": "POST", "url": "https://sandbox.uk.rootplatform.com/v1/insurance/policies/issue-aggregated", "params": [ { "name": "idempotency_key", "value": "", "type": "query", "description": "To perform an idempotent request, provide the `idempotency_key` query parameter with the request. An idempotency key is a unique value generated by the client which the platform uses to recognize subsequent retries of the same request. How you create unique keys is up to you, but we suggest using a V4 UUID, or another random string with enough entropy to avoid collisions. Idempotency keys can be up to 255 characters long." }, { "name": "version", "value": "", "type": "query", "description": "The version of the policy being issued. Can be a UUID or one of `live`, `draft`.\n" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Issue an aggregated policy" }, { "info": { "name": "Bulk cancel policies", "type": "http" }, "http": { "method": "POST", "url": "https://sandbox.uk.rootplatform.com/v1/insurance/policies/cancel", "body": { "type": "json", "data": "{}" } }, "docs": "This endpoint creates a set of cancel requests for the specified policies, which will then asynchronously cancel each specified policy. It will return an empty `200 OK` response on success.\n\nThe endpoint requires an array of policy cancel objects, defined as follows:\n" }, { "info": { "name": "Bulk reassign policy user groups", "type": "http" }, "http": { "method": "PUT", "url": "https://sandbox.uk.rootplatform.com/v1/insurance/user-groups/:user_group_id/policies", "params": [ { "name": "user_group_id", "value": "", "type": "path", "description": "Must be a UUID. The unique identifier of the user group." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Assign a list of existing policies to the specified user groups. The operation will attempt to add each policy in the policy_ids array to the user group, and return per-policy results along with an overall status.\n" }, { "info": { "name": "Bulk lapse policies", "type": "http" }, "http": { "method": "POST", "url": "https://sandbox.uk.rootplatform.com/v1/insurance/policies/lapse", "body": { "type": "json", "data": "{}" } }, "docs": "This endpoint creates a set of lapse requests for the specified policies, which will then asynchronously lapse each specified policy. It will return an empty `200 OK` response on success.\n\nThe endpoint requires an array of policy lapse objects, defined as follows:\n" }, { "info": { "name": "Retrieve a policy", "type": "http" }, "http": { "method": "GET", "url": "https://sandbox.uk.rootplatform.com/v1/insurance/policies/:policy_id", "params": [ { "name": "policy_id", "value": "", "type": "path", "description": "Must be a UUID. The unique identifier of the [policy](ref:policy)." } ] }, "docs": "Retrieve a policy" }, { "info": { "name": "Update a policy", "type": "http" }, "http": { "method": "PATCH", "url": "https://sandbox.uk.rootplatform.com/v1/insurance/policies/:policy_id", "params": [ { "name": "policy_id", "value": "", "type": "path", "description": "Must be a UUID. The unique identifier of the [policy](ref:policy)." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Update a policy" }, { "info": { "name": "Create an alteration package", "type": "http" }, "http": { "method": "POST", "url": "https://sandbox.uk.rootplatform.com/v1/insurance/policies/:policy_id/alteration-packages", "params": [ { "name": "policy_id", "value": "", "type": "path", "description": "The unique identifier of the [policy](ref:policy)" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Create an alteration package" }, { "info": { "name": "Apply alteration package", "type": "http" }, "http": { "method": "POST", "url": "https://sandbox.uk.rootplatform.com/v1/insurance/policies/:policy_id/alteration-packages/:alteration_package_id/apply", "params": [ { "name": "policy_id", "value": "", "type": "path", "description": "Must be a UUID. The unique identifier of the [policy](ref:policy)." }, { "name": "alteration_package_id", "value": "", "type": "path", "description": "Must be a UUID. The ID of the [alteration-packages](ref:alteration-package) to apply to the policy" } ] }, "docs": "Apply alteration package" }, { "info": { "name": "List policy attachments", "type": "http" }, "http": { "method": "GET", "url": "https://sandbox.uk.rootplatform.com/v1/insurance/policies/:policy_id/attachments", "params": [ { "name": "policy_id", "value": "", "type": "path", "description": "The unique identifier of the [policy](ref:policy)." }, { "name": "page_size", "value": "", "type": "query", "description": "The maximum number of items that will be contained in a single page, between 1 and 100 (inclusive)." }, { "name": "page", "value": "", "type": "query", "description": "The page number of the entities to fetch. Must be a minimum of 1." } ] }, "docs": "List policy attachments" }, { "info": { "name": "Create an attachment", "type": "http" }, "http": { "method": "POST", "url": "https://sandbox.uk.rootplatform.com/v1/insurance/policies/:policy_id/attachments", "params": [ { "name": "policy_id", "value": "", "type": "path", "description": "Must be a UUID. The unique identifier of the [policy](ref:policy)." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Create an attachment" }, { "info": { "name": "Archive an attachment", "type": "http" }, "http": { "method": "POST", "url": "https://sandbox.uk.rootplatform.com/v1/insurance/policies/:policy_id/attachments/:attachment_id/archive", "params": [ { "name": "policy_id", "value": "", "type": "path", "description": "The unique identifier of the [policy](ref:policy)." }, { "name": "attachment_id", "value": "", "type": "path", "description": "The unique identifier of the attachment." } ] }, "docs": "Archive an attachment" }, { "info": { "name": "List beneficiaries", "type": "http" }, "http": { "method": "GET", "url": "https://sandbox.uk.rootplatform.com/v1/insurance/policies/:policy_id/beneficiaries", "params": [ { "name": "policy_id", "value": "", "type": "path", "description": "Must be a UUID. The unique identifier of the [policy](ref:policy)." }, { "name": "page_size", "value": "", "type": "query", "description": "The maximum number of items that will be contained in a single page, between 1 and 100 (inclusive)." }, { "name": "page", "value": "", "type": "query", "description": "The page number of the entities to fetch. Must be a minimum of 1." } ] }, "docs": "List beneficiaries" }, { "info": { "name": "Update beneficiaries", "type": "http" }, "http": { "method": "PUT", "url": "https://sandbox.uk.rootplatform.com/v1/insurance/policies/:policy_id/beneficiaries", "params": [ { "name": "policy_id", "value": "", "type": "path", "description": "Must be a UUID. Unique identifier of the policy." } ], "body": { "type": "json", "data": "{}" } }, "docs": "This endpoint accepts an array of beneficiary objects as the body. The entire array of beneficiaries will be replaced. The number of beneficiaries cannot exceed the max defined in the [general settings](doc:general-settings). The percentages must add up to 100%." }, { "info": { "name": "Update billing amount", "type": "http" }, "http": { "method": "POST", "url": "https://sandbox.uk.rootplatform.com/v1/insurance/policies/:policy_id/billing", "params": [ { "name": "policy_id", "value": "", "type": "path", "description": "Must be a UUID. The unique identifier of the [policy](ref:policy)." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Update billing amount" }, { "info": { "name": "Cancel a policy", "type": "http" }, "http": { "method": "POST", "url": "https://sandbox.uk.rootplatform.com/v1/insurance/policies/:policy_id/cancel", "params": [ { "name": "policy_id", "value": "", "type": "path", "description": "Must be a UUID. The unique identifier of the [policy](ref:policy)." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Cancel a policy" }, { "info": { "name": "List policy claims", "type": "http" }, "http": { "method": "GET", "url": "https://sandbox.uk.rootplatform.com/v1/insurance/policies/:policy_id/claims", "params": [ { "name": "policy_id", "value": "", "type": "path", "description": "Must be a UUID. The unique identifier of the [policy](ref:policy)." }, { "name": "claim_status", "value": "", "type": "query", "description": "A string indicating the status of the policy. Possible values include `open`, `in_review`, `acknowledged`, `pending_payout`, `paid_out`, `closed`." }, { "name": "approval_status", "value": "", "type": "query", "description": "A string indicating the status of the policy. Possible values include `pending`, `approved`, `repudiated`, `no_claim`, `goodwill`." }, { "name": "page_size", "value": "", "type": "query", "description": "The maximum number of items that will be contained in a single page, between 1 and 100 (inclusive)." }, { "name": "page", "value": "", "type": "query", "description": "The page number of the entities to fetch. Must be a minimum of 1." } ] }, "docs": "List policy claims" }, { "info": { "name": "Get valid collection dates for policy", "type": "http" }, "http": { "method": "GET", "url": "https://sandbox.uk.rootplatform.com/v1/insurance/policies/:policy_id/collection-requests/payment-dates", "params": [ { "name": "policy_id", "value": "", "type": "path", "description": "Must be a UUID. The unique identifier of the [policy](ref:policy)." }, { "name": "from", "value": "", "type": "query", "description": "The first payment date for which you will be returned submission dates." }, { "name": "to", "value": "", "type": "query", "description": "The last payment date for which you will be returned submission dates." } ] }, "docs": "This endpoint is used to retrieve valid payment dates when submitting collection requests. The payment date is the date on which the collection request will strike the\npolicyholder's bank account. The payment date returned to you will then be used as a parameter when [creating a collection request](ref:create-policy-payments-collection-request-1)." }, { "info": { "name": "Retrieve a policy's DebiCheck Mandate", "type": "http" }, "http": { "method": "GET", "url": "https://sandbox.uk.rootplatform.com/v1/insurance/policies/:policy_id/debicheck-mandate", "params": [ { "name": "policy_id", "value": "", "type": "path", "description": "Must be a UUID. The unique identifier of the [policy](ref:policy)." } ] }, "docs": "Retrieve a policy's DebiCheck Mandate" }, { "info": { "name": "Prevent or Resume Policy Lapse and NTU", "type": "http" }, "http": { "method": "POST", "url": "https://sandbox.uk.rootplatform.com/v1/insurance/policies/:policy_id/prevent-lapse-and-ntu", "params": [ { "name": "policy_id", "value": "", "type": "path", "description": "The unique identifier of the policy. Must be a UUID." } ], "body": { "type": "json", "data": "{}" } }, "docs": "This endpoint enables users to specify a period during which the policy is safeguarded from lapsing or entering an NTU state. Alternatively, it can be used to resume the lapse and NTU processes if needed.\nWhen preventing lapses, the request requires the start and end dates for the period, along with the reason. For resuming lapses, only the `resume` parameter is required.\n" }, { "info": { "name": "List policy ledger", "type": "http" }, "http": { "method": "GET", "url": "https://sandbox.uk.rootplatform.com/v1/insurance/policies/:policy_id/ledger", "params": [ { "name": "policy_id", "value": "", "type": "path", "description": "The unique identifier of the [policy](ref:policy)." }, { "name": "include", "value": "", "type": "query", "description": "An optional comma-separated list of objects to include. e.g. `?include=balance`. Possible values include [ `balance`, `payment`, `payment_coupon`]." }, { "name": "page_size", "value": "", "type": "query", "description": "The maximum number of items that will be contained in a single page, between 1 and 100 (inclusive)." }, { "name": "page", "value": "", "type": "query", "description": "The page number of the entities to fetch. Must be a minimum of 1." } ] }, "docs": "List policy ledger" }, { "info": { "name": "List policy notes", "type": "http" }, "http": { "method": "GET", "url": "https://sandbox.uk.rootplatform.com/v1/insurance/policies/:policy_id/notes", "params": [ { "name": "policy_id", "value": "", "type": "path", "description": "The unique identifier of the [policy](ref:policy)." }, { "name": "page_size", "value": "", "type": "query", "description": "The maximum number of items that will be contained in a single page, between 1 and 100 (inclusive)." }, { "name": "page", "value": "", "type": "query", "description": "The page number of the entities to fetch. Must be a minimum of 1." } ] }, "docs": "List all notes that have been added to a policy." }, { "info": { "name": "Add a note", "type": "http" }, "http": { "method": "POST", "url": "https://sandbox.uk.rootplatform.com/v1/insurance/policies/:policy_id/notes", "params": [ { "name": "policy_id", "value": "", "type": "path", "description": "Must be a UUID. The unique identifier of the [policy](ref:policy)." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Add a note" }, { "info": { "name": "Retrieve payment coupons for a policy", "type": "http" }, "http": { "method": "GET", "url": "https://sandbox.uk.rootplatform.com/v1/insurance/policies/:policy_id/payment-coupons", "params": [ { "name": "policy_id", "value": "", "type": "path", "description": "Must be a UUID. The unique identifier of the [policy](ref:policy)." }, { "name": "status", "value": "", "type": "query" }, { "name": "include", "value": "", "type": "query", "description": "An optional comma-separated list of underlying objects to include, e.g. `?include=policy`." } ] }, "docs": "Retrieve payment coupons for a policy" }, { "info": { "name": "Create payment coupons for a policy", "type": "http" }, "http": { "method": "POST", "url": "https://sandbox.uk.rootplatform.com/v1/insurance/policies/:policy_id/payment-coupons", "params": [ { "name": "policy_id", "value": "", "type": "path", "description": "Must be a UUID. The unique identifier of the [policy](ref:policy)." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Create payment coupons for a policy" }, { "info": { "name": "Cancel payment coupons for a policy", "type": "http" }, "http": { "method": "DELETE", "url": "https://sandbox.uk.rootplatform.com/v1/insurance/policies/:policy_id/payment-coupons", "params": [ { "name": "policy_id", "value": "", "type": "path", "description": "Must be a UUID. The unique identifier of the [policy](ref:policy)." } ] }, "docs": "Cancel all pending payment coupons for a policy" }, { "info": { "name": "Redeem payment coupon for a policy", "type": "http" }, "http": { "method": "POST", "url": "https://sandbox.uk.rootplatform.com/v1/insurance/policies/:policy_id/payment-coupons/:payment_coupon_id/redeem", "params": [ { "name": "policy_id", "value": "", "type": "path", "description": "Must be a UUID. The unique identifier of the [policy](ref:policy)." }, { "name": "payment_coupon_id", "value": "", "type": "path", "description": "Must be a UUID. The unique identifier of the [payment_coupon](ref:retrieve-payment-coupons-1)." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Redeem payment coupon for a policy" }, { "info": { "name": "Cancel a payment coupon for a policy", "type": "http" }, "http": { "method": "DELETE", "url": "https://sandbox.uk.rootplatform.com/v1/insurance/policies/:policy_id/payment-coupons/:payment_coupon_id", "params": [ { "name": "policy_id", "value": "", "type": "path", "description": "Must be a UUID. The unique identifier of the [policy](ref:policy)." }, { "name": "payment_coupon_id", "value": "", "type": "path", "description": "Must be a UUID. The unique identifier of the [payment_coupon](ref:retrieve-payment-coupons-1)." } ] }, "docs": "Cancel a payment coupon for a policy" }, { "info": { "name": "Retrieve policy payment method", "type": "http" }, "http": { "method": "GET", "url": "https://sandbox.uk.rootplatform.com/v1/insurance/policies/:policy_id/payment-method", "params": [ { "name": "policy_id", "value": "", "type": "path", "description": "The unique identifier of the [policy](ref:policy)" } ] }, "docs": "Retrieve policy payment method" }, { "info": { "name": "Assign a payment method", "type": "http" }, "http": { "method": "PUT", "url": "https://sandbox.uk.rootplatform.com/v1/insurance/policies/:policy_id/payment-method", "params": [ { "name": "policy_id", "value": "", "type": "path", "description": "Must be a UUID. The unique identifier of the [policy](ref:policy)." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Assign a payment method to a policy. Read more about [payment methods](doc:billing#payment-methods)." }, { "info": { "name": "List policy payments", "type": "http" }, "http": { "method": "GET", "url": "https://sandbox.uk.rootplatform.com/v1/insurance/policies/:policy_id/payments", "params": [ { "name": "policy_id", "value": "", "type": "path", "description": "Must be a UUID. The unique identifier of the [policy](ref:policy)." }, { "name": "status", "value": "", "type": "query", "description": "An optional comma-separated list for filtering results based on payment statuses, e.g. `?status=successful,failed`. By default if no statuses are specified, payments across all statuses will be returned." }, { "name": "payment_types", "value": "", "type": "query", "description": "An optional comma-separated list for filtering results based on payment types, e.g. `?payment_types=premium,reversal`. By default if no payment types are specified, payments across all payment types will be returned." }, { "name": "include", "value": "", "type": "query", "description": "An optional comma-separated list of underlying objects to include, e.g. `?include=reversal_of_payment`. `reversal_of_payment` only applies to reversal payments and will include the original payment." }, { "name": "page_size", "value": "", "type": "query", "description": "The maximum number of items that will be contained in a single page, between 1 and 100 (inclusive)." }, { "name": "page", "value": "", "type": "query", "description": "The page number of the entities to fetch. Must be a minimum of 1." } ] }, "docs": "Retrieve payments linked to a policy. Read more about how payments work on Root in the [payments guides](doc:payments-overview)." }, { "info": { "name": "Create policy payment", "type": "http" }, "http": { "method": "POST", "url": "https://sandbox.uk.rootplatform.com/v1/insurance/policies/:policy_id/payments", "params": [ { "name": "policy_id", "value": "", "type": "path", "description": "The unique identifier of the [policy](ref:policy)." }, { "name": "idempotency_key", "value": "", "type": "query", "description": "To perform an idempotent request, provide the `idempotency_key` query parameter with the request. An idempotency key is a unique value generated by the client which the platform uses to recognize subsequent retries of the same request. How you create unique keys is up to you, but we suggest using a V4 UUID, or another random string with enough entropy to avoid collisions. Idempotency keys can be up to 255 characters long." } ], "body": { "type": "json", "data": "{}" } }, "docs": "This endpoint validates the input and creates a payment, which will result in a `200 OK` successful response, with the created payment in the response." }, { "info": { "name": "Allocate an EFT payment to a policy", "type": "http" }, "http": { "method": "POST", "url": "https://sandbox.uk.rootplatform.com/v1/insurance/policies/:policy_id/payments/allocate-eft", "params": [ { "name": "policy_id", "value": "", "type": "path", "description": "Must be a UUID. The unique identifier of the [policy](ref:policy)." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Allocate an EFT payment to a policy" }, { "info": { "name": "Create collection request for policy", "type": "http" }, "http": { "method": "POST", "url": "https://sandbox.uk.rootplatform.com/v1/insurance/policies/:policy_id/payments/request-collection", "params": [ { "name": "policy_id", "value": "", "type": "path", "description": "The unique identifier of the [policy](ref:policy)." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Create collection request for policy" }, { "info": { "name": "Reactivate policy", "type": "http" }, "http": { "method": "POST", "url": "https://sandbox.uk.rootplatform.com/v1/insurance/policies/:policy_id/reactivate", "params": [ { "name": "policy_id", "value": "", "type": "path", "description": "Must be a UUID. The unique identifier of the [policy](ref:policy)." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Reactivate policy" }, { "info": { "name": "Activate policy", "type": "http" }, "http": { "method": "POST", "url": "https://sandbox.uk.rootplatform.com/v1/insurance/policies/:policy_id/activate", "params": [ { "name": "policy_id", "value": "", "type": "path", "description": "Must be a UUID. The unique identifier of the [policy](ref:policy)." } ] }, "docs": "Activate policy" }, { "info": { "name": "Create a policy receipt", "type": "http" }, "http": { "method": "POST", "url": "https://sandbox.uk.rootplatform.com/v1/insurance/policies/:policy_id/receipts", "params": [ { "name": "policy_id", "value": "", "type": "path", "description": "Must be a UUID. The unique identifier of the [policy](ref:policy)." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Once a policy has been issued, it is important that a receipt is created which verifies that the new policyholder has received their actual policy. This receipt can either be in the form of a tracking pixel in an email which contains the policy document, or it could be a custom method (subject to approval).\n\nTo add a tracking pixel to a policy email, you create an `` tag which looks like the following:\n\n```html\n