## List member ID cards `members.list_id_cards(member_id) -> MemberListIDCardsResponse` **get** `/v1/members/{member_id}/id-cards` Lists a member's benefit ID cards — card type (medical, dental, vision, or rx), employer, plan, provider network, claims payer, carrier contact details, and the disclaimers printed on the card. Medical, dental and vision cards come from the member's active digital benefit cards; the rx card from the member's Ventegra pharmacy benefit (omitted when the member has no free-medication coverage), which carries no plan, network, or carrier details. Access is scoped to the authenticated principal, and an organization caller sees only cards from employers in its book; a member not visible to the caller returns a 404. ### Parameters - `member_id: String` Unique member identifier (mbr_*) ### Returns - `class MemberListIDCardsResponse` Unpaginated `{"data": [...]}` list of member digital benefit cards. - `data: Array[{ card_type, group_id, group_member_id, 11 more}]` - `card_type: :medical | :dental | :vision | :rx` * `medical` - medical * `dental` - dental * `vision` - vision * `rx` - rx - `:medical` - `:dental` - `:vision` - `:rx` - `group_id: String` Group number printed on the card (the rx group id for an rx card) - `group_member_id: String` Member id printed on the card (the Ventegra cardholder id for an rx card) - `member_name: String` Name of the member the card is issued to - `nsa_table: Array[Array[String]]` No Surprises Act cost-sharing table rendered on the card; empty for an rx card - `benefit_code: :EBA | :VPC | :VPC_CORE | 12 more` * `EBA` - Eba Mec * `VPC` - Vpc Enhanced * `VPC_CORE` - Vpc Core * `MEC` - Vpc Mec * `MEC2` - Mec2 * `MEC_PLUS` - Mec Plus * `MVP` - Mvp * `MVP2` - Mvp2 * `MVPSL` - Mvpsl * `MVPSL2` - Mvpsl2 * `VD` - Dental * `VV` - Vision * `ICHRA` - Ichra * `ICHRA_PREMIUM_PLUS` - Ichra Premium Plus * `ICHRA_REIMBURSEMENT_ONLY` - Ichra Reimbursement Only - `:EBA` - `:VPC` - `:VPC_CORE` - `:MEC` - `:MEC2` - `:MEC_PLUS` - `:MVP` - `:MVP2` - `:MVPSL` - `:MVPSL2` - `:VD` - `:VV` - `:ICHRA` - `:ICHRA_PREMIUM_PLUS` - `:ICHRA_REIMBURSEMENT_ONLY` - `carrier_phone: String` Carrier phone number on the card; null for an rx card - `carrier_website: String` Carrier website on the card; null for an rx card - `claims_payer_display_name: String` Claims payer shown on the card - `employer_name: String` Employer the card's coverage is through; null for an rx card without group info - `general_disclaimer: String` General disclaimer text; null for an rx card - `network: { id, address, logo, 8 more}` Provider network shown on the card; null for an rx card - `id: String` - `address: { address_line_1, address_line_2, city, 2 more}` Shared read serializer for a postal address on public API responses. One definition for the address block every public resource emits (employer, employee, …), so the 5-field shape isn't hand-rolled per endpoint. Read-only: it renders an already-built address value object (e.g. `AddressDVO`) whose attributes map 1:1 to these fields. - `address_line_1: String` Primary street address. - `address_line_2: String` Secondary street address (apt, suite, etc.). - `city: String` City name. - `state: String` Two-letter state code (e.g. `CA`, `NY`). - `zipcode: String` ZIP code (5 or 9 digit). - `logo: String` - `member_phone: String` - `name: String` Name of the network - `phone: String` - `provider_phone: String` - `website: String` Website of the network - `edi: String` Network's EDI - `member_website: String` Website for members - `provider_website: String` Website for providers - `plan_disclaimer: String` Plan-specific disclaimer text; null for an rx card - `plan_name: String` Benefit plan name on the card; null for a consumer-membership rx card ### Example ```ruby require "vitable_connect" vitable_connect = VitableConnect::Client.new( api_key: "My API Key", environment: "environment_1" # defaults to "production" ) response = vitable_connect.members.list_id_cards("mbr_abc123def456") puts(response) ``` #### Response ```json { "data": [ { "card_type": "medical", "group_id": "GRP-000123", "group_member_id": "GM-000456", "member_name": "Jane Doe", "employer_name": "Acme Inc.", "plan_name": "MEC Plus Standard", "benefit_code": "MEC_PLUS", "network": { "id": "5f1c1f9e-6d4a-4b21-9f77-2d4c8f0a1b33", "name": "First Health", "logo": "https://assets.vitablehealth.com/networks/first-health.png", "address": { "address_line_1": "123 Main Street", "address_line_2": null, "city": "San Francisco", "state": "CA", "zipcode": "94102" }, "edi": "87726", "website": "https://firsthealth.example.com", "phone": "(800) 555-0100", "member_website": "https://firsthealth.example.com/members", "member_phone": "(800) 555-0101", "provider_website": "https://firsthealth.example.com/providers", "provider_phone": "(800) 555-0102" }, "claims_payer_display_name": "Vitable Health", "carrier_phone": "(800) 555-0100", "carrier_website": "https://vitablehealth.com", "plan_disclaimer": "This plan is not major medical insurance.", "general_disclaimer": "Possession of this card does not guarantee coverage.", "nsa_table": [ [ "Primary care", "$0" ], [ "Specialist", "$40" ] ] }, { "card_type": "rx", "group_id": "TEST125", "group_member_id": "RX-000789", "member_name": "Jane Doe", "employer_name": "Acme Inc.", "plan_name": null, "benefit_code": null, "network": null, "claims_payer_display_name": null, "carrier_phone": null, "carrier_website": null, "plan_disclaimer": null, "general_disclaimer": null, "nsa_table": [] } ] } ```