openapi: 3.1.0 info: title: Assurant APEX Embedded Insurance API description: >- The Assurant APEX (Assurant Product Experience Exchange) platform provides embedded insurance APIs that enable partners to integrate protection products, claims management, and diagnostics into their workflows. The scalable API platform supports 99.95% uptime and covers multiple product lines across various industries. version: '2026-01-01' contact: name: Assurant Developer Portal url: https://api-prod.portal.assurant.com externalDocs: description: Assurant APEX Documentation url: https://www.assurant.com/partner-with-us/apex servers: - url: https://api-prod.portal.assurant.com description: Production tags: - name: Claims description: Claims filing and management - name: Enrollments description: Customer enrollment operations - name: Policies description: Insurance policy management - name: Products description: Insurance product catalog security: - apiKeyAuth: [] paths: /products: get: operationId: listProducts summary: List insurance products description: Retrieve available insurance and protection products. tags: - Products parameters: - name: category in: query schema: type: string enum: - device-protection - renters-insurance - auto - connected-living responses: '200': description: Successful response content: application/json: schema: type: object properties: products: type: array items: $ref: '#/components/schemas/Product' '401': description: Unauthorized /enrollments: post: operationId: createEnrollment summary: Create enrollment description: Enroll a customer in an insurance or protection product. tags: - Enrollments requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/EnrollmentRequest' responses: '201': description: Enrollment created content: application/json: schema: $ref: '#/components/schemas/Enrollment' '400': description: Bad request /claims: post: operationId: fileClaim summary: File a claim description: Submit a new insurance claim. tags: - Claims requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ClaimRequest' responses: '201': description: Claim filed content: application/json: schema: $ref: '#/components/schemas/Claim' '400': description: Bad request /claims/{claimId}: get: operationId: getClaim summary: Get claim status description: Retrieve the status and details of an existing claim. tags: - Claims parameters: - name: claimId in: path required: true schema: type: string responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/Claim' '404': description: Claim not found /policies: get: operationId: listPolicies summary: List policies description: Retrieve a list of insurance policies. tags: - Policies responses: '200': description: Successful response content: application/json: schema: type: object properties: policies: type: array items: $ref: '#/components/schemas/Policy' components: securitySchemes: apiKeyAuth: type: apiKey in: header name: X-API-Key schemas: Product: type: object properties: productId: type: string name: type: string category: type: string description: type: string pricing: type: object properties: amount: type: number format: double currency: type: string EnrollmentRequest: type: object required: - productId - customerId properties: productId: type: string customerId: type: string effectiveDate: type: string format: date Enrollment: type: object properties: enrollmentId: type: string productId: type: string customerId: type: string status: type: string effectiveDate: type: string format: date ClaimRequest: type: object required: - policyId - description properties: policyId: type: string description: type: string incidentDate: type: string format: date Claim: type: object properties: claimId: type: string policyId: type: string status: type: string enum: - submitted - under_review - approved - denied - paid description: type: string filedDate: type: string format: date Policy: type: object properties: policyId: type: string productId: type: string customerId: type: string status: type: string enum: - active - cancelled - expired effectiveDate: type: string format: date expirationDate: type: string format: date