Root Insurance Policies API

The Policies API from Root Insurance — 32 operation(s) for policies.

OpenAPI Specification

root-policies-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  version: 1.0.1
  title: Root Applications Policies API
  description: Root is an end-to-end digital insurance platform that enables you to launch new products and digital engagement channels fast.
  termsOfService: https://rootplatform.com/about
  contact:
    name: Root support team
    url: https://rootplatform.com/contact
    email: support@root.co.za
servers:
- url: https://sandbox.uk.rootplatform.com/v1/insurance
  description: United Kingdom multi-tenant - sandbox
- url: https://api.uk.rootplatform.com/v1/insurance
  description: United Kingdom multi-tenant - production
- url: https://sandbox.rootplatform.com/v1/insurance
  description: South Africa multi-tenant - sandbox
- url: https://api.rootplatform.com/v1/insurance
  description: South Africa multi-tenant - production
security:
- basicAuth: []
tags:
- name: Policies
paths:
  /policies:
    post:
      operationId: issue-a-policy
      summary: Issue a policy
      tags:
      - Policies
      x-additional-tags:
      - Create
      parameters:
      - $ref: '#/components/parameters/idempotency'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - application_id
              properties:
                application_id:
                  type: string
                  description: Must be a UUID. Unique identifier of the [created application](ref:create-application).
                app_data:
                  type:
                  - object
                  - 'null'
                  description: '`null` is allowed. An object containing additional custom data for the policy.'
                  additionalProperties: true
                billing_day:
                  type:
                  - integer
                  - 'null'
                  description: '`null` is allowed. The day of month on which the policy is billed. Should be between 1 and 31, or `null`. If it falls on a day that does not exist in the month (for example, 31 in February) the policy will be billed on the last day of the month. Setting this value to 31 will ensure that the policy is billed on the last day of every month.'
                user_group_id:
                  type:
                  - string
                  - 'null'
                  description: '`null` is allowed. When provided, the policy will be assigned to the corresponding user group. If omitted or `null`, no user group will be assigned.'
              example:
                application_id: bf1ada91-eecb-4f47-9bfa-1258bb1e0055
                app_data:
                  gadget_colour: Space Grey
            example:
              application_id: bf1ada91-eecb-4f47-9bfa-1258bb1e0055
              app_data:
                gadget_colour: Space Grey
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/policy'
              example:
                policy_id: 128ba0c0-3f6a-4f8b-9b40-e2066b02b59e
                policy_number: 1HFCT1CDBJ
                policyholder_id: bf3ab7ce-064d-43b7-811d-0ecd9aca3daf
                status: active
                package_name: Theft + comprehensive
                sum_assured: 1199900
                base_premium: 14999
                monthly_premium: 50000
                billing_amount: 50000
                billing_day: 1
                billing_frequency: monthly
                beneficiaries: []
                covered_people: []
                start_date: '2017-10-05T00:00:00.000Z'
                end_date: '2018-10-05T00:00:00.000Z'
                policy_schedule_uri: https://sandbox.root.co.za/v1/insurance/policies/128ba0c0-3f6a-4f8b-9b40-e2066b02b59e/schedule/schedule_latest.pdf
                terms_uri: https://sandbox.root.co.za/v1/insurance/policies/128ba0c0-3f6a-4f8b-9b40-e2066b02b59e/terms/terms.pdf
                policy_welcome_letter_uri: https://sandbox.root.co.za/v1/insurance/policies/128ba0c0-3f6a-4f8b-9b40-e2066b02b59e/welcome-letter/welcome_letter.pdf
                schedule_versions:
                - version: 1
                  created_at: '2017-10-05T18:40:47.281Z'
                created_at: '2017-10-05T18:40:47.281Z'
                module:
                  type: root_gadgets
                  make: Apple
                  model: iPhone 6S 64GB LTE
                  serial_number: '1234567890'
                app_data:
                  gadget_colour: Space Grey
                created_by:
                  id: 00000000-0000-0000-0000-000000000001
                  type: user
                charges: []
    get:
      operationId: fetch-policies
      summary: List all policies
      tags:
      - Policies
      x-additional-tags:
      - Retrieve
      parameters:
      - $ref: '#/components/parameters/page_size'
      - $ref: '#/components/parameters/page'
      - name: search
        in: 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"
        required: false
        schema:
          type: string
      - name: status
        in: query
        description: 'A comma separated list of policy statuses to filter by.

          '
        required: false
        example: active,pending_initial_payment,not_taken_up,cancelled,lapsed,expired
        schema:
          type: string
      - name: policyholder_id
        in: query
        description: 'Must be a UUID. Filter for policies linked to this policyholder.

          '
        required: false
        schema:
          type: string
      - name: created_by
        in: query
        description: 'Must be a UUID. The unique identifier of the agent that created the policy.

          '
        required: false
        schema:
          type: string
      - name: include
        in: query
        description: 'Whether to include the full policyholder object linked to the policy in the response.

          '
        required: false
        style: form
        explode: false
        schema:
          type: array
          uniqueItems: true
          items:
            type: string
            enum:
            - policyholder
      - name: product_module_id
        in: query
        description: 'Must be a UUID. Filter for policies issued under this product module.

          '
        required: false
        schema:
          type: string
      - name: policy_number
        in: query
        description: 'List of case sensitive policy numbers to filter by.

          '
        required: false
        style: form
        explode: false
        schema:
          type: array
          uniqueItems: true
          items:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/policies'
              example:
              - policy_id: 128ba0c0-3f6a-4f8b-9b40-e2066b02b59e
                policy_number: 1HFCT1CDBJ
                policyholder_id: bf3ab7ce-064d-43b7-811d-0ecd9aca3daf
                status: active
                package_name: Theft + comprehensive
                sum_assured: 1199900
                base_premium: 14999
                monthly_premium: 50000
                billing_amount: 50000
                billing_day: 1
                billing_frequency: monthly
                beneficiaries: []
                covered_people: []
                start_date: '2017-10-05T00:00:00.000Z'
                end_date: '2018-10-05T00:00:00.000Z'
                policy_schedule_uri: https://sandbox.root.co.za/v1/insurance/policies/128ba0c0-3f6a-4f8b-9b40-e2066b02b59e/schedule/schedule_latest.pdf
                terms_uri: https://sandbox.root.co.za/v1/insurance/policies/128ba0c0-3f6a-4f8b-9b40-e2066b02b59e/terms/terms.pdf
                policy_welcome_letter_uri: https://sandbox.root.co.za/v1/insurance/policies/128ba0c0-3f6a-4f8b-9b40-e2066b02b59e/welcome-letter/welcome_letter.pdf
                schedule_versions:
                - version: 1
                  created_at: '2017-10-05T18:40:47.281Z'
                created_at: '2017-10-05T18:40:47.281Z'
                module:
                  type: root_gadgets
                  make: Apple
                  model: iPhone 6S 64GB LTE
                  serial_number: '1234567890'
                app_data:
                  gadget_colour: Space Grey
                created_by:
                  id: 00000000-0000-0000-0000-000000000001
                  type: user
                scheme_type: individual
                payment_method_id: e0b7b222-772f-47ac-b08d-c7ba38aa1b25
                charges: []
  /policies/issue-aggregated:
    post:
      operationId: issue-aggregated-policy
      summary: Issue an aggregated policy
      tags:
      - Policies
      x-additional-tags:
      - Create
      parameters:
      - $ref: '#/components/parameters/idempotency'
      - name: version
        in: query
        description: 'The version of the policy being issued. Can be a UUID or one of `live`, `draft`.

          '
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - quote
              - application
              - policy
              properties:
                quote:
                  $ref: '#/components/schemas/quote-package'
                application:
                  type: object
                  required:
                  - billing_day
                  properties:
                    billing_day:
                      type: integer
                      description: 'The day of the month for billing, between 1 and 31.

                        '
                    custom_fields:
                      type: object
                      additionalProperties: true
                policy:
                  type: object
                  required:
                  - app_data
                  properties:
                    app_data:
                      type: object
                      additionalProperties: true
                    lead_id:
                      type: string
                      format: uuid
                      description: Reference to a lead for the policy.
              oneOf:
              - required:
                - policyholder
                properties:
                  policyholder:
                    $ref: '#/components/schemas/policyholder-request'
              - required:
                - policyholder_id
                properties:
                  policyholder_id:
                    type: string
                    format: uuid
                    description: Reference to an existing policyholder.
              example:
                policyholder:
                  $ref: '#/components/schemas/policyholder-request/example'
                policyholder_id: null
                quote:
                  $ref: '#/components/schemas/quote-package/example'
                application:
                  billing_day: 15
                policy:
                  app_data: {}
                  lead_id: null
      responses:
        '200':
          description: Successfully issued the policy
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/policy'
              example:
                policy_id: 128ba0c0-3f6a-4f8b-9b40-e2066b02b59e
                policy_number: POL12345
                status: active
                policyholder_id: bf3ab7ce-064d-43b7-811d-0ecd9aca3daf
                package_name: Basic Coverage
                sum_assured: 1000000
                billing_day: 15
  /policies/cancel:
    post:
      operationId: bulk-cancel-policies
      summary: Bulk cancel policies
      description: '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.


        The endpoint requires an array of policy cancel objects, defined as follows:

        '
      tags:
      - Policies
      x-additional-tags:
      - Manage
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                type: object
                required:
                - policy_id
                - reason
                properties:
                  policy_id:
                    type: string
                    description: A policy ID.
                  reason:
                    type: string
                    description: A reason for why this policy is being cancelled.
                example:
                  policy_id: 128ba0c0-3f6a-4f8b-9b40-e2066b02b59e
                  reason: Policyholder cancelled within 30-day grace period
            example:
            - policy_id: 128ba0c0-3f6a-4f8b-9b40-e2066b02b59e
              reason: Policyholder cancelled within 30-day grace period
      responses:
        '200':
          description: Success
  /user-groups/{user_group_id}/policies:
    put:
      operationId: bulk-reassign-policy-user-groups
      summary: Bulk reassign policy user groups
      description: '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.

        '
      tags:
      - Policies
      x-additional-tags:
      - Manage
      parameters:
      - name: user_group_id
        in: path
        description: Must be a UUID. The unique identifier of the user group.
        required: true
        schema:
          type: string
          example: 56c1d08f-45af-472a-afc9-e1377b34e116
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - policy_ids
              properties:
                policy_ids:
                  type: array
                  items:
                    type: string
                  example:
                  - 128ba0c0-3f6a-4f8b-9b40-e2066b02b59e
            example:
              policy_ids:
              - 128ba0c0-3f6a-4f8b-9b40-e2066b02b59e
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                - status
                - results
                properties:
                  status:
                    type: string
                  results:
                    type: array
                    items:
                      type: object
                      required:
                      - policy_id
                      - status
                      properties:
                        policy_id:
                          type: string
                        status:
                          type: string
              example:
                status: success
                results:
                - policy_id: 128ba0c0-3f6a-4f8b-9b40-e2066b02b59e
                  status: success
  /policies/lapse:
    post:
      operationId: bulk-lapse-policies
      summary: Bulk lapse policies
      description: '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.


        The endpoint requires an array of policy lapse objects, defined as follows:

        '
      tags:
      - Policies
      x-additional-tags:
      - Manage
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                type: object
                required:
                - policy_id
                - reason
                properties:
                  policy_id:
                    type: string
                    description: A policy ID.
                  reason:
                    type: string
                    description: A reason for why this policy is being lapsed.
                example:
                  policy_id: 128ba0c0-3f6a-4f8b-9b40-e2066b02b59e
                  reason: Policyholder cancelled within 30-day grace period
            example:
            - policy_id: 128ba0c0-3f6a-4f8b-9b40-e2066b02b59e
              reason: Policyholder cancelled within 30-day grace period
      responses:
        '200':
          description: Success
  /policies/{policy_id}:
    get:
      operationId: retrieve-policy
      summary: Retrieve a policy
      tags:
      - Policies
      x-additional-tags:
      - Retrieve
      parameters:
      - name: policy_id
        in: path
        description: Must be a UUID. The unique identifier of the [policy](ref:policy).
        required: true
        schema:
          type: string
          example: 128ba0c0-3f6a-4f8b-9b40-e2066b02b59e
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/policy'
              example:
                policy_id: 128ba0c0-3f6a-4f8b-9b40-e2066b02b59e
                policy_number: 1HFCT1CDBJ
                policyholder_id: bf3ab7ce-064d-43b7-811d-0ecd9aca3daf
                status: active
                package_name: Theft + comprehensive
                sum_assured: 1199900
                base_premium: 14999
                monthly_premium: 50000
                billing_amount: 50000
                billing_day: 1
                billing_frequency: monthly
                beneficiaries: []
                covered_people: []
                start_date: '2017-10-05T00:00:00.000Z'
                end_date: '2018-10-05T00:00:00.000Z'
                policy_schedule_uri: https://sandbox.root.co.za/v1/insurance/policies/128ba0c0-3f6a-4f8b-9b40-e2066b02b59e/schedule/schedule_latest.pdf
                terms_uri: https://sandbox.root.co.za/v1/insurance/policies/128ba0c0-3f6a-4f8b-9b40-e2066b02b59e/terms/terms.pdf
                policy_welcome_letter_uri: https://sandbox.root.co.za/v1/insurance/policies/128ba0c0-3f6a-4f8b-9b40-e2066b02b59e/welcome-letter/welcome_letter.pdf
                schedule_versions:
                - version: 1
                  created_at: '2017-10-05T18:40:47.281Z'
                created_at: '2017-10-05T18:40:47.281Z'
                module:
                  type: root_gadgets
                  make: Apple
                  model: iPhone 6S 64GB LTE
                  serial_number: '1234567890'
                app_data:
                  gadget_colour: Space Grey
                created_by:
                  id: 00000000-0000-0000-0000-000000000001
                  type: user
                scheme_type: individual
                payment_method_id: e0b7b222-772f-47ac-b08d-c7ba38aa1b25
                charges: []
    patch:
      operationId: update-policy
      summary: Update a policy
      tags:
      - Policies
      x-additional-tags:
      - Manage
      parameters:
      - name: policy_id
        in: path
        description: Must be a UUID. The unique identifier of the [policy](ref:policy).
        required: true
        schema:
          type: string
          example: 128ba0c0-3f6a-4f8b-9b40-e2066b02b59e
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                app_data:
                  type:
                  - object
                  - 'null'
                  description: '`null` is allowed. An object containing additional custom data for the policy.'
                  additionalProperties: true
                billing_day:
                  type: integer
                  description: Day of the month on which the policy should be billed. Should be between 1 and 31. Billing day cannot be changed once a payment method is assigned to the policy.
              example:
                app_data:
                  gadget_color: Space Grey
                  has_screen_cover: true
                billing_day: 7
            example:
              app_data:
                gadget_color: Space Grey
                has_screen_cover: true
              billing_day: 7
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/policy'
              example:
                policy_id: 128ba0c0-3f6a-4f8b-9b40-e2066b02b59e
                policy_number: 1HFCT1CDBJ
                policyholder_id: bf3ab7ce-064d-43b7-811d-0ecd9aca3daf
                package_name: Theft + comprehensive
                sum_assured: 1199900
                base_premium: 14999
                monthly_premium: 50000
                billing_amount: 50000
                billing_day: 7
                billing_frequency: monthly
                start_date: '2017-10-05T00:00:00.000Z'
                end_date: '2018-10-05T00:00:00.000Z'
                policy_schedule_uri: https://sandbox.root.co.za/v1/files/13ab24b3-beed-4f71-aa8f-ad87dc43c6e6
                terms_uri: https://sandbox.root.co.za/v1/files/52f57736-d473-4bce-aa06-cf43d98279e2
                policy_welcome_letter_uri: https://sandbox.root.co.za/v1/files/128ba0c0-3f6a-4f8b-9b40-e2066b02b59e
                created_at: '2017-10-05T18:40:47.281Z'
                module:
                  type: root_gadgets
                  make: Apple
                  model: iPhone 6S 64GB LTE
                  serial_number: '1234567890'
                app_data:
                  gadget_color: Space Grey
                  has_screen_cover: true
                created_by:
                  id: 00000000-0000-0000-0000-000000000001
                  type: user
                scheme_type: individual
                payment_method_id: e0b7b222-772f-47ac-b08d-c7ba38aa1b25
                charges: []
  /policies/{policy_id}/alteration-packages:
    post:
      operationId: create-alteration-package
      summary: Create an alteration package
      tags:
      - Policies
      x-additional-tags:
      - Manage
      parameters:
      - name: policy_id
        in: path
        description: The unique identifier of the [policy](ref:policy)
        required: true
        schema:
          type: string
          example: 128ba0c0-3f6a-4f8b-9b40-e2066b02b59e
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - key
              - data
              properties:
                key:
                  type: string
                  description: The identifier of the alteration hook.
                data:
                  type: object
                  description: Custom module-specific fields stored against the alteration package. See [product modules](doc:product-modules-overview) for more details.
                  additionalProperties: true
                auto_apply:
                  type: boolean
                  description: If true, the first alteration package will be automatically applied to the policy after creation. The response will be an array containing a single applied alteration package.
                ignore_notifications:
                  type: boolean
                  description: If true and auto_apply is true, notifications will not be sent when the alteration package is applied.
              example:
                data:
                  type: root_gadgets
                  model_name: iPhone 6s 64GB LTE
                key: product_module_hook_key
            example:
              data:
                type: root_gadgets
                model_name: iPhone 6s 64GB LTE
              key: product_module_hook_key
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/alteration-packages'
              example:
              - alteration_package_id: f4397823-db4a-4d6a-a06b-08e1a2a3172c
                sum_assured: 1199900
                monthly_premium: 14999
                billing_frequency: monthly
                created_at: '2017-10-12T15:47:34.281Z'
                status: pending
                input_data:
                  type: root_gadgets
                  make: Apple
                  model: iPhone 6S 64GB LTE
                change_description: Updating device
                product_module_definition_id: 9b7b43f4-9ab8-4e37-b42b-59d5595f3983
                policy_id: 128ba0c0-3f6a-4f8b-9b40-e2066b02b59e
                product_module_definition_alteration_hook_id: 2cbbc377-e142-4986-8871-29b0a4c23353
                created_by:
                  id: 00000000-0000-0000-0000-000000000001
                  type: user
                module:
                  type: root_gadgets
                  make: Apple
                  model: iPhone 6S 64GB LTE
  /policies/{policy_id}/alteration-packages/{alteration_package_id}/apply:
    post:
      operationId: apply-alteration-package
      summary: Apply alteration package
      tags:
      - Policies
      x-additional-tags:
      - Manage
      parameters:
      - name: policy_id
        in: path
        description: Must be a UUID. The unique identifier of the [policy](ref:policy).
        required: true
        schema:
          type: string
          example: 128ba0c0-3f6a-4f8b-9b40-e2066b02b59e
      - name: alteration_package_id
        in: path
        description: Must be a UUID. The ID of the  [alteration-packages](ref:alteration-package) to apply to the policy
        required: true
        schema:
          type: string
          example: f22a8783-0c0b-458a-98c6-830ded6b47c2
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/alteration-package'
              example:
                alteration_package_id: f4397823-db4a-4d6a-a06b-08e1a2a3172c
                created_at: '2020-07-30T14:47:16.344Z'
                created_by:
                  type: api_key
                  id: 420df14d-b09d-4d89-84a8-8e3118c9ca23
                  owner_id: 00000000-0000-0000-0000-000000000001
                module:
                  type: root_gadgets
                  make: Apple
                  model: iPhone 6S 64GB LTE
                monthly_premium: 11200
                currency: ZAR
                sum_assured: 329900
                billing_frequency: monthly
                status: applied
                change_description: Updating device
                product_module_definition_id: 9b7b43f4-9ab8-4e37-b42b-59d5595f3983
                input_data:
                  type: root_gadgets
                  make: Apple
                  model: iPhone 6S 64GB LTE
                policy_id: 128ba0c0-3f6a-4f8b-9b40-e2066b02b59e
                product_module_definition_alteration_hook_id: 2cbbc377-e142-4986-8871-29b0a4c23353
  /policies/{policy_id}/attachments:
    get:
      operationId: retrieve-policy-attachments
      summary: List policy attachments
      tags:
      - Policies
      x-additional-tags:
      - Attachments & notes
      parameters:
      - name: policy_id
        in: path
        description: The unique identifier of the [policy](ref:policy).
        required: true
        schema:
          type: string
          example: 128ba0c0-3f6a-4f8b-9b40-e2066b02b59e
      - $ref: '#/components/parameters/page_size'
      - $ref: '#/components/parameters/page'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/attachments'
              example:
                attachment_id: 7f4315b2-a919-11ed-8553-5bb8fbd4817b
                file_name: report.pdf
                file_type: application/pdf
                file_url: http://yoururlhere/report.pdf
                description: Police Report
                created_at: '2022-01-31T11:25:51.557Z'
                requested_by:
                  type: user
                  id: 00000000-0000-0000-0000-000000000001
    post:
      operationId: policy-create-attachment
      summary: Create an attachment
      tags:
      - Policies
      x-additional-tags:
      - Attachments & notes
      parameters:
      - name: policy_id
        in: path
        description: Must be a UUID. The unique identifier of the [policy](ref:policy).
        required: true
        schema:
          type: string
          example: 128ba0c0-3f6a-4f8b-9b40-e2066b02b59e
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - file_name
              - description
              - file_base64
              - file_type
              properties:
                file_name:
                  type: string
                  description: The name of the file (with file extension).
                description:
                  type: string
                  description: A tag describing what the document is about (e.g. affidavit, etc.).
                file_base64:
                  type: string
                  description: The raw file bytes encoded as a base 64 string. Limited to a maximum of 4 MB in size.
                file_type:
                  type: string
                  description: The mime type of the attachment (e.g. image/png).
              example:
                file_name: report.pdf
                file_type: application/pdf
                description: Police Report
                file_base64: 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

# --- truncated at 32 KB (257 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/root/refs/heads/main/openapi/root-policies-api-openapi.yml