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

# Update Waiting Area by ID

> Update a waiting area by ID



## OpenAPI

````yaml PATCH /api/v1/waiting-areas/{waiting_area}
openapi: 3.0.0
info:
  title: SQOD API
  version: 1.0.0
  contact:
    name: Daniel Loomes
    email: dloomes@involve.vc
  description: >-
    RESTful API specification for involve-api.


    All endpoints are secured (unless indicated otherwise) and need a valid
    Bearer token passed in the Authorization header of the request.


    Response model conventions:

    - Fields marked as "required" will have a value

    - Fields not marked as "required" can have a value, but may also be null, or
    may not be included in the response at all

    - Fields of type array may be empty (array with no items) unless validation
    indicates otherwise, however they are always "required"


    Patch update conventions:

    - Send only the fields you want to update with their new values

    - Fields marked as "required" cannot be unset/set to null, however they can
    be omitted from the request body if they should be left unchanged

    - The same rules also apply to fields inside nested objects


    Get collection conventions:

    - All paginated lists accept page and per_page query string parameters


    Other notes:

    - For sub-resources of the User resource, 'me' alias can be used instead of
    the user ID to work with currently authenticated user.

    - Expect 401 response in case of authentication problems, e.g. expired or
    invalid tokens.

    - Expect 403 response in case of authorisation problems, e.g. user doesn't
    have enough privileges to access a given resource.
  license:
    name: Private
    url: https://example.com
servers:
  - url: '{customerRef}'
    description: SQOD Customer Server
    variables:
      customerRef:
        default: ''
        description: Enter your customer URL
  - url: https://auth.app.sqod.co.uk
    description: SQOD Authentication Server
security: []
paths:
  /api/v1/waiting-areas/{waiting_area}:
    parameters:
      - $ref: '#/components/parameters/WaitingArea'
    patch:
      tags:
        - Waiting Area
      summary: Update a waiting area
      description: Update a waiting area by ID
      operationId: patchWaitingArea
      parameters:
        - $ref: '#/components/parameters/PatchMethod'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                custom_identifier:
                  type: string
                department_id:
                  type: string
                  nullable: true
                additional_departments:
                  type: array
                  description: >
                    This field acts as a `sync` operation, meaning that the
                    departments 

                    that are passed in will be the only departments that are
                    assigned to

                    the waiting area. Any departments that are not passed in
                    will be

                    removed from the waiting area.
                  items:
                    type: object
                    properties:
                      id:
                        $ref: '#/components/schemas/Uuid'
                      permission:
                        $ref: '#/components/schemas/WaitingAreaPermissions'
                  nullable: true
                additional_documents:
                  type: array
                  description: >
                    When an item has an `id` property, it will be updated. 

                    When an item does not have an `id` property, it will be
                    created.

                    When an item has a `deleted_at` property, it will be
                    deleted.
                  items:
                    type: object
                    properties:
                      id:
                        $ref: '#/components/schemas/Uuid'
                      name:
                        $ref: '#/components/schemas/Translatable'
                      url:
                        type: string
                      deleted_at:
                        type: string
                        format: date-time
                        nullable: true
                  nullable: true
                assigned_users:
                  type: array
                  description: >
                    This field acts as a `sync` operation, meaning that the
                    users

                    that are passed in will be the only users that are assigned
                    to

                    the waiting area. Any users that are not passed in will be

                    removed from the waiting area.
                  items:
                    type: object
                    properties:
                      id:
                        $ref: '#/components/schemas/Uuid'
                      permission:
                        $ref: '#/components/schemas/WaitingAreaPermissions'
                  nullable: true
                data_fields:
                  type: array
                  description: >
                    When an item has an `id` property, it will be updated. 

                    When an item does not have an `id` property, it will be
                    created.

                    When an item has a `deleted_at` property, it will be
                    deleted.
                  items:
                    type: object
                    properties:
                      id:
                        $ref: '#/components/schemas/Uuid'
                      type:
                        $ref: '#/components/schemas/WaitingAreaDataFieldTypes'
                      name:
                        $ref: '#/components/schemas/Translatable'
                      required:
                        type: boolean
                      deleted_at:
                        type: string
                        format: date-time
                        nullable: true
                schedules:
                  type: array
                  nullable: false
                  minItems: 7
                  items:
                    $ref: '#/components/schemas/WaitingAreaScheduleResource'
                agent_post_call_redirent_link:
                  type: string
                  description: The link to redirect the agent to after a call
                  example: https://www.google.com
                claimant_post_call_redirent_link:
                  type: string
                  description: The link to redirect the claimant to after a call
                  example: https://www.google.com
                holding_page_redirent_link:
                  type: string
                  description: The link to redirect to for the holding page
                  example: https://www.google.com
                features_call_recording_enable:
                  type: boolean
                  description: Whether call recording is enabled
                  example: true
                features_breakout_room_enable:
                  type: boolean
                  description: Whether breakout rooms are enabled
                  example: true
                features_webcam_access_agent_enable:
                  type: boolean
                  description: Whether webcam access is enabled for agents
                  example: true
                features_webcam_access_claimant_enable:
                  type: boolean
                  description: Whether webcam access is enabled for claimants
                  example: true
                features_webcam_background_blurring_enable:
                  type: boolean
                  description: Whether webcam background blurring is enabled
                  example: true
                features_microphone_access_enable:
                  type: boolean
                  description: Whether microphone access is enabled
                  example: true
                features_screen_sharing_enable:
                  type: boolean
                  description: Whether screen sharing is enabled
                  example: true
                features_messages_chat_enable:
                  type: boolean
                  description: Whether chat messages are enabled
                  example: true
                features_participant_list_enable:
                  type: boolean
                  description: Whether the participant list is enabled
                  example: true
                features_bandwidth:
                  type: string
                  description: The bandwidth setting
                  example: high
                messages_welcome_message:
                  $ref: '#/components/schemas/Translatable'
                messages_holding_message:
                  $ref: '#/components/schemas/Translatable'
                messages_post_call_message:
                  $ref: '#/components/schemas/Translatable'
                messages_sms_default_message:
                  $ref: '#/components/schemas/Translatable'
                messages_email_default_message:
                  $ref: '#/components/schemas/Translatable'
                theme_waiting_area_video_url:
                  type: string
                  description: The waiting area video URL
                  example: https://www.youtube.com/watch?v=1234567890
                theme_waiting_area_hold_music_url:
                  type: string
                  description: The waiting area hold music URL
                  example: https://www.youtube.com/watch?v=1234567890
                theme_color:
                  type: string
                  description: The theme color
                  example: '#000000'
                support_page_content:
                  $ref: '#/components/schemas/Translatable'
                alert_phone_number:
                  type: string
                  description: The phone number to send alerts to
                  example: 447123456789
                  nullable: true
                alert_time_in_minutes:
                  type: integer
                  description: >-
                    The time in minutes to send alerts after the user joined the
                    room
                  example: 5
                  nullable: true
      responses:
        '200':
          description: The request has succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WaitingAreaDetailResource'
                required:
                  - data
      security:
        - Cognito: []
components:
  parameters:
    WaitingArea:
      name: waiting_area
      in: path
      description: the UUID of the required waiting area model
      required: true
      schema:
        $ref: '#/components/schemas/Uuid'
    PatchMethod:
      name: _method
      description: >
        There is a bug in Laravel where using PATCH as the method when making a
        request will not work when submitting with a Content-Type of
        `multipart/form-data`.


        To fix this, the client needs to use `POST` as the method and add a
        `_method` query parameter and set its value to `PATCH`. This will still
        route to the `PATCH` route in laravel.


        Note: this is only needed for `PATCH` endpoints.
      in: query
      required: false
      schema:
        type: string
        enum:
          - PATCH
  schemas:
    Uuid:
      title: id
      description: Resource identifier as a UUID
      type: string
      example: 9a0f170e-0aa0-47db-ab14-4ddcdcbad061
    WaitingAreaPermissions:
      title: Waiting Area Permissions
      type: string
      enum:
        - Read Only
        - Basic
        - Full Access
    Translatable:
      title: Translatable
      oneOf:
        - type: object
          properties:
            en:
              type: string
              description: The english translation
            cy:
              type: string
              description: The welsh translation
        - type: string
          description: >-
            This will be set to the locale that is set on the `Accept-Language`
            header (default is `en`)
    WaitingAreaDataFieldTypes:
      title: Waiting Area Data Field Types
      type: string
      enum:
        - text
        - number
        - email
    WaitingAreaScheduleResource:
      title: Waiting Area Schedule
      type: object
      properties:
        id:
          $ref: '#/components/schemas/Uuid'
          nullable: true
        day:
          type: string
          enum:
            - monday
            - tuesday
            - wednesday
            - thursday
            - friday
            - saturday
            - sunday
        opens_at:
          type: string
          format: time
          description: The time the waiting area opens
          example: '08:30:00'
        closes_at:
          type: string
          format: time
          description: The time the waiting area closes
          example: '17:00:00'
        is_enabled:
          type: boolean
          description: Whether the waiting area is enabled
          example: true
    WaitingAreaDetailResource:
      title: Waiting Area Details
      type: object
      properties:
        id:
          $ref: '#/components/schemas/Uuid'
        name:
          type: string
          description: The name of the waiting area
          example: Waiting Area 1
        created_at:
          type: string
          format: date-time
          description: Date and time of the waiting area creation
          example: '2021-01-30T08:30:00Z'
        department:
          $ref: '#/components/schemas/DepartmentResource'
        Tenant:
          $ref: '#/components/schemas/TenantResource'
        reference:
          type: string
          description: Reference identifier for the waiting area
          example: WA-12345
        url:
          type: string
          format: uri
          description: URL to access the waiting area
          example: https://example.com/waiting-areas/WA-12345
        data_fields:
          type: array
          items:
            $ref: '#/components/schemas/WaitingAreaDataFieldResource'
          description: Data fields associated with the waiting area
        assigned_users:
          type: array
          items:
            $ref: '#/components/schemas/AssignedUserResource'
          description: Users assigned to the waiting area
        additional_departments:
          type: array
          items:
            $ref: '#/components/schemas/AdditionalDepartmentResource'
          description: Additional departments that the waiting area is associated with
        additional_documents:
          type: array
          items:
            $ref: '#/components/schemas/WaitingAreaAdditionalDocumentResource'
        schedules:
          type: array
          items:
            $ref: '#/components/schemas/WaitingAreaScheduleResource'
          description: Schedules associated with the waiting area
        agent_post_call_redirent_link:
          type: string
          description: The link to redirect the agent to after a call
          example: https://www.google.com
        claimant_post_call_redirent_link:
          type: string
          description: The link to redirect the claimant to after a call
          example: https://www.google.com
        holding_page_redirent_link:
          type: string
          description: The link to redirect to for the holding page
          example: https://www.google.com
        features_call_recording_enable:
          type: boolean
          description: Whether call recording is enabled
          example: true
        features_breakout_room_enable:
          type: boolean
          description: Whether breakout rooms are enabled
          example: true
        features_webcam_access_agent_enable:
          type: boolean
          description: Whether webcam access is enabled for agents
          example: true
        features_webcam_access_claimant_enable:
          type: boolean
          description: Whether webcam access is enabled for claimants
          example: true
        features_webcam_background_blurring_enable:
          type: boolean
          description: Whether webcam background blurring is enabled
          example: true
        features_microphone_access_enable:
          type: boolean
          description: Whether microphone access is enabled
          example: true
        features_screen_sharing_enable:
          type: boolean
          description: Whether screen sharing is enabled
          example: true
        features_messages_chat_enable:
          type: boolean
          description: Whether chat messages are enabled
          example: true
        features_participant_list_enable:
          type: boolean
          description: Whether the participant list is enabled
          example: true
        features_disable_display_name:
          type: boolean
          description: Whether the participant list is enabled
          example: true
        features_bandwidth:
          type: string
          description: The bandwidth setting
          example: high
        messages_welcome_message:
          type: string
          description: The welcome message
          example: Welcome to the waiting area
        messages_holding_message:
          type: string
          description: The holding message
          example: Please wait for your appointment
        messages_post_call_message:
          type: string
          description: The post call message
          example: Thank you for your call
        messages_sms_default_message:
          type: string
          description: The default SMS message
          example: Please join the waiting area
        messages_email_default_message:
          type: string
          description: The default email message
          example: Please join the waiting area
        theme_waiting_area_video_url:
          type: string
          description: The waiting area video URL
          example: https://www.youtube.com/watch?v=1234567890
        theme_waiting_area_hold_music_url:
          type: string
          description: The waiting area hold music URL
          example: https://www.youtube.com/watch?v=1234567890
        theme_color:
          type: string
          description: The theme color
          example: '#000000'
        theme_hero_banner_file:
          $ref: '#/components/schemas/File'
        support_page_content:
          type: string
          description: The support page content
          example: Support page content
        current_user_permission_level:
          type: string
          description: The current user level permission for the waiting area
          example: Read Only
          nullable: true
        alert_phone_number:
          type: string
          description: The phone number to send alerts to
          example: 447123456789
          nullable: true
        alert_time_in_minutes:
          type: integer
          description: The time in minutes to send alerts after the user joined the room
          example: 5
          nullable: true
        current_user_room_group_id:
          type: string
          description: The current user room group uuid
          nullable: true
          example: 123e4567-e89b-12d3-a456-426614174000
    DepartmentResource:
      title: Department
      type: object
      properties:
        id:
          type: integer
          example: 1
        name:
          type: string
          example: Department
    TenantResource:
      title: Tenant
      type: object
      properties:
        id:
          $ref: '#/components/schemas/Uuid'
        name:
          type: string
          example: John Smith
        slug:
          type: string
          example: john-smith
        template:
          type: string
          example: sqod
          enum:
            - sqod
            - gov
            - nhs
        site_customization:
          $ref: '#/components/schemas/SiteCustomization'
        tenant_support_info:
          $ref: '#/components/schemas/TenantSupportInfo'
    WaitingAreaDataFieldResource:
      title: Waiting Area DataField
      type: object
      properties:
        id:
          $ref: '#/components/schemas/Uuid'
        name:
          type: string
          description: The name of the data field
          example: First Name
        type:
          type: string
          description: The type of the datafield
          example: text
        required:
          type: boolean
          description: Whether the datafield is required
          example: true
    AssignedUserResource:
      title: Assigned User
      type: object
      properties:
        id:
          $ref: '#/components/schemas/Uuid'
        first_name:
          type: string
          example: John
        last_name:
          type: string
          example: Doe
        permission:
          type: string
          example: Read Only
          enum:
            - Read Only
            - Basic
            - Full Access
    AdditionalDepartmentResource:
      title: Additional Department
      type: object
      properties:
        id:
          $ref: '#/components/schemas/Uuid'
        name:
          type: string
          example: Department
        permission:
          type: string
          example: view
    WaitingAreaAdditionalDocumentResource:
      title: Waiting Area Additional Document
      type: object
      properties:
        id:
          $ref: '#/components/schemas/Uuid'
        name:
          type: string
          description: The name of the file data field
          example: test.pdf
        url:
          type: string
          description: The url of the file
          example: example.com/file.pdf
    File:
      title: File
      type: object
      properties:
        file_name:
          type: string
          description: The name of the file
          example: file.pdf
        url:
          type: string
          description: The url of the file
          example: https://www.google.com
        path:
          type: string
          description: The path of the file
          example: /path/to/file.pdf
    SiteCustomization:
      title: SiteCustomization
      type: object
      properties:
        logo:
          $ref: '#/components/schemas/File'
        css_file:
          $ref: '#/components/schemas/File'
        banner_color:
          type: string
          nullable: true
          example: '#c11de2'
        font_color:
          type: string
          nullable: true
          example: '#c11de2'
        body_link_color:
          type: string
          nullable: true
          example: '#c11de2'
        terms_and_conditions_link:
          type: string
          nullable: true
        privacy_policy_link:
          type: string
          nullable: true
        support_center_link:
          type: string
          nullable: true
        bsl_video_url:
          type: string
          nullable: true
        appointment_data_fields:
          type: array
          items:
            $ref: '#/components/schemas/AppointmentDataFieldResource'
        main_background_image:
          $ref: '#/components/schemas/File'
        header_background_colour:
          type: string
          nullable: true
          example: '#c11de2'
        navigation_text_colour:
          type: string
          nullable: true
          example: '#c11de2'
        navigation_link_colour:
          type: string
          nullable: true
          example: '#c11de2'
        heading_colour:
          type: string
          nullable: true
          example: '#c11de2'
        subheading_colour:
          type: string
          nullable: true
          example: '#c11de2'
        main_background_colour:
          type: string
          nullable: true
          example: '#c11de2'
        waiting_area_welcome_message:
          type: string
          nullable: true
        waiting_area_holding_message:
          type: string
          nullable: true
        waiting_area_post_call_message:
          type: string
          nullable: true
        waiting_area_sms_default_invite:
          type: string
          nullable: true
        waiting_area_email_default_invite:
          type: string
          nullable: true
        waiting_area_support_page_content:
          type: string
          nullable: true
        footer_background_color:
          type: string
          nullable: true
          example: '#c11de2'
        footer_font_color:
          type: string
          nullable: true
          example: '#c11de2'
        footer_link_color:
          type: string
          nullable: true
          example: '#c11de2'
        copyright_name:
          type: string
          nullable: true
        copyright_date:
          type: string
          nullable: true
        cta_color:
          type: string
          nullable: true
          example: '#c11de2'
        cta_font_color:
          type: string
          nullable: true
          example: '#c11de2'
        date_color:
          type: string
          nullable: true
          example: '#c11de2'
        date_font_color:
          type: string
          nullable: true
          example: '#c11de2'
        report_text_color:
          type: string
          nullable: true
          example: '#c11de2'
        report_bg_color:
          type: string
          nullable: true
          example: '#c11de2'
        report_cta_color:
          type: string
          nullable: true
          example: '#c11de2'
        report_cta_font_color:
          type: string
          nullable: true
          example: '#c11de2'
        use_light_video_controls:
          type: boolean
    TenantSupportInfo:
      title: TenantSupportInfo
      type: object
      properties:
        phone:
          type: string
        email:
          type: string
    AppointmentDataFieldResource:
      title: Appointment Data Field
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: The unique identifier of the appointment data field.
        name:
          type: string
          description: The name of the appointment data field.
        type:
          type: string
          description: The type of the appointment data field.
        required:
          type: boolean
          description: Whether the appointment data field is required.
  securitySchemes:
    Cognito:
      type: http
      description: Provide a Bearer Token
      scheme: bearer

````