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

# Get a conference room

> Returns the room (status, label, member count) and every call that was in it, with its leg, join time and, once it left, its leave time and reason. Rooms of other projects return 404. Requires the `conferences:read` scope. Needs in-call control and conferencing to be enabled on the environment (503 until then); not available in production yet.



## OpenAPI

````yaml /api-reference/openapi.json get /v1/conferences/{conference_id}
openapi: 3.1.0
info:
  title: Wave API
  version: 1.0.0
  description: >-
    Wave API Platform — voice, numbers, and messaging for Saudi Arabia. Request
    schemas are GENERATED from the @wave-sa/shared Zod schemas — do not edit by
    hand (run `pnpm --filter @wave-sa/api generate:openapi`).
servers:
  - url: https://api.wave.sa
security:
  - bearerAuth: []
paths:
  /v1/conferences/{conference_id}:
    get:
      tags:
        - Conferencing
      summary: Get a conference room
      description: >-
        Returns the room (status, label, member count) and every call that was
        in it, with its leg, join time and, once it left, its leave time and
        reason. Rooms of other projects return 404. Requires the
        `conferences:read` scope. Needs in-call control and conferencing to be
        enabled on the environment (503 until then); not available in production
        yet.
      operationId: getConference
      parameters:
        - name: conference_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The room and its members
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Conference'
        '400':
          description: A sandbox key (SANDBOX_KEY_NOT_ALLOWED)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Missing or invalid API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: The key lacks the conferences:read scope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: No such room in your project
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: In-call control or conferencing not enabled for this environment
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - bearerAuth: []
components:
  schemas:
    Conference:
      type: object
      properties:
        conference_id:
          type: string
          format: uuid
        room:
          type: string
          description: Your label for the room.
        status:
          type: string
          enum:
            - active
            - ended
        ended_reason:
          type:
            - string
            - 'null'
          enum:
            - stopped
            - empty
            - destroyed
            - null
          description: >-
            `stopped` (you ended it), `empty` (the last member left),
            `destroyed` (the voice engine ended it).
        member_count:
          type: integer
        created_at:
          type: string
          format: date-time
        ended_at:
          type:
            - string
            - 'null'
          format: date-time
        members:
          type: array
          items:
            type: object
            properties:
              call_id:
                type: string
                format: uuid
              leg:
                type: string
                enum:
                  - customer
                  - agent
              joined_at:
                type: string
                format: date-time
              left_at:
                type:
                  - string
                  - 'null'
                format: date-time
              left_reason:
                type:
                  - string
                  - 'null'
                enum:
                  - engine_event
                  - call_ended
                  - room_ended
                  - null
            required:
              - call_id
              - leg
              - joined_at
              - left_at
              - left_reason
      required:
        - conference_id
        - room
        - status
        - ended_reason
        - member_count
        - created_at
        - ended_at
        - members
    Error:
      type: object
      description: Wave's standard bilingual error envelope.
      required:
        - error_code
        - message
        - message_ar
        - request_id
        - docs_url
      properties:
        error_code:
          type: string
          enum:
            - INVALID_API_KEY
            - EXPIRED_API_KEY
            - REVOKED_API_KEY
            - SANDBOX_KEY_NOT_ALLOWED
            - INSUFFICIENT_PERMISSIONS
            - API_KEY_REVEAL_UNAVAILABLE
            - RATE_LIMIT_EXCEEDED
            - RECAPTCHA_FAILED
            - SANDBOX_EXPIRED
            - OTP_INVALID
            - OTP_EXPIRED
            - OTP_TOO_MANY_ATTEMPTS
            - OTP_RESEND_TOO_SOON
            - OTP_SEND_FAILED
            - INVALID_PHONE_NUMBER
            - CALLBACK_NOT_FOUND
            - CALLBACK_ALREADY_CANCELLED
            - CALLBACK_NOT_CANCELLABLE
            - CALL_NOT_FOUND
            - CALL_FAILED
            - INSUFFICIENT_CREDITS
            - CALL_NOT_CONTROLLABLE
            - CALL_NOT_ACTIVE
            - CALL_NOT_ANSWERED
            - AGENT_LEG_NOT_CONNECTED
            - CALL_CONTROL_FAILED
            - CALL_CONTROL_UNSUPPORTED
            - CALL_CONTROL_DISABLED
            - INVALID_PLAY_URL
            - TRANSFER_IN_PROGRESS
            - TRANSFER_TARGET_INVALID
            - TRANSFER_LIMIT_REACHED
            - CONFERENCE_FULL
            - CALL_ALREADY_IN_CONFERENCE
            - CONFERENCE_NOT_FOUND
            - CONFERENCE_ENDED
            - QUEUE_CONTROL_FAILED
            - QUEUE_SERVICE_UNAVAILABLE
            - RECORDING_NOT_FOUND
            - RECORDING_URL_EXPIRED
            - RECORDING_SERVICE_UNAVAILABLE
            - CALLFLOW_AUDIO_SERVICE_UNAVAILABLE
            - VOICE_AUTH_DISABLED
            - VOICE_AUTH_NOT_FOUND
            - VOICE_AUTH_ASSURANCE_UNSUPPORTED
            - VOICE_AUTH_RATE_LIMITED
            - VOICE_AUTH_BLOCKED
            - VOICE_AUTH_BRAND_NOT_APPROVED
            - VOICE_AUTH_BRAND_NOT_FOUND
            - VOICE_AUTH_BRAND_INVALID_STATE
            - VOICE_AUTH_BRAND_DUPLICATE
            - VERIFY_DISABLED
            - VERIFY_NOT_FOUND
            - VERIFY_INVALID_CODE
            - VERIFY_MAX_ATTEMPTS
            - VERIFY_EXPIRED
            - VERIFY_RATE_LIMITED
            - VERIFY_SEND_FAILED
            - VERIFY_BLOCKED
            - VOICEMAIL_DISABLED
            - VOICEMAIL_NOT_FOUND
            - VOICEMAIL_RECORDING_NOT_FOUND
            - VOICEMAIL_SERVICE_UNAVAILABLE
            - VOICEMAIL_GREETING_INVALID
            - DLQ_REPLAY_DISABLED
            - DLQ_REPLAY_BROKER_UNAVAILABLE
            - MESSAGES_DISABLED
            - IVR_DISABLED
            - SANDBOX_INVALID_QUEUE
            - SANDBOX_QUEUE_UNAVAILABLE
            - SANDBOX_SIMULATED_SERVER_ERROR
            - SANDBOX_DESTINATION_NOT_ALLOWED
            - SANDBOX_MINUTES_EXCEEDED
            - WIDGET_ORIGIN_NOT_ALLOWED
            - PROJECT_NOT_FOUND
            - WEBHOOK_URL_INVALID
            - WEBHOOK_UNREACHABLE
            - WEBHOOK_LIMIT_EXCEEDED
            - WEBHOOK_URL_DUPLICATE
            - WEBHOOK_NOT_FOUND
            - WEBHOOK_VERIFICATION_FAILED
            - SIGNUP_EMAIL_TAKEN
            - SIGNUP_VALIDATION_FAILED
            - VITALPBX_PROVISIONING_FAILED
            - SIGNUP_FAILED
            - API_KEY_NOT_FOUND
            - API_KEY_REVEAL_FORBIDDEN
            - PRODUCTION_ACCESS_ALREADY_REQUESTED
            - PRODUCTION_TIER_REQUIRED
            - PRODUCTION_REQUEST_EXISTS
            - PRODUCTION_REQUEST_NOT_FOUND
            - PRODUCTION_REQUEST_INVALID_STATE
            - VALIDATION_ERROR
            - INTERNAL_ERROR
            - NOT_FOUND
            - PAYLOAD_TOO_LARGE
            - IDEMPOTENCY_KEY_CONFLICT
            - INVALID_CREDENTIALS
            - SESSION_REQUIRED
            - INVALID_ACCESS_TOKEN
            - EXPIRED_ACCESS_TOKEN
            - INVALID_REFRESH_TOKEN
            - EXPIRED_REFRESH_TOKEN
            - REFRESH_REUSE_DETECTED
            - REFRESH_ROTATION_RACE
            - SESSION_IDLE_TIMEOUT
            - WEB_CALLING_DISABLED
            - ORIGIN_NOT_ALLOWED
            - WEBRTC_CONCURRENCY_LIMIT
            - WCS_NOT_FOUND
            - WCS_EXPIRED
            - WCS_REVOKED
            - WCS_REUSE_DETECTED
            - WCS_NOT_ALLOWED_AS_BEARER
            - WEBRTC_PROVISIONING_FAILED
            - TURN_UNAVAILABLE
            - INVALID_IDENTITY
            - IDENTITY_CONFLICT
            - PROFILE_VALIDATION_FAILED
            - PASSWORD_VALIDATION_FAILED
            - INVALID_CURRENT_PASSWORD
            - PASSWORD_SSO_ONLY
            - SETUP_ALREADY_COMPLETE
            - INVALID_NATIONAL_ID
            - NAFATH_INITIATE_FAILED
            - NAFATH_NOT_VERIFIED
            - NAFATH_REJECTED
            - NAFATH_EXPIRED
            - NAFATH_ALREADY_REGISTERED
            - NAFATH_INVALID_WEBHOOK
            - NAFATH_ALREADY_VERIFIED
            - NAFATH_REQUIRED
            - ADMIN_UNAUTHORIZED
            - ADMIN_INVALID_CREDENTIALS
            - ADMIN_ORG_OWNER_EMAIL_TAKEN
            - ADMIN_USER_NOT_FOUND
            - INSUFFICIENT_ROLE
            - LAST_OWNER
            - INVALID_SCOPE
            - NUMBER_NOT_AVAILABLE
            - NUMBER_NOT_FOUND
            - NUMBER_ALREADY_ASSIGNED
            - NUMBER_PROVIDER_ERROR
            - PORTING_INVALID_STATE
            - PORTING_NOT_FOUND
            - OWN_DID_NUMBER_REQUIRED
            - OWN_DID_NUMBER_NOT_AUTHORIZED
            - OWN_DID_NUMBER_UNAVAILABLE
            - SPEND_CAP_EXCEEDED
            - RATE_PLAN_NOT_FOUND
            - PAYMENT_FAILED
            - DUPLICATE_USAGE_EVENT
            - INVOICE_NOT_FOUND
            - ENGINE_UNAUTHORIZED
            - CALLFLOW_TENANT_NOT_FOUND
            - CLI_NOT_OWNED
            - WEBHOOK_UNAUTHORIZED
            - CHANNEL_NOT_CONFIGURED
            - WEBHOOK_PAYLOAD_INVALID
            - INVITE_NOT_FOUND
            - INVITE_NOT_PENDING
            - INVITE_EXPIRED
            - INVITE_ROLE_INVALID
            - INVITE_ALREADY_MEMBER
            - INVITE_EMAIL_OTHER_ORG
            - INVITE_ACCOUNT_DETAILS_REQUIRED
        message:
          type: string
          description: English message.
        message_ar:
          type: string
          description: Arabic message.
        request_id:
          type: string
        docs_url:
          type: string
          format: uri
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: sk_sandbox_* | sk_live_*
      description: >-
        Your API key from the Wave dashboard. Sandbox keys start `sk_sandbox_`;
        production keys start `sk_live_`. Send as `Authorization: Bearer <key>`.
        Some endpoints require a production key and specific scopes.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.