---
title: "Get Eligibility"
method: GET
path: "/coverages/v1//{id}/eligibility/{check_id}"
tags: ["v1"]
---

# Get Eligibility

`GET /coverages/v1//{id}/eligibility/{check_id}`

## Request

- Base URL: `https://pre-api.joincandidhealth.com`
- URL: `https://pre-api.joincandidhealth.com/coverages/v1//{id}/eligibility/{check_id}`
- Auth: HTTP bearer

Gets the eligibility of a patient for a specific coverage if successful.

## Path parameters

- `id` string, uuid, required: The unique identifier for a Coverage in the database
- `check_id` string, required

## Response `200`

Response with status 200

- PreEncounterCoveragesV1CoverageEligibilityCheckResponse
  - `metadata` PreEncounterEligibilityChecksV1EligibilityCheckMetadata, required
    - `check_id` string, required
    - `service_code` '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '10' | '11' | '12' | '13' | '14' | '15' | '16' | '17' | '18' | '19' | '20' | '21' | '22' | '23' | '24' | '25' | '26' | '27' | '28' | '30' | '32' | '33' | '34' | '35' | '36' | '37' | '38' | '39' | '40' | '41' | '42' | '43' | '44' | '45' | '46' | '47' | '48' | '49' | '50' | '51' | '52' | '53' | '54' | '55' | '56' | '57' | '58' | '59' | '60' | '61' | '62' | '63' | '64' | '65' | '66' | '67' | '68' | '69' | '70' | '71' | '72' | '73' | '74' | '75' | '76' | '77' | '78' | '79' | '80' | '81' | '82' | '83' | '84' | '85' | '86' | '87' | '88' | '89' | '90' | '91' | '92' | '93' | '94' | '95' | '96' | '97' | '98' | '99' | 'A0' | 'A1' | 'A2' | 'A3' | 'A4' | 'A5' | 'A6' | 'A7' | 'A8' | 'A9' | 'AA' | 'AB' | 'AC' | 'AD' | 'AE' | 'AF' | 'AG' | 'AH' | 'AI' | 'AJ' | 'AK' | 'AL' | 'AM' | 'AN' | 'AO' | 'AQ' | 'AR' | 'B1' | 'B2' | 'B3' | 'BA' | 'BB' | 'BC' | 'BD' | 'BE' | 'BF' | 'BG' | 'BH' | 'BI' | 'BJ' | 'BK' | 'BL' | 'BM' | 'BN' | 'BP' | 'BQ' | 'BR' | 'BS' | 'BT' | 'BU' | 'BV' | 'BW' | 'BX' | 'BY' | 'BZ' | 'C1' | 'CA' | 'CB' | 'CC' | 'CD' | 'CE' | 'CF' | 'CG' | 'CH' | 'CI' | 'CJ' | 'CK' | 'CL' | 'CM' | 'CN' | 'CO' | 'CP' | 'CQ' | 'DG' | 'DM' | 'DS' | 'GF' | 'GN' | 'GY' | 'IC' | 'MH' | 'NI' | 'ON' | 'PT' | 'PU' | 'RN' | 'RT' | 'TC' | 'TN' | 'UC', required: Code identifying the type of service or benefit within a specific insurance policy (X12 008010 Element 1365)
    - `status` 'COMPLETED' | 'FAILED' | 'PENDING', required: enum to represent the status of an eligibility checks
    - `initiated_by` string, required: The unique identifier for a User in the database
    - `initiated_at` string, date-time, required
  - `check` PreEncounterEligibilityChecksV1EligibilityCheck
    - `batch_id` string
    - `errors` PreEncounterEligibilityChecksV1EligibilityCheckError[]
      - `source` 'CANDID' | 'STEDI', required: enum to represent the source of an error in an eligibility check
      - `errorDetails` PreEncounterEligibilityChecksV1EligibilityCheckErrorDetails, required: This object is our fern representation of Stedi's EligbilityCheckError object from their API.
        - `field?` string
        - `description?` string
        - `location?` string
        - `possibleResolutions?` string
        - `code?` string
        - `followupAction?` string
    - `request` PreEncounterEligibilityChecksV1EligibilityRequest: An object representing the data for an eligibility request.
      - `submitter_transaction_identifier` string: A unique identifier for the eligibility check within the batch. Candid returns this identifier in the response for the /batch/{batch_id} polling endpoint so you can correlate benefit responses with the original eligibility check.
      - `payer_id` string, required: Supported payer ID values can be found [here](https://www.stedi.com/healthcare/network).
      - `provider` union, required
        - PreEncounterEligibilityChecksV1IndividualProvider
          - `first_name` string
          - `last_name` string
          - `npi` string, required
        - PreEncounterEligibilityChecksV1OrganizationProvider
          - `organization_name` string
          - `npi` string, required
      - `subscriber` PreEncounterCoveragesV1MemberInfo, required
        - `member_id` string: Stedi requires that you supply at least one of these fields in the request: memberId, dateOfBirth, or lastName. However, each payer has different requirements, so you should supply as many of the fields necessary for each payer to identify the subscriber/dependent in their system.
        - `first_name` string, required
        - `last_name` string, required
        - `date_of_birth` string, date: Stedi requires that you supply at least one of these fields in the request: memberId, dateOfBirth, or lastName. However, each payer has different requirements, so you should supply as many of the fields necessary for each payer to identify the subscriber/dependent in their system.
      - `dependent` PreEncounterCoveragesV1MemberInfo
        - `member_id` string: Stedi requires that you supply at least one of these fields in the request: memberId, dateOfBirth, or lastName. However, each payer has different requirements, so you should supply as many of the fields necessary for each payer to identify the subscriber/dependent in their system.
        - `first_name` string, required
        - `last_name` string, required
        - `date_of_birth` string, date: Stedi requires that you supply at least one of these fields in the request: memberId, dateOfBirth, or lastName. However, each payer has different requirements, so you should supply as many of the fields necessary for each payer to identify the subscriber/dependent in their system.
      - `encounter` PreEncounterEligibilityChecksV1Encounter
        - `date_of_service` string, date: Defaults to the current date if not provided.
        - `service_type_codes` string[]: Defaults to HealthBenefitPlanCoverage (30) if not provided. <Note>Not all payers support multiple service type codes, so it is recommended to only include a single code per request.</Note>
      - `get_existing_check_initiated_after` string, date-time: If not provided, this endpoint will run a fresh eligibility check. If provided, it will return an existing successful eligibility check if one exists that was initiated after provided date with the same parameters (Date of Service, Payer ID, Provider, Subscriber, Dependent, and Encounter).
      - `source` string
      - `portal_password` string: The password that the provider uses to log in to the payer's portal. This is not commonly used.
      - `portal_username` string: The username that the provider uses to log in to the payer's portal. This is not commonly used.
    - `response` unknown, required
    - `parsed_response` PreEncounterEligibilityChecksV1ParsedResponse
      - `eligibility_status` 'ACTIVE' | 'INACTIVE' | 'UNKNOWN', required: enum to represent the status of a patient's coverage
      - `plan_metadata` PreEncounterCoveragesV1PlanMetadata
        - `payer_name` string
        - `insurance_type` string
        - `insurance_type_code` string
        - `plan_name` string
        - `member_id` string
        - `group_number` string
        - `start_date` string, date
        - `end_date` string, date
        - `plan_dates` PreEncounterCoveragesV1PlanDate[]
          - `start_date` string, date, required
          - `end_date` string, date
          - `field_name` string, required
        - `subscriber` PreEncounterCoveragesV1ExpandedMemberInfo
          - `member_id` string
          - `group_number` string
          - `first_name` string
          - `middle_name` string
          - `last_name` string
          - `date_of_birth` string
          - `gender` string
          - `address` PreEncounterCoveragesV1Address
            - `address1` string
            - `address2` string
            - `city` string
            - `state` string
            - `postal_code` string
            - `country_code` string
            - `country_sub_division_code` string
        - `dependent` PreEncounterCoveragesV1ExpandedMemberInfo
          - `member_id` string
          - `group_number` string
          - `first_name` string
          - `middle_name` string
          - `last_name` string
          - `date_of_birth` string
          - `gender` string
          - `address` PreEncounterCoveragesV1Address
            - `address1` string
            - `address2` string
            - `city` string
            - `state` string
            - `postal_code` string
            - `country_code` string
            - `country_sub_division_code` string
        - `trading_partner` string: The payer's own identifier as returned on the Stedi eligibility response (271) `tradingPartnerServiceId`. Reflects the payer's internal concept of their ID, which may differ from the ID Stedi routes on.
      - `benefits` PreEncounterCoveragesV1CoverageBenefits
        - `plan_coverage` PreEncounterCoveragesV1PlanCoverage
          - `in_network` PreEncounterCoveragesV1PlanCoverageDetails
            - `deductible` PreEncounterCoveragesV1CoverageValue
              - …
            - `deductible_contract` PreEncounterCoveragesV1CoverageValue
              - …
            - `deductible_remaining` PreEncounterCoveragesV1CoverageValue
              - …
            - `deductible_year_to_date` PreEncounterCoveragesV1CoverageValue
              - …
            - `oop_max` PreEncounterCoveragesV1CoverageValue
              - …
            - `oop_max_contract` PreEncounterCoveragesV1CoverageValue
              - …
            - `oop_max_remaining` PreEncounterCoveragesV1CoverageValue
              - …
            - `oop_max_year_to_date` PreEncounterCoveragesV1CoverageValue
              - …
            - `additional_notes` string
          - `in_network_flat` PreEncounterCoveragesV1CoverageDetails[]
            - `type` 'DEDUCTIBLE' | 'DEDUCTIBLE_CONTRACT' | 'DEDUCTIBLE_REMAINING' | 'DEDUCTIBLE_YEAR_TO_DATE' | 'OOP_MAX' | 'OOP_MAX_CONTRACT' | 'OOP_MAX_REMAINING' | 'OOP_MAX_YEAR_TO_DATE' | 'COPAY' | 'COINSURANCE' | 'NON_COVERED' | 'LIMITATION', required
            - `coverageLevel` 'EMPLOYEE_AND_CHILDREN' | 'EMPLOYEE_ONLY' | 'EMPLOYEE_AND_SPOUSE' | 'FAMILY' | 'INDIVIDUAL', required
            - `unit` 'PERCENT' | 'CURRENCY' | 'COUNT', required
            - `value` number, double, required
            - `additional_notes` string
          - `out_of_network` PreEncounterCoveragesV1PlanCoverageDetails
            - `deductible` PreEncounterCoveragesV1CoverageValue
              - …
            - `deductible_contract` PreEncounterCoveragesV1CoverageValue
              - …
            - `deductible_remaining` PreEncounterCoveragesV1CoverageValue
              - …
            - `deductible_year_to_date` PreEncounterCoveragesV1CoverageValue
              - …
            - `oop_max` PreEncounterCoveragesV1CoverageValue
              - …
            - `oop_max_contract` PreEncounterCoveragesV1CoverageValue
              - …
            - `oop_max_remaining` PreEncounterCoveragesV1CoverageValue
              - …
            - `oop_max_year_to_date` PreEncounterCoveragesV1CoverageValue
              - …
            - `additional_notes` string
          - `out_of_network_flat` PreEncounterCoveragesV1CoverageDetails[]
            - `type` 'DEDUCTIBLE' | 'DEDUCTIBLE_CONTRACT' | 'DEDUCTIBLE_REMAINING' | 'DEDUCTIBLE_YEAR_TO_DATE' | 'OOP_MAX' | 'OOP_MAX_CONTRACT' | 'OOP_MAX_REMAINING' | 'OOP_MAX_YEAR_TO_DATE' | 'COPAY' | 'COINSURANCE' | 'NON_COVERED' | 'LIMITATION', required
            - `coverageLevel` 'EMPLOYEE_AND_CHILDREN' | 'EMPLOYEE_ONLY' | 'EMPLOYEE_AND_SPOUSE' | 'FAMILY' | 'INDIVIDUAL', required
            - `unit` 'PERCENT' | 'CURRENCY' | 'COUNT', required
            - `value` number, double, required
            - `additional_notes` string
        - `service_specific_coverage` PreEncounterCoveragesV1ServiceCoverage[]
          - `service_code` '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '10' | '11' | '12' | '13' | '14' | '15' | '16' | '17' | '18' | '19' | '20' | '21' | '22' | '23' | '24' | '25' | '26' | '27' | '28' | '30' | '32' | '33' | '34' | '35' | '36' | '37' | '38' | '39' | '40' | '41' | '42' | '43' | '44' | '45' | '46' | '47' | '48' | '49' | '50' | '51' | '52' | '53' | '54' | '55' | '56' | '57' | '58' | '59' | '60' | '61' | '62' | '63' | '64' | '65' | '66' | '67' | '68' | '69' | '70' | '71' | '72' | '73' | '74' | '75' | '76' | '77' | '78' | '79' | '80' | '81' | '82' | '83' | '84' | '85' | '86' | '87' | '88' | '89' | '90' | '91' | '92' | '93' | '94' | '95' | '96' | '97' | '98' | '99' | 'A0' | 'A1' | 'A2' | 'A3' | 'A4' | 'A5' | 'A6' | 'A7' | 'A8' | 'A9' | 'AA' | 'AB' | 'AC' | 'AD' | 'AE' | 'AF' | 'AG' | 'AH' | 'AI' | 'AJ' | 'AK' | 'AL' | 'AM' | 'AN' | 'AO' | 'AQ' | 'AR' | 'B1' | 'B2' | 'B3' | 'BA' | 'BB' | 'BC' | 'BD' | 'BE' | 'BF' | 'BG' | 'BH' | 'BI' | 'BJ' | 'BK' | 'BL' | 'BM' | 'BN' | 'BP' | 'BQ' | 'BR' | 'BS' | 'BT' | 'BU' | 'BV' | 'BW' | 'BX' | 'BY' | 'BZ' | 'C1' | 'CA' | 'CB' | 'CC' | 'CD' | 'CE' | 'CF' | 'CG' | 'CH' | 'CI' | 'CJ' | 'CK' | 'CL' | 'CM' | 'CN' | 'CO' | 'CP' | 'CQ' | 'DG' | 'DM' | 'DS' | 'GF' | 'GN' | 'GY' | 'IC' | 'MH' | 'NI' | 'ON' | 'PT' | 'PU' | 'RN' | 'RT' | 'TC' | 'TN' | 'UC', required: Code identifying the type of service or benefit within a specific insurance policy (X12 008010 Element 1365)
          - `in_network` PreEncounterCoveragesV1ServiceCoverageDetails
            - `copay` PreEncounterCoveragesV1CoverageValue
              - …
            - `coinsurance` PreEncounterCoveragesV1CoverageValue
              - …
            - `visits` PreEncounterCoveragesV1CoverageValue
              - …
            - `visits_remaining` PreEncounterCoveragesV1CoverageValue
              - …
            - `additional_notes` string
          - `in_network_flat` PreEncounterCoveragesV1CoverageDetails[]
            - `type` 'DEDUCTIBLE' | 'DEDUCTIBLE_CONTRACT' | 'DEDUCTIBLE_REMAINING' | 'DEDUCTIBLE_YEAR_TO_DATE' | 'OOP_MAX' | 'OOP_MAX_CONTRACT' | 'OOP_MAX_REMAINING' | 'OOP_MAX_YEAR_TO_DATE' | 'COPAY' | 'COINSURANCE' | 'NON_COVERED' | 'LIMITATION', required
            - `coverageLevel` 'EMPLOYEE_AND_CHILDREN' | 'EMPLOYEE_ONLY' | 'EMPLOYEE_AND_SPOUSE' | 'FAMILY' | 'INDIVIDUAL', required
            - `unit` 'PERCENT' | 'CURRENCY' | 'COUNT', required
            - `value` number, double, required
            - `additional_notes` string
          - `out_of_network` PreEncounterCoveragesV1ServiceCoverageDetails
            - `copay` PreEncounterCoveragesV1CoverageValue
              - …
            - `coinsurance` PreEncounterCoveragesV1CoverageValue
              - …
            - `visits` PreEncounterCoveragesV1CoverageValue
              - …
            - `visits_remaining` PreEncounterCoveragesV1CoverageValue
              - …
            - `additional_notes` string
          - `out_of_network_flat` PreEncounterCoveragesV1CoverageDetails[]
            - `type` 'DEDUCTIBLE' | 'DEDUCTIBLE_CONTRACT' | 'DEDUCTIBLE_REMAINING' | 'DEDUCTIBLE_YEAR_TO_DATE' | 'OOP_MAX' | 'OOP_MAX_CONTRACT' | 'OOP_MAX_REMAINING' | 'OOP_MAX_YEAR_TO_DATE' | 'COPAY' | 'COINSURANCE' | 'NON_COVERED' | 'LIMITATION', required
            - `coverageLevel` 'EMPLOYEE_AND_CHILDREN' | 'EMPLOYEE_ONLY' | 'EMPLOYEE_AND_SPOUSE' | 'FAMILY' | 'INDIVIDUAL', required
            - `unit` 'PERCENT' | 'CURRENCY' | 'COUNT', required
            - `value` number, double, required
            - `additional_notes` string
        - `benefits_related_entities` PreEncounterCoveragesV1BenefitsRelatedEntity[]
          - `entityIdentifier` string
          - `entityType` string
          - `entityName` string
          - `contactInformation` PreEncounterCoveragesV1RelatedEntityContact[]
            - `mode` string
            - `value` string
          - `serviceTypeCodes` PreEncounterCoveragesV1ServiceTypeCode[]
        - `non_covered_details` PreEncounterCoveragesV1NonCoveredDetail[]
          - `type` 'DEDUCTIBLE' | 'DEDUCTIBLE_CONTRACT' | 'DEDUCTIBLE_REMAINING' | 'DEDUCTIBLE_YEAR_TO_DATE' | 'OOP_MAX' | 'OOP_MAX_CONTRACT' | 'OOP_MAX_REMAINING' | 'OOP_MAX_YEAR_TO_DATE' | 'COPAY' | 'COINSURANCE' | 'NON_COVERED' | 'LIMITATION', required
          - `coverageLevel` 'EMPLOYEE_AND_CHILDREN' | 'EMPLOYEE_ONLY' | 'EMPLOYEE_AND_SPOUSE' | 'FAMILY' | 'INDIVIDUAL', required
          - `unit` 'PERCENT' | 'CURRENCY' | 'COUNT', required
          - `value` number, double, required
          - `additional_notes` string
          - `service_type_codes` PreEncounterCoveragesV1ServiceTypeCode[]
        - `notes` string
        - `autoUpdatedEligibilityCheckId` string
    - `request_corrections` PreEncounterEligibilityChecksV1RequestCorrection[]
      - `property` string, required
      - `request_value` string, required
      - `corrected_value` string, required

## Changes

- **2026-09-17** `24b2d80d577a`: 1 breaking, 1 warning, 4 info
  - the response's body type changed from no type to `object` for status `200`
  - deleted the `header` request parameter `Authorization`
  - the endpoint scheme security `OAuthScheme` was added to the API
  - for the `path` request parameter `id`, the type was generalized from no type to `string`, and format from no format to `uuid`
  - …2 more
- **2026-09-12** `3a81ee81d4ed`: 1 info
  - api operation id `get_eligibility` removed and replaced with `v1_get_eligibility`

[Operation history](https://skmtc.dev/joincandidhealth/apis/api-reference/changes/coverages/v1/:id/eligibility/:check_id/get.md)

---

[API](https://skmtc.dev/joincandidhealth/apis/api-reference.md) - [All operations](https://skmtc.dev/joincandidhealth/apis/api-reference/llms.txt) - [OpenAPI document](https://skmtc.dev/joincandidhealth/apis/api-reference/revisions/d8b0a61873e2?raw)
