Tint Policies API

Policy lifecycle and endorsements.

OpenAPI Specification

tint-policies-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Tint Claims Policies API
  description: Tint API v2 - the embedded protection / insurance-as-a-service infrastructure that powers Tint's Hermes platform. The REST API provides programmatic access to insurance products (programs) and plans, rated quotes, the full policy lifecycle (create, issue, endorse, report usage, cancel, void), claims handling (FNOL through settlement), Decision Engine decisions, Score Module scores, and questionnaires. Every request is authenticated with a Bearer API token; the same token determines whether the request is routed to the sandbox or production environment. Endpoint paths below are modeled from Tint's public documentation at https://docs.tint.ai; request/response schemas are configured per program via Tint's validation schema and are therefore not fully enumerated here.
  termsOfService: https://www.tint.ai
  contact:
    name: Tint
    url: https://www.tint.ai
  version: '2'
servers:
- url: https://api.tint.ai/v2
  description: Tint API v2 (sandbox vs production selected by API token)
security:
- bearerAuth: []
tags:
- name: Policies
  description: Policy lifecycle and endorsements.
paths:
  /policy:
    post:
      operationId: createPolicy
      tags:
      - Policies
      summary: Create a policy.
      responses:
        '201':
          description: Policy created.
  /policy/{id}:
    get:
      operationId: getPolicy
      tags:
      - Policies
      summary: Retrieve a policy.
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Policy.
    put:
      operationId: updatePolicy
      tags:
      - Policies
      summary: Update a policy.
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Updated policy.
  /policy/{id}/issue:
    post:
      operationId: issuePolicy
      tags:
      - Policies
      summary: Issue a policy.
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Issued policy.
  /policy/{id}/report-usage:
    post:
      operationId: reportPolicyUsage
      tags:
      - Policies
      summary: Report usage for a usage-based policy.
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Usage reported.
  /policy/{id}/payment:
    post:
      operationId: recordPolicyPayment
      tags:
      - Policies
      summary: Record a payment against a policy.
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Payment recorded.
  /policy/{id}/cancel:
    post:
      operationId: cancelPolicy
      tags:
      - Policies
      summary: Cancel a policy.
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Policy cancelled.
  /policy/{id}/void:
    post:
      operationId: voidPolicy
      tags:
      - Policies
      summary: Void a policy.
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Policy voided.
  /policy/{policyId}/endorsement:
    post:
      operationId: createEndorsement
      tags:
      - Policies
      summary: Create an endorsement (mid-term change) on a policy.
      parameters:
      - name: policyId
        in: path
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Endorsement created.
  /policy/{policyId}/endorsements:
    get:
      operationId: listEndorsements
      tags:
      - Policies
      summary: List endorsements on a policy.
      parameters:
      - name: policyId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: List of endorsements.
  /policy/{policyId}/endorsement/{id}:
    get:
      operationId: getEndorsement
      tags:
      - Policies
      summary: Retrieve an endorsement.
      parameters:
      - name: policyId
        in: path
        required: true
        schema:
          type: string
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Endorsement.
    put:
      operationId: updateEndorsement
      tags:
      - Policies
      summary: Update an endorsement.
      parameters:
      - name: policyId
        in: path
        required: true
        schema:
          type: string
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Updated endorsement.
  /policy/{policyId}/endorsement/{id}/approve:
    post:
      operationId: approveEndorsement
      tags:
      - Policies
      summary: Approve an endorsement.
      parameters:
      - name: policyId
        in: path
        required: true
        schema:
          type: string
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Endorsement approved.
  /policy/{policyId}/endorsement/{id}/cancel:
    post:
      operationId: cancelEndorsement
      tags:
      - Policies
      summary: Cancel an endorsement.
      parameters:
      - name: policyId
        in: path
        required: true
        schema:
          type: string
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Endorsement cancelled.
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'API token passed as "Authorization: Bearer ${API_TOKEN}". The token determines whether the request is routed to the sandbox or production environment.'