> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://developer.vitablehealth.com/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 <apiKey>",
    "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 <apiKey>', '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 <apiKey>")
	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 <apiKey>'
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<String> response = Unirest.post("https://api.vitablehealth.com/v1/carrier-applications/carrier_application_id/status-updates")
  .header("Authorization", "Bearer <apiKey>")
  .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
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->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 <apiKey>',
    '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 <apiKey>");
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 <apiKey>",
  "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()
```