> 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.

# Update a carrier application's plan

PATCH https://api.vitablehealth.com/v1/carrier-applications/{carrier_application_id}/plan
Content-Type: application/json

Updates the plan details of an application completed directly with the carrier, and returns the updated application. Include only the details that changed. Returns 409 when the application doesn't accept plan updates, has no selected plan, or has been cancelled or had its policy effectuated, cancelled or terminated, and 404 when the application doesn't exist or isn't accessible.

Reference: https://developer.vitablehealth.com/api/carrier-applications/update-carrier-application-plan

## 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 PatchedUpdateCarrierApplicationPlanRequest.

- `premium_in_cents` (integer, optional) — The plan's monthly premium in cents. Must be more than zero.

## 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. `correction` is additionally absent once the application is submitted, effectuated, cancelled or terminated. `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.
- `carrier_policy_id` (string, required, nullable) — The carrier's policy identifier, as recorded on the application. Null until recorded.
- `payment_confirmation_id` (string, required, nullable) — The carrier's payment confirmation reference, as recorded on the application. Null until recorded.
- `autopay_confirmed_at` (datetime, required, nullable) — When autopay with the carrier was confirmed. Null when not confirmed.
- `current_residential_address` (map from string to string, optional, nullable)
- `editable_carrier_questions` (list of CarrierQuestion, optional)
- `effective_carrier_question_responses` (list of CarrierApplicationQuestionResponse, optional)
- `unresolved_carrier_legal_requirements` (list of string, optional)
- `sep_letter_url` (string, optional, nullable) — Signed SEP letter URL, valid for one hour; null when no letter exists.
- `sep_upload_status` (enum, optional, nullable) — * `missing` - Missing * `prepared` - Prepared * `attempted` - Attempted * `uncertain` - Uncertain * `uploaded` - Uploaded * `failed` - Failed
  - Allowed values: `missing`, `prepared`, `attempted`, `uncertain`, `uploaded`, `failed`
- `manual_submission_required` (boolean, optional)
- `moved_to_deeplink_at` (datetime, optional, nullable) — When Ops moved this application to the hosted enrollment flow; null if it was never moved.

### 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 * `member_response_needed` - Member Response Needed * `signature_needed` - Signature Needed * `submitted` - Submitted * `submission_failed` - Submission Failed * `cancelled` - Cancelled
  - Allowed values: `not_started`, `in_progress`, `member_response_needed`, `signature_needed`, `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 * `manual_submission_required` - Manual Submission Required * `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`, `manual_submission_required`, `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 * `agent_of_record` - Agent Of Record * `correction` - Correction * `supporting_document` - Supporting Document * `submit` - Submit * `deeplink` - Deeplink * `start_deeplink` - Start Deeplink * `payment_redirect` - Payment Redirect * `status_update` - Status Update * `plan_update` - Plan Update
  - Allowed values: `assign`, `agent_of_record`, `correction`, `supporting_document`, `submit`, `deeplink`, `start_deeplink`, `payment_redirect`, `status_update`, `plan_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 the signed application.
- `date_of_birth` (date, required) — The applicant's birth date for household disambiguation.
- `relationship` (string, required, nullable) — Relationship to the primary applicant.
- `current_values` (map from string to string, optional, nullable)

### 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)

### CarrierQuestion

- `question_id` (string, required)
- `applicant_id` (string, required)
- `type` (enum, required) — * `boolean` - boolean * `choice` - choice * `text` - text * `date` - date * `signature` - signature * `disclosure` - disclosure
  - Allowed values: `boolean`, `choice`, `text`, `date`, `signature`, `disclosure`
- `label` (string, required)
- `required` (boolean, required)
- `carrier_required` (boolean, required)
- `member_visible` (boolean, required)
- `content` (list of string, required)
- `options` (list of CarrierQuestionOption, required)
- `conditions` (list of CarrierQuestionCondition, required)
- `requires_agreement` (boolean, required)
- `earliest_date` (date, required, nullable)
- `latest_date` (date, required, nullable)
- `blocking_reason` (string, 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.
- `applicant_id` (string, required, nullable) — The applicant the error is about, matching `applicants[].applicant_id`. Null when the error is not about one person or the provider's applicant list cannot be matched.

### 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.
- `premium_in_cents` (integer, required, nullable) — The plan's monthly premium in cents.
- `effective_date` (date, required, nullable) — When coverage under the plan takes effect, once confirmed.

### 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)

### CarrierQuestionOption

- `value` (string, required)
- `label` (string, required)

### CarrierQuestionCondition

- `question_id` (string, required)
- `value` (string, required)

## Examples

**Request**

```json
{
  "premium_in_cents": 61240
}
```

**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",
          "applicant_id": "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",
        "premium_in_cents": 1,
        "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",
        "current_values": {}
      }
    ],
    "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
      }
    },
    "carrier_policy_id": "string",
    "payment_confirmation_id": "string",
    "autopay_confirmed_at": "2024-01-15T09:30:00Z",
    "current_residential_address": {},
    "editable_carrier_questions": [
      {
        "question_id": "string",
        "applicant_id": "string",
        "type": "boolean",
        "label": "string",
        "required": true,
        "carrier_required": true,
        "member_visible": true,
        "content": [
          "string"
        ],
        "options": [
          {
            "value": "string",
            "label": "string"
          }
        ],
        "conditions": [
          {
            "question_id": "string",
            "value": "string"
          }
        ],
        "requires_agreement": true,
        "earliest_date": "2023-01-15",
        "latest_date": "2023-01-15",
        "blocking_reason": "string"
      }
    ],
    "effective_carrier_question_responses": [
      {
        "question_id": "string",
        "question_label": "string",
        "applicant_id": "string",
        "answer": "string"
      }
    ],
    "unresolved_carrier_legal_requirements": [
      "string"
    ],
    "sep_letter_url": "string",
    "sep_upload_status": "missing",
    "manual_submission_required": true,
    "moved_to_deeplink_at": "2024-01-15T09:30:00Z"
  }
}
```

**SDK Code**

```python Corrected premium
import requests

url = "https://api.vitablehealth.com/v1/carrier-applications/carrier_application_id/plan"

payload = { "premium_in_cents": 61240 }
headers = {
    "Authorization": "Bearer <apiKey>",
    "Content-Type": "application/json"
}

response = requests.patch(url, json=payload, headers=headers)

print(response.json())
```

```javascript Corrected premium
const url = 'https://api.vitablehealth.com/v1/carrier-applications/carrier_application_id/plan';
const options = {
  method: 'PATCH',
  headers: {Authorization: 'Bearer <apiKey>', 'Content-Type': 'application/json'},
  body: '{"premium_in_cents":61240}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Corrected premium
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.vitablehealth.com/v1/carrier-applications/carrier_application_id/plan"

	payload := strings.NewReader("{\n  \"premium_in_cents\": 61240\n}")

	req, _ := http.NewRequest("PATCH", 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 Corrected premium
require 'uri'
require 'net/http'

url = URI("https://api.vitablehealth.com/v1/carrier-applications/carrier_application_id/plan")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <apiKey>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"premium_in_cents\": 61240\n}"

response = http.request(request)
puts response.read_body
```

```java Corrected premium
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.patch("https://api.vitablehealth.com/v1/carrier-applications/carrier_application_id/plan")
  .header("Authorization", "Bearer <apiKey>")
  .header("Content-Type", "application/json")
  .body("{\n  \"premium_in_cents\": 61240\n}")
  .asString();
```

```php Corrected premium
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('PATCH', 'https://api.vitablehealth.com/v1/carrier-applications/carrier_application_id/plan', [
  'body' => '{
  "premium_in_cents": 61240
}',
  'headers' => [
    'Authorization' => 'Bearer <apiKey>',
    'Content-Type' => 'application/json',
  ],
]);

echo $response->getBody();
```

```csharp Corrected premium
using RestSharp;

var client = new RestClient("https://api.vitablehealth.com/v1/carrier-applications/carrier_application_id/plan");
var request = new RestRequest(Method.PATCH);
request.AddHeader("Authorization", "Bearer <apiKey>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"premium_in_cents\": 61240\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Corrected premium
import Foundation

let headers = [
  "Authorization": "Bearer <apiKey>",
  "Content-Type": "application/json"
]
let parameters = ["premium_in_cents": 61240] 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/plan")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PATCH"
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()
```