Sun Life Coverage API

The Coverage API from Sun Life — 5 operation(s) for coverage.

Operations 5

GET /Coverage /Coverage - GET #
GET /Coverage/{id} /Coverage/{id} - GET #
GET /Coverage/{id}/_history/{vid} /Coverage/{id}/_history/{vid} - GET #
GET /Coverage/{id}/_history /Coverage/{id}/_history - GET #
GET /Coverage/_history /Coverage/_history - GET #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/sun-life-coverage-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

sun-life-coverage-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Fhir Patient Access Coverage API
  description: "**Patient Access API for CMS 9115-F**\n\nTo access the DentaQuest Patient Access API, a third-party application must obtain a valid JWT token by following the SMART on FHIR authorization framework.\n\n**1. Get Your Credentials** To begin, you must request a `client_id` and `client_secret` by completing the request form available at: [Logic Manager Form](https://dentaquest.logicmanager.com/incidents/?t=1241&p=215&k=F0E3BD92F157F9B73EDE82834286E7CEA4044134B39D92AC3EE7E56392194241)\n\n**2. Authorize and Get a Token** With your credentials, you can initiate the authorization flow to obtain member consent and exchange the resulting authorization code for a JWT token.\n\n- **Authorization Endpoint:** `https://api.dentaquest.com/FhirPatientAccess/v1/authorize`\n    \n- **Token Endpoint:** `https://api.dentaquest.com/FhirPatientAccess/v1/token`\n    \n\nFor a detailed guide on this process, refer to the [SMART App Launch Framework](https://hl7.org/fhir/smart-app-launch/1.0.0/).\n\n### **API Standards and Conformance**\n\nThis API conforms to the following standards and implementation specifications:\n\n- **FHIR Version:** `4.0.1` (R4)\n    \n- **Implementation Guide:** `HL7 US Core Implementation Guide 7.0.0-ballot`\n    \n- **Security:** \n    - `SMART Application Launch Framework Implementation Guide Release 1.0.0`\n    - `OpenID Connect Core 1.0`\n    \n\n### **Exception Handling**\n\nThe API uses standard HTTP status codes to indicate the success or failure of a request. In the event of an error (HTTP status codes `4xx` or `5xx`), for example an invalid SMART on FHIR Token (`403 Forbidden`) or a malformed request (`400 Bad Request`). The response body will also contain a FHIR `OperationOutcome` resource. This resource provides detailed, structured information about the error, including severity, error codes, and human-readable diagnostics to assist with troubleshooting.\n\n### **Exception Response**\n| HTTP Status | Response                | Reason                                                                                                                               |\n| ----------- | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |\n| **400**     | `Bad Request`           | The request could not be understood by the server due to malformed syntax (e.g., an invalid parameter).                              |\n| **401**     | `Unauthorized`          | The request lacks valid authentication credentials. This may occur if the JWT token is missing, expired, or invalid.                 |\n| **403**     | `Forbidden`             | The server understood the request, but refuses to authorize it. This may occur if the member has not granted the application access. |\n| **404**     | `Not Found`             | The requested FHIR resource (e.g., a specific Patient or Coverage record) does not exist.                                            |\n| **500**     | `Internal Server Error` | The server encountered an unexpected condition that prevented it from fulfilling the request.                                        |\n\n"
  version: v1
servers:
- url: https://api.dentaquest.com/FhirPatientAccess/v1
- url: https://api.deltadentalma.com/FhirPatientAccess/v1
tags:
- name: Coverage
paths:
  /Coverage:
    get:
      summary: /Coverage - GET
      description: /Coverage - GET
      operationId: get-coverage
      parameters:
      - name: payor
        in: query
        description: The identity of the insurer or party paying for services
        schema:
          type: string
      - name: _id
        in: query
        description: Logical id of this artifact
        schema:
          type: string
      - name: _profile
        in: query
        description: Profiles this resource claims to conform to
        schema:
          type: string
      - name: type
        in: query
        description: The kind of coverage (health plan, auto, Workers Compensation)
        schema:
          type: string
      - name: subscriber
        in: query
        description: Reference to the subscriber
        schema:
          type: string
      - name: status
        in: query
        description: The status of the Coverage
        schema:
          type: string
      - name: policy-holder
        in: query
        description: Reference to the policyholder
        schema:
          type: string
      - name: class-value
        in: query
        description: Value of the class (eg. Plan number, group number)
        schema:
          type: string
      - name: _lastUpdated
        in: query
        description: Format - date (as full-date in RFC3339). Format - date (as full-date in RFC3339). When the resource version last changed
        schema:
          type: string
          format: date
      - name: _security
        in: query
        description: Security Labels applied to this resource
        schema:
          type: string
      - name: patient
        in: query
        description: Retrieve coverages for a patient
        schema:
          type: string
      - name: beneficiary
        in: query
        description: Covered party
        schema:
          type: string
      - name: _source
        in: query
        description: Identifies where the resource comes from
        schema:
          type: string
      - name: _tag
        in: query
        description: Tags applied to this resource
        schema:
          type: string
      - name: identifier
        in: query
        description: The primary identifier of the insured and the coverage
        schema:
          type: string
      - name: class-type
        in: query
        description: Coverage class (eg. plan, group)
        schema:
          type: string
      - name: dependent
        in: query
        description: Dependent number
        schema:
          type: string
      - name: _format
        in: query
        description: Output formatting
        schema:
          type: string
      responses:
        '200':
          description: Success
      tags:
      - Coverage
  /Coverage/{id}:
    get:
      summary: /Coverage/{id} - GET
      description: /Coverage/{id} - GET
      operationId: get-coverage-id
      parameters:
      - name: id
        in: path
        description: id of resource
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
      tags:
      - Coverage
  /Coverage/{id}/_history/{vid}:
    get:
      summary: /Coverage/{id}/_history/{vid} - GET
      description: /Coverage/{id}/_history/{vid} - GET
      operationId: get-coverage-id-_history-vid
      parameters:
      - name: id
        in: path
        description: id of resource
        required: true
        schema:
          type: string
      - name: vid
        in: path
        description: version id of resource
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
      tags:
      - Coverage
  /Coverage/{id}/_history:
    get:
      summary: /Coverage/{id}/_history - GET
      description: /Coverage/{id}/_history - GET
      operationId: get-coverage-id-_history
      parameters:
      - name: id
        in: path
        description: id of resource
        required: true
        schema:
          type: string
      - name: _count
        in: query
        description: number to return
        schema:
          type: string
      - name: _since
        in: query
        description: how far back
        schema:
          type: string
      responses:
        '200':
          description: Success
      tags:
      - Coverage
  /Coverage/_history:
    get:
      summary: /Coverage/_history - GET
      description: /Coverage/_history - GET
      operationId: get-coverage-_history
      parameters:
      - name: _count
        in: query
        description: number to return
        schema:
          type: string
      - name: _since
        in: query
        description: how far back
        schema:
          type: string
      responses:
        '200':
          description: Success
      tags:
      - Coverage