## Reissue an enrollment `enrollments.reissue(strenrollment_id, EnrollmentReissueParams**kwargs) -> EnrollmentReissueResponse` **post** `/v1/enrollments/{enrollment_id}/reissue` Closes the targeted enrollment and creates a new unanswered enrollment for the same member and plan year. VPC never requires a qualifying life event; other products require an accepted, member-owned event outside open enrollment. User-backed callers must provide a reason; it is optional for userless organization callers. Tenant mismatches return a non-disclosing 404 before the request body is validated. ### Parameters - `enrollment_id: str` Unique enrollment identifier (enrl_*) - `qualifying_life_event_id: Optional[str]` Accepted member qualifying life event identifier (qle_*) - `reason: Optional[str]` Audit reason for the reissue; required for user-backed callers and optional for userless organization callers - `ticket_number: Optional[str]` Optional support or operational ticket number ### Returns - `class EnrollmentReissueResponse: …` Response containing a single reissue enrollment resource. - `data: Data` - `enrollment_id: str` Opaque identifier for the new unanswered enrollment ### Example ```python import os from vitable_connect import VitableConnect client = VitableConnect( api_key=os.environ.get("VITABLE_CONNECT_API_KEY"), # This is the default and can be omitted ) response = client.enrollments.reissue( enrollment_id="enrl_AAAAAAAAAAAAAAAAAAAAAQ", qualifying_life_event_id="qle_AAAAAAAAAAAAAAAAAAAAAQ", reason="Member needs a new election after a qualifying event.", ticket_number="BPT-1234", ) print(response.data) ``` #### Response ```json { "data": { "enrollment_id": "enrl_AAAAAAAAAAAAAAAAAAAAAQ" } } ```