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.'