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

# Bulk Update Services

> Bulk update multiple services in a single transaction.



## OpenAPI

````yaml put /admin/services/bulk
openapi: 3.1.0
info:
  title: Decoda API
  description: External API documentation for the Decoda Health platform.
  version: '1.0'
servers: []
security: []
paths:
  /admin/services/bulk:
    put:
      tags:
        - provider
        - admin
      summary: Bulk Update Services
      description: Bulk update multiple services in a single transaction.
      operationId: bulk_update_services_admin_services_bulk_put
      parameters:
        - name: TENANT
          in: header
          required: true
          schema:
            type: string
            title: Tenant
          description: The tenant you are making this request on behalf of
        - name: API-KEY
          in: header
          required: true
          schema:
            type: string
            title: Api-Key
          description: Your api key
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkServiceUpdateRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/ServiceUpdate-Output'
                type: array
                title: Response Bulk Update Services Admin Services Bulk Put
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    BulkServiceUpdateRequest:
      properties:
        updates:
          items:
            $ref: '#/components/schemas/BulkServiceUpdateItem'
          type: array
          title: Updates
      type: object
      required:
        - updates
      title: BulkServiceUpdateRequest
      description: Request schema for bulk updating multiple services.
    ServiceUpdate-Output:
      properties:
        id:
          anyOf:
            - type: string
            - type: 'null'
          title: Id
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
        duration:
          anyOf:
            - type: integer
            - type: 'null'
          title: Duration
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
        price:
          anyOf:
            - type: integer
            - type: 'null'
          title: Price
        displayPrice:
          anyOf:
            - type: integer
            - type: 'null'
          title: Displayprice
        displayPriceMax:
          anyOf:
            - type: integer
            - type: 'null'
          title: Displaypricemax
        priceStartsAt:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Pricestartsat
          default: false
        cost:
          anyOf:
            - type: integer
            - type: 'null'
          title: Cost
        estimated:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Estimated
          default: false
        bookingFee:
          anyOf:
            - type: integer
            - type: 'null'
          title: Bookingfee
        bookingFeeText:
          anyOf:
            - type: string
            - type: 'null'
          title: Bookingfeetext
        reminderMinutesBefore:
          anyOf:
            - type: integer
            - type: 'null'
          title: Reminderminutesbefore
        cancellationCost:
          anyOf:
            - type: integer
            - type: 'null'
          title: Cancellationcost
        hoursBeforeCancellingCosts:
          anyOf:
            - type: integer
            - type: 'null'
          title: Hoursbeforecancellingcosts
        bookingFeePercentage:
          anyOf:
            - type: integer
            - type: 'null'
          title: Bookingfeepercentage
        cancellationFeePctWithin24h:
          anyOf:
            - type: integer
            - type: 'null'
          title: Cancellationfeepctwithin24H
        cancellationFeePctWithin48h:
          anyOf:
            - type: integer
            - type: 'null'
          title: Cancellationfeepctwithin48H
        refundBookingFeeBefore48h:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Refundbookingfeebefore48H
        hoursBeforeBookingFeeRefundable:
          anyOf:
            - type: integer
            - type: 'null'
          title: Hoursbeforebookingfeerefundable
        followUpMinutesAfter:
          anyOf:
            - type: integer
            - type: 'null'
          title: Followupminutesafter
        followUpSmsTemplate:
          anyOf:
            - type: string
            - type: 'null'
          title: Followupsmstemplate
        reminderSmsTemplate:
          anyOf:
            - type: string
            - type: 'null'
          title: Remindersmstemplate
        locationIds:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Locationids
        providerIds:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Providerids
        createdDate:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Createddate
        updatedDate:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Updateddate
        formIds:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Formids
        confirmationSmsTemplate:
          anyOf:
            - type: string
            - type: 'null'
          title: Confirmationsmstemplate
        cancellationSmsTemplate:
          anyOf:
            - type: string
            - type: 'null'
          title: Cancellationsmstemplate
        noShowSmsTemplate:
          anyOf:
            - type: string
            - type: 'null'
          title: Noshowsmstemplate
        overrideNoticeSmsTemplate:
          anyOf:
            - type: string
            - type: 'null'
          title: Overridenoticesmstemplate
        shortNoticeBlock:
          anyOf:
            - type: integer
            - type: 'null'
          title: Shortnoticeblock
        visibility:
          anyOf:
            - $ref: '#/components/schemas/ServiceVisibilityType'
            - type: 'null'
          default: ALL
        minutesBeforeRebookingAllowed:
          anyOf:
            - type: integer
            - type: 'null'
          title: Minutesbeforerebookingallowed
        color:
          anyOf:
            - type: string
            - type: 'null'
          title: Color
        allowIndividualProviderBooking:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Allowindividualproviderbooking
        displayOrder:
          anyOf:
            - type: integer
            - type: 'null'
          title: Displayorder
        reservedTimeMinutes:
          anyOf:
            - type: integer
            - type: 'null'
          title: Reservedtimeminutes
        category:
          anyOf:
            - type: string
            - type: 'null'
          title: Category
        isDoubleBookable:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Isdoublebookable
          default: true
        isPopular:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Ispopular
          default: false
        onlyBookableOverThePhone:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Onlybookableoverthephone
          default: false
        creditCardRequired:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Creditcardrequired
          default: false
        collectCreditCard:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Collectcreditcard
          default: false
        autoGfeTreatments:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Autogfetreatments
        brandName:
          anyOf:
            - type: string
            - type: 'null'
          title: Brandname
        unit:
          anyOf:
            - $ref: '#/components/schemas/Unit'
            - type: 'null'
        internalNotes:
          anyOf:
            - type: string
            - type: 'null'
          title: Internalnotes
        sortOrder:
          anyOf:
            - type: integer
            - type: 'null'
          title: Sortorder
        allowCustomPricing:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Allowcustompricing
          default: false
        externalId:
          anyOf:
            - type: string
            - type: 'null'
          title: Externalid
        prepTimeDuration:
          anyOf:
            - type: integer
            - type: 'null'
          title: Preptimeduration
        prepTimeBuffer:
          anyOf:
            - type: integer
            - type: 'null'
          title: Preptimebuffer
        prepTimeName:
          anyOf:
            - type: string
            - type: 'null'
          title: Preptimename
        prepTimeColor:
          anyOf:
            - type: string
            - type: 'null'
          title: Preptimecolor
        prepProviderIds:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Prepproviderids
        checklists:
          anyOf:
            - items:
                $ref: '#/components/schemas/ServiceChecklistItem'
              type: array
            - type: 'null'
          title: Checklists
        bookables:
          anyOf:
            - items:
                $ref: '#/components/schemas/ServiceBookableItem'
              type: array
            - type: 'null'
          title: Bookables
        exemptedTaxIds:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Exemptedtaxids
      type: object
      title: ServiceUpdate
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    BulkServiceUpdateItem:
      properties:
        id:
          type: string
          title: Id
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
        duration:
          anyOf:
            - type: integer
            - type: 'null'
          title: Duration
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
        price:
          anyOf:
            - type: integer
            - type: 'null'
          title: Price
        displayPrice:
          anyOf:
            - type: integer
            - type: 'null'
          title: Displayprice
        displayPriceMax:
          anyOf:
            - type: integer
            - type: 'null'
          title: Displaypricemax
        priceStartsAt:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Pricestartsat
        cost:
          anyOf:
            - type: integer
            - type: 'null'
          title: Cost
        estimated:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Estimated
        bookingFee:
          anyOf:
            - type: integer
            - type: 'null'
          title: Bookingfee
        bookingFeeText:
          anyOf:
            - type: string
            - type: 'null'
          title: Bookingfeetext
        reminderMinutesBefore:
          anyOf:
            - type: integer
            - type: 'null'
          title: Reminderminutesbefore
        cancellationCost:
          anyOf:
            - type: integer
            - type: 'null'
          title: Cancellationcost
        hoursBeforeCancellingCosts:
          anyOf:
            - type: integer
            - type: 'null'
          title: Hoursbeforecancellingcosts
        bookingFeePercentage:
          anyOf:
            - type: integer
            - type: 'null'
          title: Bookingfeepercentage
        cancellationFeePctWithin24h:
          anyOf:
            - type: integer
            - type: 'null'
          title: Cancellationfeepctwithin24H
        cancellationFeePctWithin48h:
          anyOf:
            - type: integer
            - type: 'null'
          title: Cancellationfeepctwithin48H
        refundBookingFeeBefore48h:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Refundbookingfeebefore48H
        hoursBeforeBookingFeeRefundable:
          anyOf:
            - type: integer
            - type: 'null'
          title: Hoursbeforebookingfeerefundable
        followUpMinutesAfter:
          anyOf:
            - type: integer
            - type: 'null'
          title: Followupminutesafter
        followUpSmsTemplate:
          anyOf:
            - type: string
            - type: 'null'
          title: Followupsmstemplate
        reminderSmsTemplate:
          anyOf:
            - type: string
            - type: 'null'
          title: Remindersmstemplate
        locationIds:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Locationids
        providerIds:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Providerids
        formIds:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Formids
        confirmationSmsTemplate:
          anyOf:
            - type: string
            - type: 'null'
          title: Confirmationsmstemplate
        cancellationSmsTemplate:
          anyOf:
            - type: string
            - type: 'null'
          title: Cancellationsmstemplate
        noShowSmsTemplate:
          anyOf:
            - type: string
            - type: 'null'
          title: Noshowsmstemplate
        overrideNoticeSmsTemplate:
          anyOf:
            - type: string
            - type: 'null'
          title: Overridenoticesmstemplate
        shortNoticeBlock:
          anyOf:
            - type: integer
            - type: 'null'
          title: Shortnoticeblock
        visibility:
          anyOf:
            - $ref: '#/components/schemas/ServiceVisibilityType'
            - type: 'null'
        minutesBeforeRebookingAllowed:
          anyOf:
            - type: integer
            - type: 'null'
          title: Minutesbeforerebookingallowed
        color:
          anyOf:
            - type: string
            - type: 'null'
          title: Color
        allowIndividualProviderBooking:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Allowindividualproviderbooking
        displayOrder:
          anyOf:
            - type: integer
            - type: 'null'
          title: Displayorder
        reservedTimeMinutes:
          anyOf:
            - type: integer
            - type: 'null'
          title: Reservedtimeminutes
        category:
          anyOf:
            - type: string
            - type: 'null'
          title: Category
        isDoubleBookable:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Isdoublebookable
        isPopular:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Ispopular
        onlyBookableOverThePhone:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Onlybookableoverthephone
        creditCardRequired:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Creditcardrequired
        collectCreditCard:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Collectcreditcard
        autoGfeTreatments:
          anyOf:
            - items:
                type: string
              type: array
              maxItems: 11
            - type: 'null'
          title: Autogfetreatments
        brandName:
          anyOf:
            - type: string
            - type: 'null'
          title: Brandname
        unit:
          anyOf:
            - $ref: '#/components/schemas/Unit'
            - type: 'null'
        internalNotes:
          anyOf:
            - type: string
            - type: 'null'
          title: Internalnotes
        sortOrder:
          anyOf:
            - type: integer
            - type: 'null'
          title: Sortorder
        allowCustomPricing:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Allowcustompricing
        externalId:
          anyOf:
            - type: string
            - type: 'null'
          title: Externalid
        prepTimeDuration:
          anyOf:
            - type: integer
            - type: 'null'
          title: Preptimeduration
        prepTimeBuffer:
          anyOf:
            - type: integer
            - type: 'null'
          title: Preptimebuffer
        prepTimeName:
          anyOf:
            - type: string
            - type: 'null'
          title: Preptimename
        prepTimeColor:
          anyOf:
            - type: string
            - type: 'null'
          title: Preptimecolor
        prepProviderIds:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Prepproviderids
        bookables:
          anyOf:
            - items:
                $ref: '#/components/schemas/ServiceBookableItem'
              type: array
            - type: 'null'
          title: Bookables
        checklists:
          anyOf:
            - items:
                $ref: '#/components/schemas/ServiceChecklistItem'
              type: array
            - type: 'null'
          title: Checklists
        exemptedTaxIds:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Exemptedtaxids
      type: object
      required:
        - id
      title: BulkServiceUpdateItem
      description: >-
        Schema for a single service update within a bulk operation - ID is
        required.
    ServiceVisibilityType:
      type: string
      enum:
        - ALL
        - NEW
        - EXISTING
        - 'NO'
      title: ServiceVisibilityType
    Unit:
      type: string
      enum:
        - AMPOULES
        - APPLICATORS
        - BOTTLES
        - BOXES
        - CAPSULES
        - CUPS
        - DOSES
        - G_PER_ML
        - GRAMS
        - IU
        - IU_PER_ML
        - OUNCES
        - FLUID_OUNCES
        - KG
        - KITS
        - LITERS
        - MCG
        - MG
        - MG_PER_ML
        - ML
        - MMOL
        - MICROGRAM_PER_ML
        - PACKS
        - PAIRS
        - PATCHES
        - PERCENTAGE
        - PIECES
        - POUCHES
        - ROLLS
        - SACHETS
        - SHEETS
        - SPRAYS
        - STRIPS
        - SYRINGES
        - TABLETS
        - TABLETS_PER_DAY
        - TESTS
        - TUBES
        - UNITS
        - VIALS
        - TREATMENTS
        - SESSIONS
        - PULSES
        - JOULES
        - CENTIMETERS
        - THREAD_COUNT
        - INJECTIONS
        - WRINKLE_UNITS
        - POUNDS
        - FEET
        - INCHES
      title: Unit
    ServiceChecklistItem:
      properties:
        id:
          anyOf:
            - type: string
            - type: 'null'
          title: Id
        name:
          type: string
          title: Name
        type:
          anyOf:
            - $ref: '#/components/schemas/AppointmentChecklistType'
            - type: 'null'
        optional:
          type: boolean
          title: Optional
          default: false
        position:
          type: integer
          title: Position
      type: object
      required:
        - name
        - position
      title: ServiceChecklistItem
      description: Schema for service checklist items
    ServiceBookableItem:
      properties:
        bookableId:
          type: string
          title: Bookableid
        startOffset:
          type: integer
          maximum: 10080
          minimum: 0
          title: Startoffset
          default: 0
        duration:
          anyOf:
            - type: integer
              maximum: 10080
              minimum: 1
            - type: 'null'
          title: Duration
      type: object
      required:
        - bookableId
      title: ServiceBookableItem
      description: Schema for a bookable resource configured on a service.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    AppointmentChecklistType:
      type: string
      enum:
        - FILLED_FORM
        - CHECKED_IN
        - WITH_MA
        - MEASUREMENT_TAKEN
        - DOSE_TAKEN
        - WITH_PROVIDER
        - NOTE_TAKEN
        - PAYMENT_MADE
        - REQUEST_GFE
        - PICTURE_TAKEN
      title: AppointmentChecklistType

````