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

# List All Waiting Areas

> Get a list of waiting areas based on the user's role



## OpenAPI

````yaml GET /api/v1/waiting-areas
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:
    get:
      tags:
        - Waiting Area
      summary: Get waiting areas
      description: Get a list of waiting areas based on the user's role
      operationId: getWaitingAreas
      parameters:
        - $ref: '#/components/parameters/PerPageParameter'
      responses:
        '200':
          description: A paginated list of waiting areas.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/WaitingAreaResource'
                  meta:
                    $ref: '#/components/schemas/MetaResource'
                  links:
                    $ref: '#/components/schemas/LinkResource'
                required:
                  - data
                  - meta
                  - links
      security:
        - Cognito: []
components:
  parameters:
    PerPageParameter:
      name: per_page
      in: query
      description: Number of items per page
      required: false
      schema:
        type: integer
        default: 10
        minimum: 1
        example: 10
  schemas:
    WaitingAreaResource:
      title: Waiting Area
      type: object
      properties:
        id:
          $ref: '#/components/schemas/Uuid'
        name:
          type: string
          description: The name of the waiting area
          example: Waiting Area 1
        schedules:
          type: array
          items:
            $ref: '#/components/schemas/WaitingAreaScheduleResource'
          description: Schedules associated with the waiting area
        waiting_count:
          type: integer
          description: The number of people waiting in the waiting area
          example: 5
        in_call_count:
          type: integer
          description: The number of people in a call in the waiting area
          example: 2
        longest_waiting_time:
          type: integer
          description: The longest waiting time in the waiting area in seconds
          example: 300
        attending_agents_count:
          type: integer
          description: The number of agents currently attending rooms
          example: 2
        messages_count:
          type: integer
          description: The number of messages in the waiting area
          example: 10
        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
        current_user_permission_level:
          type: string
          description: The current user level permission for the waiting area
          example: Read Only
          nullable: true
        current_user_room_group_id:
          type: string
          description: The current user room group uuid
          nullable: true
          example: 123e4567-e89b-12d3-a456-426614174000
    MetaResource:
      title: Pagination Meta
      type: object
      properties:
        current_page:
          type: number
        from:
          type: number
        last_page:
          type: number
        links:
          type: array
          items:
            type: object
            properties:
              url:
                $ref: '#/components/schemas/PaginatedUrl'
              label:
                type: string
              active:
                type: boolean
            required:
              - label
              - active
        path:
          $ref: '#/components/schemas/PaginatedUrl'
        per_page:
          type: number
        to:
          type: number
        total:
          type: number
      required:
        - current_page
        - from
        - last_page
        - links
        - path
        - per_page
        - to
        - total
    LinkResource:
      title: Pagination Links
      type: object
      properties:
        first:
          $ref: '#/components/schemas/PaginatedUrl'
        last:
          $ref: '#/components/schemas/PaginatedUrl'
        prev:
          $ref: '#/components/schemas/PaginatedUrl'
        next:
          $ref: '#/components/schemas/PaginatedUrl'
      required:
        - first
        - last
    Uuid:
      title: id
      description: Resource identifier as a UUID
      type: string
      example: 9a0f170e-0aa0-47db-ab14-4ddcdcbad061
    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
    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'
    PaginatedUrl:
      title: Paginated Url
      description: HTTP link
      type: string
      example: https://dev.sqod.uk/path?page=1
    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
    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
    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

````