> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://developer.vitablehealth.com/api/carrier-applications/record-carrier-application-status-update/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://developer.vitablehealth.com/_mcp/server. # Record a carrier application status update POST https://api.vitablehealth.com/v1/carrier-applications/{carrier_application_id}/status-updates Content-Type: application/json Records the latest status the carrier reported for an application completed directly with the carrier, and returns the updated application. Include only the statuses that changed; sending the same statuses with a later `observed_at` confirms they are still current. Returns 409 when the application doesn't accept status updates, the update conflicts with its current status, or a more recent `observed_at` has already been recorded, and 404 when the application doesn't exist or isn't accessible. Reference: https://developer.vitablehealth.com/api/carrier-applications/record-carrier-application-status-update ## Authentication - `Authorization` header (bearer token, required) — API Key or Access Token authentication using Bearer token in Authorization header. API keys use the vit_apk_ prefix, access tokens use the vit_at_ prefix. ## Servers - `https://api.vitablehealth.com` (Production, default) - `https://api.uat.vitablehealth.com` (UAT) ## Request ### Path parameters - `carrier_application_id` (string, required) ### Headers - `X-Vitable-Organization` (string, optional) — Organization to act as for this request (e.g. `org_SGVsbG8gV29ybGQ`). Optional when your credentials reach a single organization. Required when they reach several — omitting it then returns 400 `organization_required`. A malformed value returns 400 `invalid_organization_header`, and naming an organization you do not have access to returns 403 `organization_access_denied`. ### Body (application/json) This endpoint expects a RecordCarrierApplicationStatusUpdateRequest. - `observed_at` (datetime, required) — When the carrier reported this status. - `application_status` (enum, optional, nullable) — The application's status at the carrier. * `not_started` - not_started * `in_progress` - in_progress * `submitted` - submitted * `submission_failed` - submission_failed * `cancelled` - cancelled - Allowed values: `not_started`, `in_progress`, `submitted`, `submission_failed`, `cancelled` - `last_failure_code` (enum, optional, nullable) — Why the carrier rejected the application: `carrier_submission_rejected` or `provider_error_unclassified`. Only valid when `application_status` is `submission_failed`. * `application_validation_failed` - application_validation_failed * `supporting_document_rejected` - supporting_document_rejected * `payment_method_failed` - payment_method_failed * `carrier_submission_rejected` - carrier_submission_rejected * `provider_error_unclassified` - provider_error_unclassified - Allowed values: `application_validation_failed`, `supporting_document_rejected`, `payment_method_failed`, `carrier_submission_rejected`, `provider_error_unclassified` - `coverage_status` (enum, optional, nullable) — The coverage status at the carrier. * `not_submitted` - not_submitted * `pending_effectuation` - pending_effectuation * `active` - active * `cancelled` - cancelled * `terminated` - terminated - Allowed values: `not_submitted`, `pending_effectuation`, `active`, `cancelled`, `terminated` - `document_status` (enum, optional, nullable) — The supporting-document status at the carrier. * `unknown` - unknown * `not_required` - not_required * `required` - required * `submitted` - submitted * `under_review` - under_review * `rejected` - rejected * `satisfied` - satisfied - Allowed values: `unknown`, `not_required`, `required`, `submitted`, `under_review`, `rejected`, `satisfied` - `binder_status` (enum, optional, nullable) — The binder payment status at the carrier. * `unknown` - unknown * `not_applicable` - not_applicable * `payment_required` - payment_required * `pending_confirmation` - pending_confirmation * `confirmed` - confirmed - Allowed values: `unknown`, `not_applicable`, `payment_required`, `pending_confirmation`, `confirmed` - `external_application_reference` (string, optional, nullable) — The carrier's reference for the application. ## Response ### 200 - `data` (CarrierApplicationDetail, required) ## Errors ### 400 Bad Request Error Invalid request. - `timestamp` (datetime, required) — ISO 8601 timestamp when the error occurred - `message` (string, required) — Human-readable error message - `error` (string, required) — Error message (same as message, for backwards compatibility) - `trace_id` (string, required) — Unique trace ID for debugging and support requests - `app_error_code` (string, optional, nullable) — Application-specific error code for programmatic handling ### 401 Unauthorized Error Unauthorized - Invalid or missing API key - `timestamp` (datetime, required) — ISO 8601 timestamp when the error occurred - `message` (string, required) — Human-readable error message - `error` (string, required) — Error message (same as message, for backwards compatibility) - `trace_id` (string, required) — Unique trace ID for debugging and support requests - `app_error_code` (string, optional, nullable) — Application-specific error code for programmatic handling ### 403 Forbidden Error Forbidden - Insufficient permissions for this resource - `timestamp` (datetime, required) — ISO 8601 timestamp when the error occurred - `message` (string, required) — Human-readable error message - `error` (string, required) — Error message (same as message, for backwards compatibility) - `trace_id` (string, required) — Unique trace ID for debugging and support requests - `app_error_code` (string, optional, nullable) — Application-specific error code for programmatic handling ### 404 Not Found Error Resource not found. - `timestamp` (datetime, required) — ISO 8601 timestamp when the error occurred - `message` (string, required) — Human-readable error message - `error` (string, required) — Error message (same as message, for backwards compatibility) - `trace_id` (string, required) — Unique trace ID for debugging and support requests - `app_error_code` (string, optional, nullable) — Application-specific error code for programmatic handling ### 409 Conflict Error Conflict with the current resource state. - `timestamp` (datetime, required) — ISO 8601 timestamp when the error occurred - `message` (string, required) — Human-readable error message - `error` (string, required) — Error message (same as message, for backwards compatibility) - `trace_id` (string, required) — Unique trace ID for debugging and support requests - `app_error_code` (string, optional, nullable) — Application-specific error code for programmatic handling ### 429 Too Many Requests Error Too Many Requests - Rate limit exceeded - `timestamp` (datetime, required) — ISO 8601 timestamp when the error occurred - `message` (string, required) — Human-readable error message - `error` (string, required) — Error message (same as message, for backwards compatibility) - `trace_id` (string, required) — Unique trace ID for debugging and support requests - `app_error_code` (string, optional, nullable) — Application-specific error code for programmatic handling ### 500 Internal Server Error Internal Server Error - An unexpected error occurred - `timestamp` (datetime, required) — ISO 8601 timestamp when the error occurred - `message` (string, required) — Human-readable error message - `error` (string, required) — Error message (same as message, for backwards compatibility) - `trace_id` (string, required) — Unique trace ID for debugging and support requests - `app_error_code` (string, optional, nullable) — Application-specific error code for programmatic handling ### 502 Bad Gateway Error Bad Gateway - External service error - `timestamp` (datetime, required) — ISO 8601 timestamp when the error occurred - `message` (string, required) — Human-readable error message - `error` (string, required) — Error message (same as message, for backwards compatibility) - `trace_id` (string, required) — Unique trace ID for debugging and support requests - `app_error_code` (string, optional, nullable) — Application-specific error code for programmatic handling ## Types ### CarrierApplicationDetail - `id` (string, required) — The carrier application `capp_<...>`. - `enrollment_id` (string, required) — The enrollment `enrl_<...>` this application belongs to. - `enrollment_channel` (enum, required) — Which party or system is authoritative for this application's facts. * `healthsherpa_api` - Healthsherpa Api * `healthsherpa_deeplink` - Healthsherpa Deeplink * `direct_to_carrier` - Direct To Carrier - Allowed values: `healthsherpa_api`, `healthsherpa_deeplink`, `direct_to_carrier` - `provider_reference` (string, required, nullable) — The carrier-side or provider-side identifier for this application. Null when there is none yet, and also when the caller is not authorized to read it. - `assignment` (CarrierApplicationAssignmentState, required) — Who the application is routed to. - `agent_of_record` (CarrierApplicationAgentOfRecord, required) — The retained carrier attribution. - `statuses` (CarrierApplicationStatuses, required) — The four stable status axes. - `follow_up` (CarrierApplicationDetailFollowUp, required) — Whether and why someone must act, and what to fix. - `authorized_actions` (list of CarrierApplicationAuthorizedAction, required) — The actions this application currently permits, for this caller. `assign` is present only while the assignment endpoint would accept a change: not once processing has begun, not once the application is submitted, cancelled or terminal, not while an assignment change is already pending, and not for a caller that endpoint would refuse. `correction`, `supporting_document` and `submit` appear on the single-application response only, never on a queue row, and only while the carrier reports the action as available and no other provider action is in flight. `deeplink` is present only on a deeplink-routed application that has not yet been submitted and whose assigned agent has a HealthSherpa slug. `status_update` is present only while the caller can record status updates for the application. - `created_at` (datetime, required) — When the application was created. - `updated_at` (datetime, required) — When the application last changed. - `context` (CarrierApplicationQueueContext, required) — Who and what the application is about. - `provider_confirmed_revision` (integer, required) — Revision of the last provider-confirmed action. - `applicants` (list of CarrierApplicationApplicant, required) — Finalized household applicants. - `carrier_question_responses` (list of CarrierApplicationQuestionResponse, required) — Finalized signed carrier-question answers. Raw provider payloads are never returned. - `payment` (CarrierApplicationPayment, required) — Available ways to pay and the latest payment information reported by the carrier. ### CarrierApplicationAssignmentState - `agency_id` (string, required, nullable) — The enrollment agency `enag_<...>` responsible for the application. Null when unassigned. - `agent_id` (string, required, nullable) — The enrollment agent `enat_<...>` who owns the work. Null when unassigned. - `status` (enum, required) — `confirmed` when the route above is authoritative, `pending` while a proposed change awaits confirmation. The confirmed route stays authoritative either way. * `confirmed` - Confirmed * `pending` - Pending - Allowed values: `confirmed`, `pending` - `pending_change` (CarrierApplicationPendingAssignmentChange, required, nullable) — The proposed route change, or null when there is none. ### CarrierApplicationAgentOfRecord - `agent_id` (string, required, nullable) — The enrollment agent `enat_<...>` attributed to the carrier as agent of record. ### CarrierApplicationStatuses - `application` (enum, required) — How far the application itself has got. * `not_started` - Not Started * `in_progress` - In Progress * `submitted` - Submitted * `submission_failed` - Submission Failed * `cancelled` - Cancelled - Allowed values: `not_started`, `in_progress`, `submitted`, `submission_failed`, `cancelled` - `documents` (enum, required) — Where the supporting documents stand. * `unknown` - Unknown * `not_required` - Not Required * `required` - Required * `submitted` - Submitted * `under_review` - Under Review * `rejected` - Rejected * `satisfied` - Satisfied - Allowed values: `unknown`, `not_required`, `required`, `submitted`, `under_review`, `rejected`, `satisfied` - `coverage` (enum, required) — Where the resulting policy stands. * `not_submitted` - Not Submitted * `pending_effectuation` - Pending Effectuation * `active` - Active * `cancelled` - Cancelled * `terminated` - Terminated - Allowed values: `not_submitted`, `pending_effectuation`, `active`, `cancelled`, `terminated` - `binder` (enum, required) — Where the binder payment stands. * `unknown` - Unknown * `not_applicable` - Not Applicable * `payment_required` - Payment Required * `pending_confirmation` - Pending Confirmation * `confirmed` - Confirmed - Allowed values: `unknown`, `not_applicable`, `payment_required`, `pending_confirmation`, `confirmed` ### CarrierApplicationDetailFollowUp - `required` (boolean, required) — Whether someone must act on this application. - `reason` (enum, required, nullable) — The single highest-priority reason to act, or null when none applies. * `missing_agent` - Missing Agent * `missing_agent_of_record` - Missing Agent Of Record * `inactive_agent_of_record` - Inactive Agent Of Record * `agent_of_record_agency_mismatch` - Agent Of Record Agency Mismatch * `invalid_agent_of_record_identity` - Invalid Agent Of Record Identity * `missing_npn` - Missing Npn * `missing_healthsherpa_agent_slug` - Missing Healthsherpa Agent Slug * `invalid_npn` - Invalid Npn * `npn_validation_indeterminate` - Npn Validation Indeterminate * `assignment_coordination_pending` - Assignment Coordination Pending * `assignment_coordination_failed` - Assignment Coordination Failed * `routing_evidence_conflict` - Routing Evidence Conflict * `application_validation` - Application Validation * `unsupported_signed_evidence` - Unsupported Signed Evidence * `submission_failed` - Submission Failed * `supporting_document_rejected` - Supporting Document Rejected * `supporting_document_required` - Supporting Document Required * `payment_setup_required` - Payment Setup Required * `stale_pending` - Stale Pending * `manual_enrollment_not_started` - Manual Enrollment Not Started * `manual_documents_required` - Manual Documents Required * `manual_binder_required` - Manual Binder Required * `manual_submission_failed` - Manual Submission Failed * `manual_status_stale` - Manual Status Stale * `multiple_provider_matches` - Multiple Provider Matches * `create_outcome_unknown` - Create Outcome Unknown * `submission_reconciliation_stale` - Submission Reconciliation Stale * `provider_unavailable` - Provider Unavailable * `provider_action_rejected` - Provider Action Rejected * `provider_action_actor_revoked` - Provider Action Actor Revoked * `provider_state_drift` - Provider State Drift * `provider_state_uncertain` - Provider State Uncertain * `applicant_identity_ambiguous` - Applicant Identity Ambiguous - Allowed values: `missing_agent`, `missing_agent_of_record`, `inactive_agent_of_record`, `agent_of_record_agency_mismatch`, `invalid_agent_of_record_identity`, `missing_npn`, `missing_healthsherpa_agent_slug`, `invalid_npn`, `npn_validation_indeterminate`, `assignment_coordination_pending`, `assignment_coordination_failed`, `routing_evidence_conflict`, `application_validation`, `unsupported_signed_evidence`, `submission_failed`, `supporting_document_rejected`, `supporting_document_required`, `payment_setup_required`, `stale_pending`, `manual_enrollment_not_started`, `manual_documents_required`, `manual_binder_required`, `manual_submission_failed`, `manual_status_stale`, `multiple_provider_matches`, `create_outcome_unknown`, `submission_reconciliation_stale`, `provider_unavailable`, `provider_action_rejected`, `provider_action_actor_revoked`, `provider_state_drift`, `provider_state_uncertain`, `applicant_identity_ambiguous` - `responsible_user_id` (string, required, nullable) — The user `usr_<...>` expected to act. Null when the application is unassigned. The responsible *organization* is not part of this representation: no organization-to-agency relationship exists yet (BPT-1627), and a field that can only ever be null is not a contract. - `details` (list of CarrierApplicationFollowUpDetail, required) — What must be corrected or provided before the application can be submitted. Empty when nothing is outstanding. ### CarrierApplicationAuthorizedAction - `rel` (enum, required) — What the action does, as a stable relation name. * `assign` - Assign * `correction` - Correction * `supporting_document` - Supporting Document * `submit` - Submit * `deeplink` - Deeplink * `payment_redirect` - Payment Redirect * `status_update` - Status Update - Allowed values: `assign`, `correction`, `supporting_document`, `submit`, `deeplink`, `payment_redirect`, `status_update` - `method` (string, required) — The HTTP method to call `href` with. - `href` (string, required) — The path to call, relative to the API root. ### CarrierApplicationQueueContext - `member` (CarrierApplicationQueueMember, required) — Who the application is for. - `employer` (CarrierApplicationQueueEmployer, required) — Who they work for. - `plan_year` (CarrierApplicationQueuePlanYear, required) — Which plan year they enrolled in. - `plan` (CarrierApplicationQueuePlan, required) — Which individual-market plan they chose. - `assignee` (CarrierApplicationQueueAssignee, required, nullable) — Who owns the work, or null when unassigned or when the assigned agent no longer exists. - `agency` (CarrierApplicationQueueAgency, required, nullable) — Which agency is responsible, or null when unassigned. ### CarrierApplicationApplicant - `applicant_id` (string, required) — The stable Vitable enrollment applicant identifier. - `name` (string, required) — The applicant's display name from finalized signing evidence. - `date_of_birth` (date, required) — The applicant's birth date for household disambiguation. - `relationship` (string, required, nullable) — Relationship to the primary applicant. ### CarrierApplicationQuestionResponse - `question_id` (string, required) — The stable carrier-question identifier. - `question_label` (string, required, nullable) — The carrier question's wording, as the member answered it. - `applicant_id` (string, required) — The enrollment-scoped applicant identifier. - `answer` (string, required) — The finalized signed answer. ### CarrierApplicationPayment - `instructions` (CarrierPaymentInstructions, required, nullable) - `carrier_report` (CarrierReportedPayment, required, nullable) ### CarrierApplicationPendingAssignmentChange - `agent_id` (string, required, nullable) — The enrollment agent `enat_<...>` the proposed route would assign the work to. - `enrollment_channel` (enum, required, nullable) — The channel the proposed route would process the application through. * `healthsherpa_api` - Healthsherpa Api * `healthsherpa_deeplink` - Healthsherpa Deeplink * `direct_to_carrier` - Direct To Carrier - Allowed values: `healthsherpa_api`, `healthsherpa_deeplink`, `direct_to_carrier` ### CarrierApplicationFollowUpDetail - `code` (string, required) — Stable error code, such as `missing_required_field`. - `field` (string, required, nullable) — Dot-path to the field to correct. Null when the error applies to the whole application. - `message` (string, required, nullable) — Human-readable description of the error. Display only; the wording may change. ### CarrierApplicationQueueMember - `id` (string, required) — The enrolling member `mbr_<...>`. - `first_name` (string, required) — The member's first name. - `last_name` (string, required) — The member's last name. ### CarrierApplicationQueueEmployer - `id` (string, required) — The member's employer `empr_<...>`. - `name` (string, required) — The employer's display name. ### CarrierApplicationQueuePlanYear - `id` (string, required) — The benefit plan year `plyr_<...>` the enrollment belongs to. - `coverage_start` (datetime, required) — When the plan year's coverage starts. - `coverage_end` (datetime, required, nullable) — When the plan year's coverage ends, if set. ### CarrierApplicationQueuePlan - `name` (string, required, nullable) — The selected plan's name. - `carrier_name` (string, required, nullable) — The selected plan's carrier. - `desired_effective_date` (date, required, nullable) — The coverage start date the member asked the carrier for. ### CarrierApplicationQueueAssignee - `agent_id` (string, required) — The assigned enrollment agent `enat_<...>`. - `first_name` (string, required, nullable) — The assigned agent's first name. - `last_name` (string, required, nullable) — The assigned agent's last name. ### CarrierApplicationQueueAgency - `id` (string, required) — The responsible enrollment agency `enag_<...>`. - `name` (string, required, nullable) — The responsible agency's name. ### CarrierPaymentInstructions - `payment_required_with_submission` (boolean, required) - `payment_redirect_supported` (boolean, required) - `pay_by_phone_supported` (boolean, required) - `payment_phone_number` (string, required, nullable) ### CarrierReportedPayment - `payment_status` (enum, required, nullable) — * `unpaid_binder` - Unpaid Binder * `paid_binder` - Paid Binder * `paid` - Paid * `past_due` - Past Due - Allowed values: `unpaid_binder`, `paid_binder`, `paid`, `past_due` - `payment_status_updated_date` (date, required, nullable) - `paid_through_date` (date, required, nullable) - `past_due_member_responsibility_balance_due` (string, required, nullable) - `current_member_responsibility_balance_due` (string, required, nullable) - `autopay_indicator` (boolean, required, nullable) ## Examples **Request** ```json { "observed_at": "2026-09-29T15:00:00Z", "coverage_status": "active", "external_application_reference": "carrier-reference-123" } ``` **Response** ```json { "data": { "id": "string", "enrollment_id": "string", "enrollment_channel": "healthsherpa_api", "provider_reference": "string", "assignment": { "agency_id": "string", "agent_id": "string", "status": "confirmed", "pending_change": { "agent_id": "string", "enrollment_channel": "healthsherpa_api" } }, "agent_of_record": { "agent_id": "string" }, "statuses": { "application": "not_started", "documents": "unknown", "coverage": "not_submitted", "binder": "unknown" }, "follow_up": { "required": true, "reason": "missing_agent", "responsible_user_id": "string", "details": [ { "code": "string", "field": "string", "message": "string" } ] }, "authorized_actions": [ { "rel": "assign", "method": "string", "href": "string" } ], "created_at": "2024-01-15T09:30:00Z", "updated_at": "2024-01-15T09:30:00Z", "context": { "member": { "id": "string", "first_name": "string", "last_name": "string" }, "employer": { "id": "string", "name": "string" }, "plan_year": { "id": "string", "coverage_start": "2024-01-15T09:30:00Z", "coverage_end": "2024-01-15T09:30:00Z" }, "plan": { "name": "string", "carrier_name": "string", "desired_effective_date": "2023-01-15" }, "assignee": { "agent_id": "string", "first_name": "string", "last_name": "string" }, "agency": { "id": "string", "name": "string" } }, "provider_confirmed_revision": 1, "applicants": [ { "applicant_id": "string", "name": "string", "date_of_birth": "2023-01-15", "relationship": "string" } ], "carrier_question_responses": [ { "question_id": "string", "question_label": "string", "applicant_id": "string", "answer": "string" } ], "payment": { "instructions": { "payment_required_with_submission": true, "payment_redirect_supported": true, "pay_by_phone_supported": true, "payment_phone_number": "string" }, "carrier_report": { "payment_status": "unpaid_binder", "payment_status_updated_date": "2023-01-15", "paid_through_date": "2023-01-15", "past_due_member_responsibility_balance_due": "string", "current_member_responsibility_balance_due": "string", "autopay_indicator": true } } } } ``` **SDK Code** ```python Coverage active at the carrier import requests url = "https://api.vitablehealth.com/v1/carrier-applications/carrier_application_id/status-updates" payload = { "observed_at": "2026-09-29T15:00:00Z", "coverage_status": "active", "external_application_reference": "carrier-reference-123" } headers = { "Authorization": "Bearer ", "Content-Type": "application/json" } response = requests.post(url, json=payload, headers=headers) print(response.json()) ``` ```javascript Coverage active at the carrier const url = 'https://api.vitablehealth.com/v1/carrier-applications/carrier_application_id/status-updates'; const options = { method: 'POST', headers: {Authorization: 'Bearer ', 'Content-Type': 'application/json'}, body: '{"observed_at":"2026-09-29T15:00:00Z","coverage_status":"active","external_application_reference":"carrier-reference-123"}' }; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go Coverage active at the carrier package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api.vitablehealth.com/v1/carrier-applications/carrier_application_id/status-updates" payload := strings.NewReader("{\n \"observed_at\": \"2026-09-29T15:00:00Z\",\n \"coverage_status\": \"active\",\n \"external_application_reference\": \"carrier-reference-123\"\n}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("Authorization", "Bearer ") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby Coverage active at the carrier require 'uri' require 'net/http' url = URI("https://api.vitablehealth.com/v1/carrier-applications/carrier_application_id/status-updates") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["Authorization"] = 'Bearer ' request["Content-Type"] = 'application/json' request.body = "{\n \"observed_at\": \"2026-09-29T15:00:00Z\",\n \"coverage_status\": \"active\",\n \"external_application_reference\": \"carrier-reference-123\"\n}" response = http.request(request) puts response.read_body ``` ```java Coverage active at the carrier import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api.vitablehealth.com/v1/carrier-applications/carrier_application_id/status-updates") .header("Authorization", "Bearer ") .header("Content-Type", "application/json") .body("{\n \"observed_at\": \"2026-09-29T15:00:00Z\",\n \"coverage_status\": \"active\",\n \"external_application_reference\": \"carrier-reference-123\"\n}") .asString(); ``` ```php Coverage active at the carrier request('POST', 'https://api.vitablehealth.com/v1/carrier-applications/carrier_application_id/status-updates', [ 'body' => '{ "observed_at": "2026-09-29T15:00:00Z", "coverage_status": "active", "external_application_reference": "carrier-reference-123" }', 'headers' => [ 'Authorization' => 'Bearer ', 'Content-Type' => 'application/json', ], ]); echo $response->getBody(); ``` ```csharp Coverage active at the carrier using RestSharp; var client = new RestClient("https://api.vitablehealth.com/v1/carrier-applications/carrier_application_id/status-updates"); var request = new RestRequest(Method.POST); request.AddHeader("Authorization", "Bearer "); request.AddHeader("Content-Type", "application/json"); request.AddParameter("application/json", "{\n \"observed_at\": \"2026-09-29T15:00:00Z\",\n \"coverage_status\": \"active\",\n \"external_application_reference\": \"carrier-reference-123\"\n}", ParameterType.RequestBody); IRestResponse response = client.Execute(request); ``` ```swift Coverage active at the carrier import Foundation let headers = [ "Authorization": "Bearer ", "Content-Type": "application/json" ] let parameters = [ "observed_at": "2026-09-29T15:00:00Z", "coverage_status": "active", "external_application_reference": "carrier-reference-123" ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api.vitablehealth.com/v1/carrier-applications/carrier_application_id/status-updates")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ```