> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getsolum.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Update a verification of benefits

> Edits the request. `version` is required and must be current. `priority` and `specialties` can be changed while the VOB is pending or missing information; `specialties` replaces the whole set and is resolved like on create. Once Solum is working the VOB (in progress) or it is closed, an edit is refused with 400. A VOB's status is Solum's to change: a request that changes `status` is refused with 403 (to stop a VOB, use the cancel action). Answer missing information by editing the request or correcting the policy: Solum is notified on the VOB's thread and resumes it. Omit a field to keep it; none accepts null.



## OpenAPI

````yaml https://api.getsolum.com/openapi.json patch /v1/verification-of-benefits/{vob_id}
openapi: 3.1.0
info:
  title: Solum Health API
  description: '## Solum Health Backend API '
  version: 1.0.0
servers: []
security: []
paths:
  /v1/verification-of-benefits/{vob_id}:
    patch:
      tags:
        - Verification of Benefits
      summary: Update a verification of benefits
      description: >-
        Edits the request. `version` is required and must be current. `priority`
        and `specialties` can be changed while the VOB is pending or missing
        information; `specialties` replaces the whole set and is resolved like
        on create. Once Solum is working the VOB (in progress) or it is closed,
        an edit is refused with 400. A VOB's status is Solum's to change: a
        request that changes `status` is refused with 403 (to stop a VOB, use
        the cancel action). Answer missing information by editing the request or
        correcting the policy: Solum is notified on the VOB's thread and resumes
        it. Omit a field to keep it; none accepts null.
      operationId: patch_vob_v1_verification_of_benefits__vob_id__patch
      parameters:
        - name: vob_id
          in: path
          required: true
          schema:
            type: string
            title: Vob Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VobUpdate'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VobDetailOut'
        '404':
          description: No such VOB (or patient) in your company.
        '409':
          description: The policy already has an open VOB; `details.open_vob_id` names it.
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                    example: validation_error
                  code:
                    type: string
                    example: invalid_parameter
                  message:
                    type: string
                    example: Field validation failed
                  param:
                    type: string
                    example: phone_number
                required:
                  - type
                  - code
                  - message
      security:
        - APIKeyHeader: []
        - HTTPBearer: []
components:
  schemas:
    VobUpdate:
      properties:
        status:
          anyOf:
            - $ref: '#/components/schemas/VobStatus'
            - type: 'null'
          description: >-
            A VOB's status is Solum's to move: a request that changes it is
            refused with 403. Cancel a VOB with the cancel action.
        priority:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Priority
          description: Omit to keep the current priority.
        version:
          type: integer
          title: Version
          description: The VOB's current version; a stale one is refused.
        specialties:
          anyOf:
            - items:
                $ref: '#/components/schemas/SpecialtyIn'
              type: array
              minItems: 1
            - type: 'null'
          title: Specialties
          description: >-
            Replaces the whole set of specialties, resolved like on create.
            Clinics can edit them while the VOB is pending or missing
            information.
      additionalProperties: false
      type: object
      required:
        - version
      title: VobUpdate
      description: PATCH body for `/v1/verification-of-benefits/{id}`.
    VobDetailOut:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        created_at:
          type: string
          format: date-time
          title: Created At
        updated_at:
          type: string
          format: date-time
          title: Updated At
        patient_id:
          type: string
          format: uuid
          title: Patient Id
        priority:
          type: boolean
          title: Priority
          default: false
        created_by_id:
          type: string
          title: Created By Id
        company_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Company Id
        version:
          type: integer
          title: Version
        status:
          type: string
          title: Status
        active:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Active
        reviewer_user_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Reviewer User Id
        reviewed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Reviewed At
        completed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Completed At
        completed_by_user_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Completed By User Id
        missing_information_since:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Missing Information Since
        sla_paused_seconds:
          type: integer
          title: Sla Paused Seconds
          default: 0
        patient_policy_id:
          type: string
          format: uuid
          title: Patient Policy Id
        backfilled:
          type: boolean
          title: Backfilled
          default: false
        specialties:
          items:
            $ref: '#/components/schemas/SpecialtyOut'
          type: array
          title: Specialties
          default: []
        result_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Result Id
          description: >-
            The id of the VOB's result (`result.id`), on the list with or
            without `include=result`; `null` while it has none.
        result:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Result
        created_by:
          anyOf:
            - $ref: >-
                #/components/schemas/app__shared__work_record_schemas__UserSummary
            - type: 'null'
        patient:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Patient
        missing_information_ask:
          anyOf:
            - $ref: '#/components/schemas/MissingInformationAskOut'
            - type: 'null'
          description: >-
            While the VOB is missing information: the latest comment in which
            Solum asked for it. Null in any other status, or while nobody has
            asked yet.
        missing_information_answered_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Missing Information Answered At
          description: >-
            Your latest comment after that ask (your update notes included);
            null until you answer.
        auto_cancel_on:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          title: Auto Cancel On
          description: >-
            The date Solum will cancel the VOB if the ask stays unanswered, once
            Solum has warned. Null once you have answered
            (`missing_information_answered_at` is set): an answered VOB is not
            cancelled.
        cancellation:
          anyOf:
            - $ref: '#/components/schemas/CancellationOut'
            - type: 'null'
          description: Set once the VOB is cancelled.
      type: object
      required:
        - id
        - created_at
        - updated_at
        - patient_id
        - created_by_id
        - version
        - status
        - patient_policy_id
      title: VobDetailOut
      description: |-
        One VOB as its own endpoints return it (get, create, update, cancel):
        `VobOut` plus what the VOB's page shows beside the request.
    VobStatus:
      type: string
      enum:
        - pending
        - in_progress
        - completed
        - missing_information
        - cancelled
      title: VobStatus
      description: VOB status enum matching Prisma exactly.
    SpecialtyIn:
      properties:
        service_type:
          $ref: '#/components/schemas/ServiceType'
          description: The specialty to verify.
        credentialing_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Credentialing Id
          description: >-
            An active credentialing record of your company to bill under.
            Omitted: the policy's billing credential, else the insurance's
            billing default, else the credential registered for this specialty.
        cpt_codes:
          anyOf:
            - items:
                type: string
              type: array
              maxItems: 50
            - type: 'null'
          title: Cpt Codes
          description: >-
            Up to 50 CPT/HCPCS codes, five letters or digits each (trimmed,
            upper-cased, de-duplicated). Omitted: the company's default CPT
            codes for this specialty. The eligibility check asks the payer about
            the first 8.
        service_locations:
          anyOf:
            - items:
                $ref: '#/components/schemas/ServiceLocation'
              type: array
            - type: 'null'
          title: Service Locations
          description: >-
            At least one place of service. Omitted: the company's places of
            service.
        icd_codes:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Icd Codes
          description: >-
            Diagnosis codes (may be empty). Omitted: the company's default ICD
            codes for this specialty.
      additionalProperties: false
      type: object
      required:
        - service_type
      title: SpecialtyIn
      description: |-
        One specialty (service type) the VOB asks Solum to verify.

        Only `service_type` is required. Omit any other field to take the
        company's default for that service type; a field that has no default is
        refused with 422 naming the specialty and the field
        (`param="specialties[0].cpt_codes"`). The NPI is always copied from the
        credential, never sent.
    SpecialtyOut:
      properties:
        id:
          type: string
          title: Id
        service_type:
          $ref: '#/components/schemas/ServiceType'
        credentialing_id:
          type: string
          title: Credentialing Id
        npi:
          type: string
          title: Npi
        cpt_codes:
          items:
            type: string
          type: array
          title: Cpt Codes
        service_locations:
          items:
            $ref: '#/components/schemas/ServiceLocation'
          type: array
          title: Service Locations
        icd_codes:
          items:
            type: string
          type: array
          title: Icd Codes
        credentialing:
          anyOf:
            - $ref: '#/components/schemas/VobRequestServiceCredentialing'
            - type: 'null'
      type: object
      required:
        - id
        - service_type
        - credentialing_id
        - npi
        - cpt_codes
        - service_locations
        - icd_codes
      title: SpecialtyOut
      description: 'One requested specialty, as stored: every field resolved.'
    app__shared__work_record_schemas__UserSummary:
      properties:
        id:
          type: string
          title: Id
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
        email:
          anyOf:
            - type: string
            - type: 'null'
          title: Email
        image:
          anyOf:
            - type: string
            - type: 'null'
          title: Image
        user_type:
          anyOf:
            - type: string
            - type: 'null'
          title: User Type
      type: object
      required:
        - id
      title: UserSummary
    MissingInformationAskOut:
      properties:
        comment_id:
          type: string
          format: uuid
          title: Comment Id
        content:
          type: string
          title: Content
          description: >-
            The comment's text; a staff member mentioned in it reads as "Solum
            AI".
        created_at:
          type: string
          format: date-time
          title: Created At
      type: object
      required:
        - comment_id
        - content
        - created_at
      title: MissingInformationAskOut
      description: What Solum asked in the current wait on the clinic.
    CancellationOut:
      properties:
        reason:
          anyOf:
            - type: string
            - type: 'null'
          title: Reason
          description: The comment posted with the cancel; null when none is on file.
        cancelled_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Cancelled At
        cancelled_by:
          anyOf:
            - $ref: >-
                #/components/schemas/app__shared__work_record_schemas__UserSummary
            - type: 'null'
      type: object
      title: CancellationOut
      description: Why, when and by whom a VOB was cancelled.
    ServiceType:
      type: string
      enum:
        - medical_care
        - surgical
        - consultation
        - diagnostic_x_ray
        - diagnostic_lab
        - radiation_therapy
        - anesthesia
        - surgical_assistance
        - other_medical
        - blood_charges
        - used_durable_medical_equipment
        - durable_medical_equipment_purchase
        - ambulatory_service_center_facility
        - renal_supplies_in_home
        - alternate_method_dialysis
        - chronic_renal_disease_equipment
        - pre_admission_testing
        - durable_medical_equipment_rental
        - pneumonia_vaccine
        - second_surgical_opinion
        - third_surgical_opinion
        - social_work
        - diagnostic_dental
        - periodontics
        - restorative
        - endodontics
        - maxillofacial_prosthetics
        - adjunctive_dental_services
        - health_benefit_plan_coverage
        - plan_waiting_period
        - chiropractic
        - chiropractic_office_visits
        - dental_care
        - dental_crowns
        - dental_accident
        - orthodontics
        - prosthodontics
        - oral_surgery
        - routine_preventive_dental
        - home_health_care
        - home_health_prescriptions
        - home_health_visits
        - hospice
        - respite_care
        - hospital
        - hospital_inpatient
        - hospital_room_and_board
        - hospital_outpatient
        - hospital_emergency_accident
        - hospital_emergency_medical
        - hospital_ambulatory_surgical
        - long_term_care
        - major_medical
        - medically_related_transportation
        - air_transportation
        - cabulance
        - licensed_ambulance
        - general_benefits
        - in_vitro_fertilization
        - mri_cat_scan
        - donor_procedures
        - acupuncture
        - newborn_care
        - pathology
        - smoking_cessation
        - well_baby_care
        - maternity
        - transplants
        - audiology_exam
        - inhalation_therapy
        - diagnostic_medical
        - private_duty_nursing
        - prosthetic_device
        - dialysis
        - otological_exam
        - chemotherapy
        - allergy_testing
        - immunizations
        - routine_physical
        - family_planning
        - infertility
        - abortion
        - aids
        - emergency_services
        - cancer
        - pharmacy
        - free_standing_prescription_drug
        - mail_order_prescription_drug
        - brand_name_prescription_drug
        - generic_prescription_drug
        - podiatry
        - podiatry_office_visits
        - podiatry_nursing_home_visits
        - professional_physician
        - anesthesiologist
        - professional_visit_office
        - professional_visit_inpatient
        - professional_visit_outpatient
        - professional_visit_nursing_home
        - professional_visit_skilled_nursing_facility
        - professional_visit_home
        - psychiatric
        - psychiatric_room_and_board
        - psychotherapy
        - psychiatric_inpatient
        - psychiatric_outpatient
        - rehabilitation
        - rehabilitation_room_and_board
        - rehabilitation_inpatient
        - rehabilitation_outpatient
        - occupational_therapy
        - physical_medicine
        - speech_therapy
        - skilled_nursing_care
        - skilled_nursing_care_room_and_board
        - substance_abuse
        - alcoholism
        - drug_addiction
        - vision_optometry
        - frames
        - routine_exam
        - lenses
        - nonmedically_necessary_physical
        - experimental_drug_therapy
        - burn_care
        - brand_name_prescription_drug_formulary
        - brand_name_prescription_drug_non_formulary
        - independent_medical_evaluation
        - partial_hospitalization_psychiatric
        - day_care_psychiatric
        - cognitive_therapy
        - massage_therapy
        - pulmonary_rehabilitation
        - cardiac_rehabilitation
        - pediatric
        - nursery
        - skin
        - orthopedic
        - cardiac
        - lymphatic
        - gastrointestinal
        - endocrine
        - neurology
        - eye
        - invasive_procedures
        - gynecological
        - obstetrical
        - obstetrical_gynecological
        - mail_order_prescription_drug_brand_name
        - mail_order_prescription_drug_generic
        - physician_visit_office_sick
        - physician_visit_office_well
        - coronary_care
        - private_duty_nursing_inpatient
        - private_duty_nursing_home
        - surgical_benefits_professional
        - surgical_benefits_facility
        - mental_health_provider_inpatient
        - mental_health_provider_outpatient
        - mental_health_facility_inpatient
        - mental_health_facility_outpatient
        - substance_abuse_facility_inpatient
        - substance_abuse_facility_outpatient
        - screening_x_ray
        - screening_laboratory
        - mammogram_high_risk_patient
        - mammogram_low_risk_patient
        - flu_vaccination
        - eyewear_and_accessories
        - case_management
        - dermatology
        - durable_medical_equipment
        - diabetic_supplies
        - generic_prescription_drug_formulary
        - generic_prescription_drug_non_formulary
        - allergy
        - intensive_care
        - mental_health
        - neonatal_intensive_care
        - oncology
        - physical_therapy
        - pulmonary
        - renal
        - residential_psychiatric_treatment
        - transitional_care
        - transitional_nursery_care
        - urgent_care
      title: ServiceType
      description: |-
        X12 Service Type — human-readable enum values stored in the database.
        See app/utils/service_type_mapping.py for code-to-type mappings.
    ServiceLocation:
      type: string
      enum:
        - home
        - office
        - school
        - daycare
        - community
        - telehealth
        - on_campus_outpatient_hospital
      title: ServiceLocation
      description: Service location enum matching Prisma @@map("service_location").
    VobRequestServiceCredentialing:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        name:
          type: string
          title: Name
        type:
          type: string
          title: Type
        is_active:
          type: boolean
          title: Is Active
      type: object
      required:
        - id
        - name
        - type
        - is_active
      title: VobRequestServiceCredentialing
      description: Denormalised credentialing summary embedded in a VOB specialty.
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      in: header
      name: X-API-Key
    HTTPBearer:
      type: http
      scheme: bearer

````