> ## Documentation Index
> Fetch the complete documentation index at: https://api-docs.goanagram.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Eligibility Result V2

> Provides status and results of an eligibility check

The V2 endpoint expands on V1 by returning comprehensive in-network benefit details, including coinsurance, allowances, and additional coverage information.

## Flags

Benefits and benefit properties might be context-dependent, which is indicated by flags. When flags are not specified, the benefit or property is always applicable. Child benefits inherit the flag-dependent properties of parent benefits.

* `inn` — benefit or property is applicable only in-network
* `oon` — benefit or property is applicable only out-of-network
* `exclusive-use` — only one benefit of the same level can be used per policy year
* `required` — benefit is required to be used for the parent benefit to kick in
* `requires-parent-use` — benefit can be used if the parent benefit is already used


## OpenAPI

````yaml GET /api/auth/v2/eligibility/{request_uid}/
openapi: 3.0.2
info:
  title: Anagram backend
  version: 1.0.0
servers:
  - url: https://api.anagram.care
    description: Authenticated API
security:
  - ApiToken: []
tags:
  - name: public-auth_Eligibility Request
    x-displayName: Eligibility Request
    description: >-
      Requesting patient's eligibility uses the following parameters:


      - First name (required)

      - Last name (required)

      - Date of birth (required)

      - Last four digits from SSN (optional)

      - Zip code (required)

      - Insurer Member ID (optional)

      - Request UID (optional)


      This call is asynchronous, it initiates an eligibility search and returns
      a UID assigned to this request.

      The result will be returned in two ways:

      - Via active [webhooks](https://provider.anagram.care/webhooks) once
      available - preferred.

      Request UID will be included in payload.

      - By calling the "Eligibility Result" endpoint - only to be used as
      fallback. Request UID is required.


      If specifying a UID, ensure it is unique. If omitted one will be generated
      automatically

      and included in the response for this API call.


      Authentication is required for this endpoint. Access token can be obtained

      in [provider app](https://provider.anagram.care/). Access token must be
      sent in `Authorization` header,

      prefaced with `API `:


      `Authorization: Api <key generated in provider app>`


      The response will contain the request UID or a validation error.


      Error examples:

      ```

      {
          "errors": {"$": ["Wrong insurer code"]}
      }

      ```

      ```

      {
          "errors": {
              "patient": {
                  "first_name": {"$": ["This field cannot be blank."]}
              }
          }
      }

      ```


      For testing purposes, you can include cheat codes in the request. Cheat
      codes can be provided in the fields

      `first_name`, `last_name`, and `member_id`. Here are some examples of
      cheat codes:


      - `mark_used`: This cheat code marks all benefits as used.


      - `dt_exam_used`: This cheat code marks exam benefit as used.


      - `no_oon`: Removes all out-of-network benefits from the plan.


      - `no_inn`: Removes all in-network benefits from the plan. You can use
      both `no_oon` and `no_inn` codes together to

      generate a plan without any benefits.


      - `delay_10`, `delay_30`: These codes introduce a delay in the response,
      causing it to wait for either 10 or 30

      seconds before providing an answer.


      - `big_family`: This cheat code adds multiple persons to the result.


      - `not_found`: Using this cheat code will delete all results.


      - `in_err_int`: This cheat code simulates a problem and triggers the
      `unexpected_error`.
  - name: public-auth_Eligibility Result
    x-displayName: Eligibility Result
    description: >-
      Eligibility search result will be sent to all active webhooks once
      available.

      As a fallback, you may call this endpoint to check result status and
      obtain the result.


      ### Status


      The `status` field in the response can have one of the following values:


      `complete` - Indicates that the search has been completed.


      `processing` - Signifies that the search is currently in progress, and it
      is recommended to retry the request later.


      `error` - Suggests that the search dit not finished successfully, and you
      can find descriptions of error codes

      below.


      ### Error codes


      `insurer_problem` – Insurer not available, please try again later


      `unexpected_error` – Unknown error


      ### Webhooks


      Add webhooks to receive results in the [provider
      app](https://provider.anagram.care/webhooks).

      Webhook payload will be identical to the response of this endpoint.


      When configuring a webhook you can provide a secret to sign the webhook
      payload

      and check the signature on the server side.


      Signature will be sent in `X-Signature` header in request to webhook
      endpoint.


      Signature is a request raw data signed with secret by HMAC SHA256
      algorithm. Python example:


      ```

      import hashlib

      import hmac


      def get_signature(secret_key: str, payload: str) -> str:
          return hmac.new(secret_key.encode(), payload.encode(), hashlib.sha256).hexdigest()
      ```
  - name: public-auth_Eligibility Details Request
    x-displayName: Eligibility Details Request
    description: |-
      Requesting plan for patient's eligibility uses the following parameters:

      - Initial request uid (required)
      - Result id from initial request (required)
      - Person id from initial request (required)
      - Details request UID (optional)
  - name: public-auth_Patient
    x-displayName: Patient
  - name: public-auth_Patient eligibility link
    x-displayName: Patient eligibility link
paths:
  /api/auth/v2/eligibility/{request_uid}/:
    parameters:
      - name: request_uid
        in: path
        required: true
        allowEmptyValue: false
        schema:
          type: string
    get:
      tags:
        - public-auth_Eligibility Result
      summary: Get Eligibility Check v2
      description: Provides status and results of an eligibility check
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                required:
                  - request_uid
                  - status
                properties:
                  request_uid:
                    type: string
                    description: UID provided on request creation or auto generated
                  status:
                    type: string
                    enum:
                      - processing
                      - complete
                      - error
                    description: ''
                  error_code:
                    type: string
                    nullable: true
                  results:
                    type: array
                    nullable: true
                    items:
                      type: object
                      required:
                        - insurer_code
                        - persons
                      properties:
                        id:
                          type: integer
                        status:
                          type: string
                          enum:
                            - active
                            - inactive
                            - out_of_network
                            - unavailable
                          description: ''
                        plan_name:
                          type: string
                        plan_group:
                          type: string
                        plan_group_id:
                          type: string
                          nullable: true
                        plan_begin_date:
                          type: string
                          format: date
                        plan_end_date:
                          type: string
                          format: date
                          nullable: true
                        plan_refresh_date:
                          type: string
                          format: date
                          nullable: true
                        insurer_code:
                          type: string
                        plan_is_active:
                          type: boolean
                        persons:
                          type: array
                          items:
                            type: object
                            required:
                              - plan
                            properties:
                              first_name:
                                type: string
                              last_name:
                                type: string
                              dob:
                                type: string
                                format: date
                              sex:
                                type: string
                              member_id:
                                type: string
                                nullable: true
                              ssn_last_four:
                                type: string
                                nullable: true
                              type:
                                type: string
                              address:
                                type: object
                                properties:
                                  line1:
                                    type: string
                                  line2:
                                    type: string
                                    nullable: true
                                  city:
                                    type: string
                                  zipcode:
                                    type: string
                                  state:
                                    type: string
                              email:
                                type: string
                                nullable: true
                              phone:
                                type: string
                              id:
                                type: integer
                              full_name:
                                type: string
                                description: Can be used instead of first and last names
                              is_active:
                                type: boolean
                                nullable: true
                                description: >-
                                  False is person is inactive, True or None (for
                                  compatibility) if person has active plan
                              plan:
                                type: object
                                required:
                                  - insurer_state
                                  - items
                                properties:
                                  refresh_date:
                                    type: string
                                    format: date
                                    nullable: true
                                  insurer_state:
                                    type: string
                                    enum:
                                      - inn
                                      - oon
                                    description: >-
                                      Plan includes only in-network (inn)
                                      benefits or also out-of-network (oon) ones
                                  begin_date:
                                    type: string
                                    format: date
                                    nullable: true
                                  end_date:
                                    type: string
                                    format: date
                                    nullable: true
                                  flags:
                                    type: array
                                    items:
                                      type: string
                                      description: >-
                                        Specific properties of the plan that are
                                        not otherwise expressed in the benefit
                                        records. Possible values are TBD.
                                  copayment:
                                    $ref: '#/components/schemas/FlagBasedDouble'
                                  coinsurance:
                                    $ref: '#/components/schemas/FlagBasedDouble'
                                  allowance:
                                    $ref: '#/components/schemas/FlagBasedDouble'
                                  allowance_accepted:
                                    $ref: '#/components/schemas/FlagBasedDouble'
                                  allowance_reserved:
                                    $ref: '#/components/schemas/FlagBasedDouble'
                                  discount:
                                    $ref: '#/components/schemas/FlagBasedDouble'
                                  margin_limit:
                                    $ref: '#/components/schemas/FlagBasedDouble'
                                  is_authorization_required:
                                    $ref: '#/components/schemas/FlagBasedBoolean'
                                  items:
                                    $ref: '#/components/schemas/PlanBenefit'
              examples:
                Details request result:
                  value:
                    request_uid: f2edce8e783e4a42a50029a5ea0b0fe4
                    status: complete
                    error_code: null
                    results:
                      - insurer_code: insurer:vision:vsp
                        id: 0
                        plan_is_active: true
                        status: active
                        plan_name: VSP Choice Plan
                        plan_group: MAN GOFORG / WYMAN GORDON COMPANY
                        plan_group_id: 30057697-0001
                        plan_begin_date: '2023-02-01'
                        plan_end_date: null
                        plan_refresh_date: null
                        persons:
                          - first_name: DAN L
                            last_name: CAMPUS
                            dob: '1963-07-11'
                            sex: male
                            member_id: null
                            ssn_last_four: '1234'
                            type: self
                            address:
                              line1: 39 CAN ROAD
                              line2: null
                              city: WALLER
                              zipcode: 77484-3862
                              state: TX
                            email: null
                            phone: '8324579375'
                            id: 0
                            full_name: DAN L CAMPUS
                            is_active: null
                            plan:
                              insurer_state: oon
                              begin_date: '2026-01-01'
                              refresh_date: '2026-12-31'
                              items:
                                - benefit_code: EXAM
                                  comment: Route eye exam with refraction
                                  refresh_date: '2026-12-31'
                                  copayment:
                                    - flags:
                                        - inn
                                      value: '10.0000'
                                    - flags:
                                        - oon
                                      value: '15.0000'
                                  allowance:
                                    - flags:
                                        - oon
                                      value: '45.0000'
                                  quantity:
                                    - value: 1
                                  quantity_accepted:
                                    - value: 0
                                  quantity_reserved:
                                    - value: 0
                                - benefit_code: MATERIAL
                                  refresh_date: '2026-12-31'
                                  items:
                                    - benefit_code: GLASSES
                                      flags:
                                        - exclusive-use
                                      copayment:
                                        - value: '25.0000'
                                      items:
                                        - benefit_code: FRAME
                                          allowance:
                                            - flags:
                                                - oon
                                              value: '70.0000'
                                            - flags:
                                                - inn
                                              value: '130.0000'
                                          quantity:
                                            - value: 1
                                          quantity_accepted:
                                            - value: 0
                                          quantity_reserved:
                                            - value: 0
                                          items:
                                            - benefit_code: FRAME_TIER_1
                                              flags:
                                                - inn
                                              allowance:
                                                - value: '20.0000'
                                              quantity:
                                                - value: 1
                                              quantity_accepted:
                                                - value: 0
                                              quantity_reserved:
                                                - value: 0
                                            - benefit_code: FRAME_TIER_2
                                              flags:
                                                - inn
                                              end_date: '2026-06-30'
                                              allowance:
                                                - value: '40.0000'
                                              quantity:
                                                - value: 1
                                              quantity_accepted:
                                                - value: 0
                                              quantity_reserved:
                                                - value: 0
                                        - benefit_code: LENS
                                          quantity:
                                            - value: 2
                                          quantity_accepted:
                                            - value: 0
                                          quantity_reserved:
                                            - value: 0
                                          items:
                                            - benefit_code: LENS_ANY
                                              flags:
                                                - inn
                                                - exclusive-use
                                            - benefit_code: LENS_1F
                                              flags:
                                                - oon
                                                - exclusive-use
                                              allowance:
                                                - value: '50.0000'
                                            - benefit_code: LENS_2F
                                              flags:
                                                - oon
                                                - exclusive-use
                                              allowance:
                                                - value: '60.0000'
                                            - benefit_code: LENS_3F
                                              flags:
                                                - oon
                                                - exclusive-use
                                              allowance:
                                                - value: '70.0000'
                                            - benefit_code: LENS_MATERIAL
                                              flags:
                                                - inn
                                                - requires-parent-use
                                                - required
                                              items:
                                                - benefit_code: LENS_MATERIAL_CR39
                                                  flags:
                                                    - exclusive-use
                                                  copayment:
                                                    - value: '0.0000'
                                                - benefit_code: LENS_MATERIAL_POLYCORBANATE
                                                  flags:
                                                    - exclusive-use
                                                  copayment:
                                                    - value: '30.0000'
                                                - benefit_code: LENS_MATERIAL_HI_INDEX
                                                  flags:
                                                    - exclusive-use
                                                  copayment:
                                                    - value: '50.0000'
                                            - benefit_code: LENS_ADDON
                                              flags:
                                                - inn
                                                - requires-parent-use
                                              items:
                                                - benefit_code: LENS_ADDON_SCRETCH_RESISTANCE
                                                  copayment:
                                                    - value: '17.0000'
                                                - benefit_code: LENS_ADDON_ANTI_REFLECTIVE
                                                  copayment:
                                                    - value: '41.0000'
                                    - benefit_code: CONTACT
                                      flags:
                                        - exclusive-use
                                      copayment:
                                        - flags:
                                            - oon
                                          value: '0.0000'
                                      allowance:
                                        - flags:
                                            - oon
                                          value: '110.0000'
                                      items:
                                        - benefit_code: CONTACT_FIT
                                          flags:
                                            - requires-parent-use
                                          copayment:
                                            - flags:
                                                - inn
                                              value: '60.0000'
                                        - benefit_code: CONTACT_LENS
                                          flags:
                                            - required
                                          copayment:
                                            - flags:
                                                - inn
                                              value: '0.0000'
                                          allowance:
                                            - flags:
                                                - inn
                                              value: '130.0000'
                  summary: Details request outcome with primary member only
                Search is in progress:
                  value:
                    request_uid: f2edce8e783e4a42a50029a5ea0b0fe4
                    status: processing
                    error_code: null
                    results: null
                  summary: Request still in progress
                Insurer error:
                  value:
                    request_uid: f2edce8e783e4a42a50029a5ea0b0fe4
                    status: error
                    error_code: insurer_problem
                    results: null
                  summary: Insurer could not process request
                Unexpected search error:
                  value:
                    request_uid: f2edce8e783e4a42a50029a5ea0b0fe4
                    status: error
                    error_code: unexpected_error
                    results: null
                  summary: Unexpected error, request could not be processed
        '404':
          description: JSON object response
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    type: string
              examples:
                Example:
                  value:
                    detail: Eligibility not found (unknown-id)
                  summary: Unknown request ID
components:
  schemas:
    FlagBasedDouble:
      description: Applicable value should be chosen based on flags
      type: array
      items:
        type: object
        required:
          - value
        properties:
          flags:
            $ref: '#/components/schemas/Flags'
          comment:
            type: string
          value:
            type: number
            format: double
    FlagBasedBoolean:
      description: Applicable value should be chosen based on flags
      type: array
      items:
        type: object
        required:
          - value
        properties:
          flags:
            $ref: '#/components/schemas/Flags'
          comment:
            type: string
          value:
            type: boolean
    PlanBenefit:
      type: array
      description: >-
        Recursive list of benefit items. Each benefit item can contain
        additional benefit items in `items` property, forming a hierarchy of
        benefits with unlimited nesting depth.
      items:
        $ref: '#/components/schemas/PlanBenefitItem'
    Flags:
      type: array
      items:
        type: string
        enum:
          - inn
          - oon
          - exclusive-use
          - required
          - requires-parent-use
        description: ''
    PlanBenefitItem:
      type: object
      required:
        - benefit_code
        - refresh_date
      properties:
        benefit_code:
          type: string
        flags:
          $ref: '#/components/schemas/Flags'
        comment:
          type: string
        refresh_date:
          type: string
          format: date
        copayment:
          $ref: '#/components/schemas/FlagBasedDouble'
        coinsurance:
          $ref: '#/components/schemas/FlagBasedDouble'
        allowance:
          $ref: '#/components/schemas/FlagBasedDouble'
        allowance_accepted:
          $ref: '#/components/schemas/FlagBasedDouble'
        allowance_reserved:
          $ref: '#/components/schemas/FlagBasedDouble'
        discount:
          $ref: '#/components/schemas/FlagBasedDouble'
        quantity:
          $ref: '#/components/schemas/FlagBasedInteger'
        quantity_accepted:
          $ref: '#/components/schemas/FlagBasedInteger'
        quantity_reserved:
          $ref: '#/components/schemas/FlagBasedInteger'
        margin_limit:
          $ref: '#/components/schemas/FlagBasedDouble'
        is_authorization_required:
          $ref: '#/components/schemas/FlagBasedBoolean'
        items:
          $ref: '#/components/schemas/PlanBenefit'
    FlagBasedInteger:
      description: Applicable value should be chosen based on flags
      type: array
      items:
        type: object
        required:
          - value
        properties:
          flags:
            $ref: '#/components/schemas/Flags'
          comment:
            type: string
          value:
            type: integer
  securitySchemes:
    ApiToken:
      type: apiKey
      in: header
      name: Authorization
      description: >
        Your API token prefaced with an "Api" prefix. Example value: "Api
        B3F4242424E3FDB4242424242A9C7642"

````