swagger: '2.0'
info:
    version: 0.2.0
    title: Convirza APIs
    description: >
        Welcome to the **Convirza APIs**.

        This API allows clients to securely access account-level data and call analytics via HTTPS.  It is designed for
        partners, customers, and integrations that need real-time access to call tracking, lead intelligence, and
        performance data.

        **Rate Limits**:
          - You are limited to **30 requests per minute** based on your account or IP address.
          - The following headers are returned with each request to help you manage usage:
          - `X-RateLimit-Limit`: Maximum number of requests per minute (30)
          - `X-RateLimit-Remaining`: Requests remaining in the current window
          - `X-RateLimit-Reset`: Seconds remaining until the rate limit resets

        For more information about Convirza’s call tracking and conversation analytics solutions,  visit
        [https://www.convirza.com](https://www.convirza.com).

        If you have questions or need help integrating, feel free to contact us:
        [https://www.convirza.com/contact-us](https://www.convirza.com/contact-us)
    termsOfService: 'https://www.convirza.com/terms-conditions/'
host: apicfa.conviza.com
basePath: /v2
schemes:
    - https
consumes:
    - application/json
produces:
    - application/json
tags:
    -
        name: call
        description: Everything to do with call records
    -
        name: blacklist
        description: Everything to do with blacklist numbers
    -
        name: campaign
        description: Everything to do with campaigns
    -
        name: callflow
        description: >-
            Everything to do with call flows. Call flows define routing rules for incoming calls.
            Supports single numbers and number pools with two provisioning methods:
            (1) Pre-existing phone numbers from inventory (V3 compatible),
            (2) Automatic NPA/NXX provisioning
    -
        name: group
        description: Everything to do with groups
    -
        name: number
        description: Phone number searching and requesting
    -
        name: misc
        description: Additional miscellaneous end points
    -
        name: webhook
        description: Everything to do with webhook
    -
        name: callaction
        description: Everything to do with callaction
    -
        name: email
        description: Everything to do with sending email
    -
        name: customsource
        description: Manage custom sources
    -
        name: user
        description: Everything to do with user
    -
        name: scorecard
        description: Everything to do with the scorecard
    -
        name: sms
        description: Send SMS from tracking numbers
    -
        name: tag
        description: Manage tags
    -
        name: userpermissions
        description: Manage users permissions
    -
        name: insights
        description: Manage insights
    -
        name: SMS Broadcast
        description: Manage SMS broadcasts
externalDocs:
    description: Getting started (see link below)
    url: 'https://kb.convirza.com/api-request-instructions'
paths:
    /user/reports:
        x-swagger-router-controller: ctUserController
        get:
            operationId: getReports
            summary: Returns available reports
            description: >-
                Retrieves available reports based on the authenticated user's permissions and access level. Returns
                report metadata including IDs, names, and admin restrictions. Supports pagination and filtering.
            parameters:
                -
                    $ref: '#/parameters/limitParam'
                -
                    $ref: '#/parameters/offsetParam'
                -
                    $ref: '#/parameters/filterParam'
            tags:
                - user
            responses:
                '200':
                    description: 'Report metadata including IDs, names, and permission flags'
                    schema:
                        $ref: '#/definitions/userReportResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /scorecard/list:
        x-swagger-router-controller: scoreCardController
        get:
            operationId: getScoreCards
            summary: An array of scorecards
            description: >-
                Retrieves scorecards accessible to the authenticated user based on organizational access permissions.
                Returns scorecard metadata including names, IDs, group access settings, creation details, and importance
                levels. Supports pagination and filtering.
            parameters:
                -
                    $ref: '#/parameters/limitParam'
                -
                    $ref: '#/parameters/offsetParam'
                -
                    $ref: '#/parameters/filterParams'
            tags:
                - scorecard
            responses:
                '200':
                    description: 'Scorecard metadata including names, identifiers, permissions, and creation details'
                    schema:
                        $ref: '#/definitions/scorecardList'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /scorecard/scoredCallsReport:
        x-swagger-router-controller: scoreCardController
        get:
            operationId: getScoredCallsReport
            summary: An array of scorecard score data similiar to what is displayed in the Scored Calls report
            description: >-
                Generates a comprehensive report of scored call data, including outcome percentages compared to average
                scores and detailed criteria performance metrics. Used for quality assurance and performance evaluation.
                Supports pagination and filtering.
            parameters:
                -
                    $ref: '#/parameters/limitParam'
                -
                    $ref: '#/parameters/offsetParam'
                -
                    $ref: '#/parameters/gscrfilterParams'
            tags:
                - scorecard
            responses:
                '200':
                    description: 'Scored call analytics including outcome percentages, average scores, and criteria metrics'
                    schema:
                        $ref: '#/definitions/scoredCallsReport'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /scorecard/callField:
        x-swagger-router-controller: scoreCardController
        post:
            operationId: postCallField
            summary: Add/Update call title
            description: >-
                Assigns or updates a custom title for a call record. Used to add descriptive labels to calls for easier
                identification and organization within scorecards.
            parameters:
                -
                    name: callTitle
                    in: body
                    description: Call record data including the call ID and the title to assign or update
                    required: true
                    schema:
                        $ref: '#/definitions/CallFieldPost'
            tags:
                - scorecard
            responses:
                '200':
                    description: Confirmation of the title assignment operation with result status
                    schema:
                        $ref: '#/definitions/PostResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /call:
        x-swagger-router-controller: callController
        get:
            operationId: getCall
            summary: Returns a specific call record referenced by the ID given
            description: >-
                Retrieves detailed information for a specific call record by ID. Returns complete call metadata
                including duration, caller information, routing details, disposition, and associated campaign data.
            parameters:
                -
                    $ref: '#/parameters/idParam'
            tags:
                - call
            responses:
                '200':
                    description: 'Complete call record with metadata, routing information, and campaign association'
                    schema:
                        $ref: '#/definitions/CallResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /call/list:
        x-swagger-router-controller: callController
        get:
            description: >-
                Retrieves call records matching specified filter criteria. Returns basic call information suitable for
                list views and reporting. Supports pagination, filtering by date range, campaign, group, caller ID, and
                other attributes.
            summary: An array of calls
            operationId: getCallList
            parameters:
                -
                    $ref: '#/parameters/limitParam'
                -
                    $ref: '#/parameters/offsetParam'
                -
                    $ref: '#/parameters/filterParam'
            tags:
                - call
            responses:
                '200':
                    description: Call records matching filter criteria with basic metadata
                    schema:
                        $ref: '#/definitions/CallListResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /call/detail:
        x-swagger-router-controller: callController
        get:
            operationId: getCallDetail
            summary: List of calls including the detail record
            description: >-
                Retrieves call records with extended detail fields beyond the basic call list. Returns comprehensive
                call data including duration, cost, routing path, recording URLs, transcription data, custom fields,
                tags, and campaign information. Supports pagination and advanced filtering.
            parameters:
                -
                    $ref: '#/parameters/limitParam'
                -
                    $ref: '#/parameters/offsetParam'
                -
                    $ref: '#/parameters/filterParam'
                -
                    $ref: '#/parameters/recordURL'
                -
                    $ref: '#/parameters/fetchComment'
            tags:
                - call
            responses:
                '200':
                    description: 'Call records with detailed metadata, recordings, transcriptions, and custom fields'
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/CallDetailResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /call/detail/archived:
        x-swagger-router-controller: callController
        get:
            operationId: getArchivedCallDetail
            summary: >-
                List of calls including the detail record from archived data only which is older than two and a half
                years
            description: >-
                Retrieves call records from long-term archived storage for calls older than two and a half years.
                Returns the same detailed information as the standard call detail endpoint but accesses historical data
                beyond the active retention period. Supports pagination and filtering.
            parameters:
                -
                    $ref: '#/parameters/limitParam'
                -
                    $ref: '#/parameters/offsetParam'
                -
                    $ref: '#/parameters/filterParam'
                -
                    $ref: '#/parameters/recordURL'
                -
                    $ref: '#/parameters/fetchComment'
            tags:
                - call
            responses:
                '200':
                    description: Archived call records with complete metadata from long-term storage
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/CallDetailArchivedResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /call/extend:
        x-swagger-router-controller: callController
        get:
            operationId: getCallExtend
            summary: List of calls including the detail record
            description: >-
                Retrieves call records with additional extended fields and analytics data beyond standard call details.
                Returns enhanced call information including advanced metrics, conversation intelligence data, and
                enriched routing information. Supports pagination and filtering.
            parameters:
                -
                    $ref: '#/parameters/limitParam'
                -
                    $ref: '#/parameters/offsetParam'
                -
                    $ref: '#/parameters/filterParam'
                -
                    $ref: '#/parameters/recordingFile'
                -
                    $ref: '#/parameters/recordURL'
            tags:
                - call
            responses:
                '200':
                    description: Call records with extended analytics and enriched metadata
                    schema:
                        $ref: '#/definitions/CallExtendResponse'
                default:
                    description: Unexpected error
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/Error'
    /call/transcription:
        x-swagger-router-controller: callController
        get:
            operationId: getCallTranscription
            summary: List of calls including the transcription
            description: >-
                Retrieves call records that have associated transcriptions. Returns call metadata along with
                transcription text generated from call recordings. Useful for text-based call analysis and keyword
                searching. Supports pagination and filtering.
            parameters:
                -
                    $ref: '#/parameters/limitParam'
                -
                    $ref: '#/parameters/offsetParam'
                -
                    $ref: '#/parameters/filterParam'
                -
                    $ref: '#/parameters/recordURL'
            tags:
                - call
            responses:
                '200':
                    description: Call records with transcription text data
                    schema:
                        $ref: '#/definitions/CallTranscriptionResponse'
                default:
                    description: Unexpected error
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/Error'
    /call/transcriptionDetail:
        x-swagger-router-controller: callController
        get:
            operationId: getCallTranscriptionDetail
            summary: List of calls including the transcription details
            description: >-
                Retrieves call records with detailed transcription data including timestamps, speaker identification,
                and confidence scores. Returns comprehensive transcription metadata beyond basic text. Supports
                pagination and filtering.
            parameters:
                -
                    $ref: '#/parameters/limitParam'
                -
                    $ref: '#/parameters/offsetParam'
                -
                    $ref: '#/parameters/filterParam'
                -
                    $ref: '#/parameters/recordURL'
            tags:
                - call
            responses:
                '200':
                    description: Call records with detailed transcription metadata including timestamps and speaker data
                    schema:
                        $ref: '#/definitions/CallTranscriptionDetailResponse'
                default:
                    description: Unexpected error
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/Error'
    /call/tag:
        x-swagger-router-controller: callController
        get:
            operationId: getCallTag
            summary: List of calls with tags associated to call
            description: >-
                Retrieves call records with associated tags. Returns call metadata including all tags assigned to each
                call for categorization and filtering purposes. Supports pagination and filtering.
            parameters:
                -
                    $ref: '#/parameters/limitParam'
                -
                    $ref: '#/parameters/offsetParam'
                -
                    $ref: '#/parameters/filterParam'
            tags:
                - call
            responses:
                '200':
                    description: An array of calls with call detail
                    schema:
                        $ref: '#/definitions/CallTagResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
        post:
            operationId: addTags
            summary: Add tags to specific call
            description: >-
                Assigns one or more tags to a specific call record for categorization and organization. Tags enable
                easier filtering and grouping of calls based on custom criteria.
            parameters:
                -
                    name: tagCall
                    in: body
                    description: Call ID and array of tag names to assign to the call
                    required: true
                    schema:
                        $ref: '#/definitions/CallTagPost'
            tags:
                - call
            responses:
                '200':
                    description: Confirmation of tag assignment with result status
                    schema:
                        $ref: '#/definitions/PostResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /call/customsource:
        x-swagger-router-controller: callController
        get:
            operationId: getCallCustomSources
            summary: List of calls with custom sources associated to call
            description: >-
                Retrieves call records with custom source attribution data. Returns calls along with their associated
                custom marketing source parameters used for campaign tracking and attribution analysis. Supports
                pagination and filtering.
            parameters:
                -
                    $ref: '#/parameters/limitParam'
                -
                    $ref: '#/parameters/offsetParam'
                -
                    $ref: '#/parameters/filterParam'
            tags:
                - call
            responses:
                '200':
                    description: Call records with custom source attribution data
                    schema:
                        $ref: '#/definitions/CallCustomSourceResponse'
                default:
                    description: Unexpected error
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/Error'
    /call/indicator:
        x-swagger-router-controller: callController
        get:
            operationId: getCallIndicator
            summary: List of calls with indicator scores associated to call
            description: >-
                Retrieves call records with conversation intelligence indicator scores. Returns calls along with
                AI-generated scores for metrics such as sentiment, call quality, and outcome probability. Supports
                pagination and filtering.
            parameters:
                -
                    $ref: '#/parameters/limitParam'
                -
                    $ref: '#/parameters/offsetParam'
                -
                    $ref: '#/parameters/filterParam'
                -
                    $ref: '#/parameters/show_all_calls'
            tags:
                - call
            responses:
                '200':
                    description: Call records with AI-generated indicator scores and analytics
                    schema:
                        $ref: '#/definitions/CallIndicatorResponse'
                default:
                    description: Unexpected error
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/Error'
    /call/dni:
        x-swagger-router-controller: callController
        get:
            operationId: getCallDni
            summary: List of calls with DNI data associated to call
            description: >-
                Retrieves call records with Dynamic Number Insertion (DNI) web tracking data. Returns calls along with
                associated visitor session information including browser details, IP addresses, referrer URLs, landing
                pages, and other web analytics for marketing attribution. Supports pagination and filtering.
            parameters:
                -
                    $ref: '#/parameters/limitParam'
                -
                    $ref: '#/parameters/offsetParam'
                -
                    $ref: '#/parameters/filterParam'
            tags:
                - call
            responses:
                '200':
                    description: Call records with DNI session data and web visitor tracking information
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/CallDNIResponse'
                default:
                    description: Unexpected error
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/Error'
    /call/groupActivity:
        x-swagger-router-controller: callController
        get:
            operationId: groupActivity
            summary: List of call metrics per group
            description: >-
                Retrieves aggregated call metrics grouped by organizational units. Returns call volume statistics,
                performance indicators, and analytics rolled up by group hierarchy. Useful for management reporting and
                cross-team comparisons. Supports pagination and filtering.
            parameters:
                -
                    $ref: '#/parameters/limitParam'
                -
                    $ref: '#/parameters/offsetParam'
                -
                    $ref: '#/parameters/gaFilterParam'
                -
                    $ref: '#/parameters/gaSecondaryParam'
                -
                    $ref: '#/parameters/gaTimezoneParam'
            tags:
                - call
            responses:
                '200':
                    description: Aggregated call metrics and performance data per organizational group
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/GroupActivity'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /call/groupActivityDetails:
        x-swagger-router-controller: callController
        get:
            operationId: groupActivityDetails
            summary: List of call metrics per group
            description: >-
                Retrieves detailed aggregated call metrics grouped by organizational units with additional granular
                breakdowns. Returns comprehensive call statistics, performance indicators, and analytics with more
                detail than the standard group activity endpoint. Supports pagination and filtering.
            parameters:
                -
                    $ref: '#/parameters/limitParam'
                -
                    $ref: '#/parameters/offsetParam'
                -
                    $ref: '#/parameters/gaFilterParam'
                -
                    $ref: '#/parameters/gaSecondaryParam'
                -
                    $ref: '#/parameters/gaTimezoneParam'
            tags:
                - call
            responses:
                '200':
                    description: Detailed aggregated call metrics per organizational group with granular breakdowns
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/GroupActivity'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /call/upload:
        x-swagger-router-controller: callController
        post:
            operationId: uploadCallAPI
            summary: Uploads an audio file and creates a call detail record.
            description: >-
                Uploads a call audio recording file and creates a corresponding call detail record in the system.
                Accepts either a direct file upload or a URL to an audio file. Supports mp3 and wav formats. Used for
                importing external call recordings into Convirza for analysis and transcription.
            consumes:
                - multipart/form-data
            tags:
                - call
            parameters:
                -
                    in: formData
                    name: recording_file
                    type: file
                    description: >-
                        Audio file to upload (mp3 or wav format). Required if recording_url is not provided. Cannot be
                        used together with recording_url.
                -
                    in: formData
                    name: recording_url
                    type: string
                    format: uri
                    description: >-
                        Public URL of the audio file to import (mp3 or wav format). Required if recording_file is not
                        provided. Cannot be used together with recording_file.
                -
                    in: formData
                    name: call_date
                    type: string
                    format: date-time
                    required: true
                    allowEmptyValue: false
                    description: 'Time the call started. Format YYYY-MM-DDTHH:MM:SS.000Z. Example 2019-12-24T06:43:13.000Z'
                -
                    in: formData
                    name: group_id
                    type: integer
                    required: true
                    description: The unique group to which the call belongs to.
                -
                    in: formData
                    name: group_ext_id
                    type: string
                    required: false
                    description: 'External identifier for the group, used for integration with external systems.'
                -
                    in: formData
                    name: external_id
                    type: string
                    required: false
                    description: >-
                        External reference ID linking this call to a record in your system. Must be unique within your
                        organization. Useful for correlating API calls with your database records.
                -
                    in: formData
                    name: channel_id
                    type: integer
                    required: false
                    allowEmptyValue: false
                    description: The unique identifier for the channel.
                -
                    in: formData
                    name: campaign_id
                    type: integer
                    required: false
                    allowEmptyValue: false
                    description: Unique identifier representing the campaign.
                -
                    in: formData
                    name: caller_id
                    type: integer
                    required: true
                    allowEmptyValue: false
                    description: Phone number of the caller (10 digits). Example 2222444433.
                -
                    in: formData
                    name: tracking_number
                    type: integer
                    required: false
                    allowEmptyValue: false
                    description: >-
                        Tracking phone number associated with this call (10 digits). If omitted, call will appear as
                        "API Upload" in filter widgets. Must belong to your organization. Example 2222444433.
                -
                    in: formData
                    name: disposition
                    type: string
                    required: false
                    description: >-
                        Call outcome status. Valid values ANSWERED, NO ANSWER, BUSY. Defaults to ANSWERED if not
                        specified.
                    allowEmptyValue: false
                -
                    in: formData
                    name: line_type
                    type: string
                    required: false
                    allowEmptyValue: false
                    description: Type of phone line used for the call. Defaults to VOIP if not specified.
                -
                    in: formData
                    name: ring_to
                    type: integer
                    required: true
                    allowEmptyValue: false
                    description: Final destination phone number that was called (10 digits). Example 2222444433.
                -
                    in: formData
                    name: assign_to
                    type: string
                    required: false
                    allowEmptyValue: false
                    description: Email address of the agent who handled the call. Format user@domain.com.
                -
                    in: formData
                    name: custom_source_type_1
                    type: string
                    required: false
                    allowEmptyValue: false
                    description: Custom marketing source identifier for campaign attribution tracking.
                -
                    in: formData
                    name: custom_source_type_2
                    type: string
                    required: false
                    allowEmptyValue: false
                    description: Custom marketing source identifier for campaign attribution tracking.
                -
                    in: formData
                    name: custom_source_type_3
                    type: string
                    required: false
                    allowEmptyValue: false
                    description: Custom marketing source identifier for campaign attribution tracking.
                -
                    in: formData
                    name: custom_source_type_4
                    type: string
                    required: false
                    allowEmptyValue: false
                    description: Custom marketing source identifier for campaign attribution tracking.
                -
                    in: formData
                    name: custom_source_type_5
                    type: string
                    required: false
                    allowEmptyValue: false
                    description: Custom marketing source identifier for campaign attribution tracking.
                -
                    in: formData
                    name: company_name
                    type: string
                    required: false
                    allowEmptyValue: false
                    description: Company name associated with the caller.
                -
                    in: formData
                    name: city
                    type: string
                    required: false
                    allowEmptyValue: false
                    description: City associated with the caller's location.
                -
                    in: formData
                    name: zip_code
                    type: integer
                    required: false
                    allowEmptyValue: false
                    description: Postal code associated with the caller's location.
                -
                    in: formData
                    name: caller_name
                    type: string
                    required: false
                    allowEmptyValue: false
                    description: The name of caller who called.
                -
                    in: formData
                    name: address
                    type: string
                    required: false
                    allowEmptyValue: false
                    description: Address associated with the caller.
                -
                    in: formData
                    name: state
                    type: string
                    required: false
                    allowEmptyValue: false
                    description: State or province associated with the caller's location.
                -
                    in: formData
                    name: swap_channels
                    type: boolean
                    required: false
                    enum:
                        - true
                        - false
                    allowEmptyValue: false
                    description: >-
                        Set to true to swap left/right audio channels. Conversation Analytics requires the agent on the
                        right channel and caller on the left. Use this when channels are reversed in the original
                        recording. Defaults to false.
                -
                    in: formData
                    name: is_outbound
                    type: boolean
                    required: false
                    enum:
                        - true
                        - false
                    allowEmptyValue: false
                    description: 'Set to true for outbound calls, false for inbound calls. Defaults to false (inbound).'
                -
                    in: formData
                    name: tag_name
                    type: array
                    items:
                        type: string
                    required: false
                    allowEmptyValue: false
                    description: Array of tag names to assign to this call for categorization.
                -
                    in: formData
                    name: transcribe
                    type: boolean
                    required: false
                    enum:
                        - true
                        - false
                    allowEmptyValue: false
                    description: Set to true to automatically transcribe the call audio. Defaults to false.
            responses:
                '200':
                    description: Confirmation of successful file upload and call record creation
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /call/webhook:
        x-swagger-router-controller: callController
        get:
            operationId: getCallWebhook
            summary: Returns a specific call record referenced by the ID given
            description: >-
                Retrieves a specific call record formatted for webhook delivery. Returns call data in a structure
                optimized for webhook integrations and real-time event notifications to external systems.
            parameters:
                -
                    $ref: '#/parameters/idParam'
                -
                    $ref: '#/parameters/formatParam'
            tags:
                - call
            responses:
                '200':
                    description: Call record formatted for webhook delivery with integration-friendly structure
                    schema:
                        $ref: '#/definitions/CallWebhookResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /blacklistednumber:
        x-swagger-router-controller: blacklistController
        get:
            operationId: getBlacklistNumber
            summary: List of blacklisted numbers belonging to the user group and all children
            description: >-
                Retrieves phone numbers blacklisted within the user's organizational hierarchy. Returns blacklisted
                numbers from the current group and all child groups. Supports pagination and filtering by phone number
                patterns.
            parameters:
                -
                    $ref: '#/parameters/limitParam'
                -
                    $ref: '#/parameters/offsetParam'
                -
                    $ref: '#/parameters/filterParam'
            tags:
                - blacklist
            responses:
                '200':
                    description: Blacklisted phone numbers with metadata
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/BlacklistNumber'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
        post:
            operationId: addNumberToBlacklist
            summary: Add number to blacklist
            description: >-
                Adds one or more phone numbers to the blacklist to prevent them from reaching your organization.
                Blacklisted callers will be automatically blocked from connecting.
            parameters:
                -
                    name: number
                    in: body
                    description: Phone number(s) and optional metadata for blacklist entries to create
                    required: true
                    schema:
                        $ref: '#/definitions/BlacklistNumberPost'
            tags:
                - blacklist
            responses:
                '200':
                    description: Confirmation of blacklist addition with result status
                    schema:
                        $ref: '#/definitions/PostResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
        delete:
            operationId: deleteBlacklistedNumbers
            summary: Delete blacklisted numbers
            description: 'Removes one or more phone numbers from the blacklist, allowing them to reach your organization again.'
            parameters:
                -
                    name: number
                    in: body
                    description: Phone number(s) to remove from the blacklist
                    required: true
                    schema:
                        $ref: '#/definitions/BlacklistNumberDelete'
            tags:
                - blacklist
            responses:
                '200':
                    description: Confirmation of blacklist removal with result status
                    schema:
                        $ref: '#/definitions/PostResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /call/comment:
        x-swagger-router-controller: callController
        post:
            operationId: addComment
            summary: Add comment to specific call
            description: >-
                Adds one or more comments to a call record for note-taking and collaboration. Comments are visible to
                users with access to the call and support multi-user annotations.
            parameters:
                -
                    name: comments
                    in: body
                    description: >-
                        Array of comment objects to add to call records. Each object contains the call ID and comment
                        text.
                    required: true
                    schema:
                        type: array
                        minItems: 1
                        items:
                            $ref: '#/definitions/callCommentRequest'
            tags:
                - call
            responses:
                '200':
                    description: Confirmation of comment addition with result status for each comment
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/StandardPostResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /call/move:
        x-swagger-router-controller: callController
        post:
            operationId: moveCall
            summary: Move call to another group within the same account
            description: >-
                Transfers a call record from one organizational group to another within the same account. Used for
                reorganizing call data and correcting misrouted call assignments.
            parameters:
                -
                    name: moveCall
                    in: body
                    description: Call ID and target group ID for the transfer operation
                    required: true
                    schema:
                        $ref: '#/definitions/callMoveRequest'
            tags:
                - call
            responses:
                '200':
                    description: Confirmation of call transfer with result status
                    schema:
                        $ref: '#/definitions/StandardPostResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /callaction:
        x-swagger-router-controller: callActionController
        post:
            operationId: createCallAction
            summary: List of call action and rules
            description: >-
                Creates call action rules that automatically trigger actions based on call criteria. Call actions enable
                automated workflows such as sending notifications, tagging calls, or triggering integrations when
                specific conditions are met.
            parameters:
                -
                    name: callAction
                    in: body
                    description: Array of call action definitions including rules and associated actions to create
                    required: true
                    schema:
                        $ref: '#/definitions/createCallActions'
            tags:
                - callaction
            responses:
                '200':
                    description: Confirmation of call action creation with IDs of newly created actions
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/StandardPostResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
        put:
            operationId: updateCallAction
            summary: update call action
            description: >-
                Updates an existing call action rule configuration. Allows modification of trigger conditions and
                associated actions for automated call workflows.
            parameters:
                -
                    name: callAction
                    in: body
                    description: Updated call action definition including modified rules and actions
                    required: true
                    schema:
                        properties:
                            rule:
                                $ref: '#/definitions/rules'
                                description: 'rule. Type: object (rules).'
                            action:
                                $ref: '#/definitions/updateCallAction'
                                description: 'action. Type: object (updateCallAction).'
            tags:
                - callaction
            responses:
                '200':
                    description: Confirmation of call action update with result status
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/StandardPostResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /email/calldata:
        x-swagger-router-controller: emailController
        post:
            operationId: sendCallData
            summary: Sends an email containing call data
            description: >-
                Sends call data via email for a specific call record. Retrieves call details by ID and delivers them to
                specified email recipients in the requested format.
            parameters:
                -
                    name: calldata
                    in: body
                    description: Call ID and email delivery options including recipients and format preferences
                    required: true
                    schema:
                        $ref: '#/definitions/emailCallDataPost'
            tags:
                - email
            responses:
                '200':
                    description: Confirmation of email delivery with status
                    schema:
                        $ref: '#/definitions/StandardPostResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /sms:
        x-swagger-router-controller: smsController
        post:
            operationId: sendSMS
            summary: Send sms to first sms enable TN for provided campaign
            description: >-
                Sends an SMS message from the first SMS-enabled tracking number associated with a specified campaign.
                Used for outbound text messaging to customers via campaign tracking numbers.
            parameters:
                -
                    name: sms
                    in: body
                    description: 'SMS message content, recipient phone number, and campaign identifier'
                    required: true
                    schema:
                        $ref: '#/definitions/sendsms'
            tags:
                - sms
            responses:
                '200':
                    description: Confirmation of SMS submission with unique message ID, delivery status, and message details
                    schema:
                        $ref: '#/definitions/sendsmsresponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
        get:
            operationId: getSMS
            summary: Returns SMS conversations based on the given filter criteria
            description: >-
                Retrieves SMS conversation threads including message history between tracking numbers and contacts.
                Returns conversations with message content, timestamps, participant information, and delivery status.
                Supports pagination and filtering.
            parameters:
                -
                    $ref: '#/parameters/limitParam'
                -
                    $ref: '#/parameters/offsetParam'
                -
                    $ref: '#/parameters/filterParam'
            tags:
                - sms
            responses:
                '200':
                    description: SMS conversations with message history and metadata
                    schema:
                        $ref: '#/definitions/getsms'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /webhook:
        x-swagger-router-controller: webhookController
        get:
            operationId: getList
            summary: >-
                Returns specific webhook records referenced matching the given filter criteria and matching the given
                filter criteria
            description: >-
                Retrieves webhook configurations for a specific organizational unit. Returns webhook endpoint URLs,
                trigger events, authentication settings, and delivery status. Supports pagination and filtering.
            parameters:
                -
                    $ref: '#/parameters/ouId'
                -
                    $ref: '#/parameters/limitParam'
                -
                    $ref: '#/parameters/offsetParam'
                -
                    $ref: '#/parameters/filterParam'
            tags:
                - webhook
            responses:
                '200':
                    description: 'Webhook configurations with endpoints, events, and settings'
                    schema:
                        $ref: '#/definitions/WebhookResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
        post:
            operationId: createWebhook
            summary: Create a new Webhook record entry
            description: >-
                Creates a new webhook configuration for receiving real-time event notifications. Webhooks enable
                integration with external systems by sending HTTP requests when specified events occur.
            parameters:
                -
                    name: Webhook
                    in: body
                    description: 'Webhook configuration including endpoint URL, trigger events, and authentication settings'
                    required: true
                    schema:
                        $ref: '#/definitions/WebhookPost'
            tags:
                - webhook
            responses:
                '200':
                    description: Newly created webhook ID and confirmation status
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/StandardPostResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
        put:
            operationId: updateWebhook
            summary: Update requested Webhook record entry
            description: >-
                Updates an existing webhook configuration. Allows modification of endpoint URL, trigger events,
                authentication settings, and delivery preferences.
            parameters:
                -
                    name: Webhook
                    in: body
                    description: Updated webhook configuration with modified settings
                    required: true
                    schema:
                        $ref: '#/definitions/WebhookUpdate'
            tags:
                - webhook
            responses:
                '200':
                    description: Confirmation of webhook update with result status
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/StandardPostResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /campaign:
        x-swagger-router-controller: campaignController
        get:
            operationId: getCampaign
            summary: Returns a specific campaign record referenced by the ID given
            description: >-
                Retrieves detailed configuration for a specific campaign by ID. Returns campaign settings including
                tracking numbers, routing rules, business hours, geographic targeting, and performance analytics
                configuration.
            parameters:
                -
                    $ref: '#/parameters/idParam'
                -
                    $ref: '#/parameters/display_referral'
            tags:
                - campaign
            responses:
                '200':
                    description: 'Campaign configuration with settings, tracking numbers, and routing rules'
                    schema:
                        $ref: '#/definitions/CampaignResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
        post:
            operationId: setCampaign
            summary: Create a new campaign record entry
            description: >-
                Creates one or more new campaign records. Campaigns organize call tracking by marketing initiative,
                allowing you to track performance across different advertising channels and sources.
            parameters:
                -
                    name: campaign
                    in: body
                    description: 'Array of campaign objects to create, each containing campaign name and configuration settings'
                    required: true
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/CampaignPost'
            tags:
                - campaign
            responses:
                '200':
                    description: Newly created campaign IDs and confirmation status for each campaign
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/StandardPostResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
        delete:
            operationId: deleteCampaign
            summary: User can delete specific campaign record
            description: >-
                Deletes a specific campaign by ID. Optionally supports forced deletion to remove campaigns with
                associated data.
            parameters:
                -
                    $ref: '#/parameters/deleteCampaignId'
                -
                    $ref: '#/parameters/forced_delete'
            tags:
                - campaign
            responses:
                '200':
                    description: Confirmation of successful campaign deletion
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/PostResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /campaign/list:
        x-swagger-router-controller: campaignController
        get:
            summary: List of campaigns belonging to the user group and all children
            description: >-
                Retrieves campaigns accessible within the user's organizational hierarchy. Returns campaign metadata
                including names, status, tracking numbers, and routing configurations. Supports pagination and
                filtering.
            operationId: getCampaignList
            parameters:
                -
                    $ref: '#/parameters/limitParam'
                -
                    $ref: '#/parameters/offsetParam'
                -
                    $ref: '#/parameters/filterParam'
            tags:
                - campaign
            responses:
                '200':
                    description: Campaign records with metadata and configuration summaries
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/CampaignListResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /campaign/user:
        x-swagger-router-controller: campaignController
        get:
            summary: List of campaigns and users belonging to the user group and all children
            description: >-
                Retrieves campaigns with associated user assignments. Returns campaign data showing which users have
                access to each campaign for permission management and reporting scope configuration. Supports pagination
                and filtering.
            operationId: getCampaignUser
            parameters:
                -
                    $ref: '#/parameters/limitParam'
                -
                    $ref: '#/parameters/offsetParam'
                -
                    $ref: '#/parameters/filterParam'
            tags:
                - campaign
            responses:
                '200':
                    description: Campaigns with user assignments and access permissions
                    schema:
                        $ref: '#/definitions/CampaignUserResponse'
                default:
                    description: Unexpected error
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/Error'
        post:
            summary: An array of campaign associated user definitions
            description: >-
                Assigns users to campaigns or updates existing user-campaign associations. Controls which users have
                access to view and manage specific campaigns.
            operationId: setCampaignUser
            parameters:
                -
                    name: campaign
                    in: body
                    description: Array of user-campaign assignment objects defining user access permissions
                    required: true
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/CampaignUserPost'
            tags:
                - campaign
            responses:
                '200':
                    description: Confirmation of user assignment with result status for each association
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/StandardPostResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /campaign/callflow:
        x-swagger-router-controller: campaignController
        get:
            operationId: getCampaignRoute
            summary: List of campaigns and call flows belonging to the user org unit and all children
            description: >-
                Retrieves campaigns with their associated call flow routing configurations. Returns campaign data
                including linked call flows for understanding routing relationships. Supports pagination and filtering.
            parameters:
                -
                    $ref: '#/parameters/limitParam'
                -
                    $ref: '#/parameters/offsetParam'
                -
                    $ref: '#/parameters/filterParam'
            tags:
                - campaign
            responses:
                '200':
                    description: Campaigns with associated call flow routing information
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/CampaignRouteResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /callflow:
        x-swagger-router-controller: callFlowController
        get:
            operationId: getCallFlow
            summary: Returns a specific call flow record referenced by the ID given
            description: >-
                Retrieves detailed routing configuration for a specific call flow by ID. Returns the complete call flow
                definition including routing logic, business hours, hunt groups, IVR menus, voicemail settings, and call
                handling options.
            parameters:
                -
                    $ref: '#/parameters/idParam'
            tags:
                - callflow
            responses:
                '200':
                    description: >-
                        Complete call flow routing configuration. Note Multi-Level IVR and Outbound route types are only
                        included when configured and available in the new UI.
                    schema:
                        $ref: '#/definitions/CallflowResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
        post:
            operationId: setCallFlow
            summary: Create or update any number of call flow records
            description: >-
                Creates or updates call flow routing configurations. Provisions phone numbers with routing rules
                including forwarding destinations, business hours, IVR menus, and call handling logic.


                Supports two methods for number pool creation:

                1. **Pre-existing phone numbers** (V3 compatible): Provide a `phone_numbers` array with phone_number_id
                and phone_number values. Numbers must exist in inventory with 'unprovisioned' or 'reserved' status.

                2. **NPA/NXX provisioning** (original APICFA): Provide `npa`, `nxx`, and `number_quantity` to automatically
                provision new numbers from the specified area code and exchange.


                When creating a call flow, either `number` (for single number) or `number_pool` must be provided, but not both.
            parameters:
                -
                    name: call_flow
                    in: body
                    description: Array of call flow configuration objects defining routing rules and phone number assignments
                    required: true
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/CallflowNumberPost'
            tags:
                - callflow
            responses:
                '200':
                    description: Created or updated call flow IDs with result status for each operation
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/StandardPostResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
        delete:
            operationId: deleteCallFlow
            summary: User can delete specific call flow record
            description: >-
                Deletes a specific call flow routing configuration by ID. Removes the call flow and its associated
                routing rules.
            parameters:
                -
                    $ref: '#/parameters/deleteCallflowId'
            tags:
                - callflow
            responses:
                '200':
                    description: Confirmation of successful call flow deletion
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/PostResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /callflow/campaign:
        x-swagger-router-controller: callFlowController
        get:
            operationId: getCallFlowByCampaign
            summary: List of call flows belonging to the campaign
            description: >-
                Retrieves call flows associated with a specific campaign. Returns call flow configurations filtered by
                campaign ID. Supports pagination.
            parameters:
                -
                    $ref: '#/parameters/campaignIdParam'
                -
                    $ref: '#/parameters/limitParam'
                -
                    $ref: '#/parameters/offsetParam'
            tags:
                - callflow
            responses:
                '200':
                    description: Call flow configurations for the specified campaign
                    schema:
                        $ref: '#/definitions/CallflowListResponseForCampaign'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /callflow/list:
        x-swagger-router-controller: callFlowController
        get:
            operationId: getCallFlowList
            summary: List of call flows belonging to the user group and all children
            description: >-
                Retrieves call flows accessible within the user's organizational hierarchy. Returns call flow metadata
                including names, associated campaigns, routing types, and status. Supports pagination and filtering.
            parameters:
                -
                    $ref: '#/parameters/limitParam'
                -
                    $ref: '#/parameters/offsetParam'
                -
                    $ref: '#/parameters/filterParam'
            tags:
                - callflow
            responses:
                '200':
                    description: Call flow records with metadata and routing summaries
                    schema:
                        $ref: '#/definitions/CallflowListResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /callflow/list/deleted:
        x-swagger-router-controller: callFlowController
        get:
            operationId: getDeletedCallFlowList
            summary: List of deleted call flows belonging to the user group and all children
            description: >-
                Retrieves previously deleted call flows for audit and recovery purposes. Returns call flow records that
                have been marked as deleted but remain in the system for historical tracking. Supports pagination and
                filtering.
            parameters:
                -
                    $ref: '#/parameters/limitParam'
                -
                    $ref: '#/parameters/offsetParam'
                -
                    $ref: '#/parameters/filterParam'
            tags:
                - callflow
            responses:
                '200':
                    description: Deleted call flow records with metadata
                    schema:
                        $ref: '#/definitions/CallflowListResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /callflow/callflow:
        x-swagger-router-controller: callFlowController
        get:
            operationId: getCallFlowRoute
            summary: List of call flows with route information belonging to the user group and all children
            description: >-
                Retrieves call flows with complete routing information and path details. Returns comprehensive routing
                configurations including hunt sequences, failover paths, and forwarding rules. Supports pagination and
                filtering.
            parameters:
                -
                    $ref: '#/parameters/limitParam'
                -
                    $ref: '#/parameters/offsetParam'
                -
                    $ref: '#/parameters/filterParam'
            tags:
                - callflow
            responses:
                '200':
                    description: >-
                        Call flows with detailed routing paths and forwarding configurations. Note Multi-Level IVR and
                        Outbound route types are only included when configured and available in the new UI.
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/CallflowRouteResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /callflow/location:
        x-swagger-router-controller: callFlowController
        get:
            operationId: getCallFlowLocation
            summary: List of call flows with location information belonging to the user group and all children
            description: >-
                Retrieves call flows with geographic location and geo-routing information. Returns call flow
                configurations along with location-based routing rules that direct calls based on caller geography.
                Supports pagination and filtering.
            parameters:
                -
                    $ref: '#/parameters/limitParam'
                -
                    $ref: '#/parameters/offsetParam'
                -
                    $ref: '#/parameters/filterParam'
            tags:
                - callflow
            responses:
                '200':
                    description: Call flows with geographic routing configurations and location data
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/CallflowLocationResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /callflow/number:
        x-swagger-router-controller: callFlowController
        get:
            operationId: getCallFlowNumber
            summary: List of call flows with phone number information belonging to the user group and all children
            description: >-
                Retrieves call flows with assigned tracking phone numbers and number pool information. Returns call flow
                configurations along with associated phone numbers and custom source settings for each number. Supports
                pagination and filtering.
            parameters:
                -
                    $ref: '#/parameters/offsetParam'
                -
                    $ref: '#/parameters/limitParam'
                -
                    $ref: '#/parameters/filterParam'
            tags:
                - callflow
            responses:
                '200':
                    description: Call flows with assigned phone numbers and custom source configurations
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/CallflowNumberWithCustomSources'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /callflow/recording:
        x-swagger-router-controller: callFlowController
        get:
            operationId: getCallFlowRecording
            summary: List of call flows with recording information belonging to the user group and all children
            description: >-
                Retrieves call flows with call recording settings and preferences. Returns call flow configurations
                along with recording enablement status, storage options, and compliance settings. Supports pagination
                and filtering.
            parameters:
                -
                    $ref: '#/parameters/limitParam'
                -
                    $ref: '#/parameters/offsetParam'
                -
                    $ref: '#/parameters/filterParam'
            tags:
                - callflow
            responses:
                '200':
                    description: Call flows with recording configuration and compliance settings
                    schema:
                        $ref: '#/definitions/CallflowRecordingResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /callflow/action:
        x-swagger-router-controller: callFlowController
        get:
            operationId: getCallFlowAction
            summary: List of call flows with call action information belonging to the user group and all children
            description: >-
                Retrieves call flows with associated call action automation rules. Returns call flow configurations
                along with automated action triggers and workflows configured for each flow. Supports pagination and
                filtering.
            parameters:
                -
                    $ref: '#/parameters/limitParam'
                -
                    $ref: '#/parameters/offsetParam'
                -
                    $ref: '#/parameters/filterParam'
            tags:
                - callflow
            responses:
                '200':
                    description: Call flows with automated call action rules and triggers
                    schema:
                        $ref: '#/definitions/CallflowActionResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /callflow/dni:
        x-swagger-router-controller: callFlowController
        get:
            operationId: getCallFlowDni
            summary: List of call flows with associated DNI settings
            description: >-
                Retrieves call flows configured with Dynamic Number Insertion (DNI) for web visitor tracking. Returns
                call flow configurations along with DNI settings, number pools, and web integration parameters used for
                marketing attribution. Supports pagination and filtering.
            parameters:
                -
                    $ref: '#/parameters/limitParam'
                -
                    $ref: '#/parameters/offsetParam'
                -
                    $ref: '#/parameters/filterParam'
            tags:
                - callflow
            responses:
                '200':
                    description: 'Call flows with DNI configuration, number pools, and web tracking settings'
                    schema:
                        $ref: '#/definitions/CallflowDniResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
        post:
            operationId: setCallFlowDNI
            summary: Create a new DNI settings record entry
            description: >-
                Creates Dynamic Number Insertion settings for call flows to enable web visitor-level call tracking.
                Configures number pools and insertion parameters that dynamically display different tracking numbers to
                website visitors based on their session.
            parameters:
                -
                    name: dni
                    in: body
                    description: Array of DNI configuration objects defining number pools and insertion settings
                    required: true
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/DniSetting'
            tags:
                - callflow
            responses:
                '200':
                    description: Created DNI setting IDs with confirmation status for each configuration
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/StandardPostResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /callflow/dniclass:
        x-swagger-router-controller: callFlowController
        get:
            operationId: getCallFlowDniClass
            summary: List of Dni Classes with associated Call Flow
            description: >-
                Retrieves DNI classes with associated call flow assignments. Returns DNI class configurations showing
                which call flows use each class for number pool management and visitor tracking segmentation.
            parameters:
                -
                    $ref: '#/parameters/callflowIdParam'
                -
                    $ref: '#/parameters/limitParam'
                -
                    $ref: '#/parameters/offsetParam'
            tags:
                - callflow
            responses:
                '200':
                    description: DNI classes with associated call flow information
                    schema:
                        $ref: '#/definitions/CallflowDniClass'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /callflow/customsources:
        x-swagger-router-controller: callFlowController
        get:
            operationId: getCallFlowCustomSources
            summary: List of call flows with Custom Sources information belonging to the callflow id.
            description: >-
                Retrieves custom marketing sources configured for call flow tracking. Returns custom source definitions
                used for campaign attribution and marketing channel tracking. Supports pagination and filtering.
            parameters:
                -
                    $ref: '#/parameters/idParam'
            tags:
                - callflow
            responses:
                '200':
                    description: Custom source configurations for the specified call flow
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/CallflowCustomSourcesGetResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
        post:
            operationId: postCallFlowCustomSources
            summary: Create a new call flow custom sources record entry
            description: >-
                Creates custom marketing source parameters for call flow tracking and attribution. Custom sources enable
                tracking of specific marketing channels, campaigns, or referral sources for performance analysis.
            parameters:
                -
                    name: callflowcustomsources
                    in: body
                    description: Array of custom source definitions including names and tracking parameters
                    required: true
                    schema:
                        type: array
                        minItems: 1
                        items:
                            $ref: '#/definitions/CallflowCustomSources'
            tags:
                - callflow
            responses:
                '200':
                    description: Created custom source IDs with confirmation status
                    schema:
                        $ref: '#/definitions/PostResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
        delete:
            operationId: deleteCallFlowCustomSources
            summary: Delete callflow custom sources entry.
            description: >-
                Removes custom source configurations from a call flow, disabling tracking for those marketing
                parameters.
            parameters:
                -
                    name: CallflowCustomSourceDelete
                    in: body
                    description: Custom source IDs to remove from the call flow
                    required: true
                    schema:
                        type: array
                        minItems: 1
                        items:
                            $ref: '#/definitions/CallflowCustomSourceDelete'
            tags:
                - callflow
            responses:
                '200':
                    description: Deletion confirmation with result status
                    schema:
                        $ref: '#/definitions/PostResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /callflow/multilevelivr:
        x-swagger-router-controller: callFlowController
        post:
            operationId: setMultilevelIvrCallFlow
            summary: Create or update any number of call flow records with multilevel IVR
            description: >-
                Creates call flows with multi-level IVR (Interactive Voice Response) menu systems. Configures
                hierarchical phone menus with multiple levels of options for advanced call routing and self-service
                workflows.
            parameters:
                -
                    name: call_flow
                    in: body
                    description: Array of call flow objects with multi-level IVR menu definitions and routing logic
                    required: true
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/CallflowIvrPost'
            tags:
                - callflow
            responses:
                '200':
                    description: Created call flow IDs with confirmation status for each IVR configuration
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/StandardPostResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /callflow/outbound:
        x-swagger-router-controller: callFlowController
        post:
            operationId: postCallFlowOutbound
            summary: Create a new call flow outbound record entry
            description: >-
                Creates outbound call flow configurations for making outbound calls through the system. Configures
                routing rules, caller ID settings, and call handling for calls originated by your organization rather
                than received.
            parameters:
                -
                    name: outbound
                    in: body
                    description: Array of outbound call flow configurations including caller ID and routing settings
                    required: true
                    schema:
                        type: array
                        minItems: 1
                        items:
                            $ref: '#/definitions/CallflowOutbound'
            tags:
                - callflow
            responses:
                '200':
                    description: Created outbound call flow IDs with confirmation status
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/StandardPostResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /callflow/count:
        x-swagger-router-controller: callFlowController
        get:
            operationId: getCallFlowRouteWithCount
            summary: List of call flows with route information belonging to the user group and all children with count
            description: >-
                Retrieves call flows with routing information along with total count metrics. Returns call flow
                configurations with routing details plus pagination metadata including total records. Supports
                filtering.
            parameters:
                -
                    $ref: '#/parameters/limitParam'
                -
                    $ref: '#/parameters/offsetParam'
                -
                    $ref: '#/parameters/filterParam'
            tags:
                - callflow
            responses:
                '200':
                    description: >-
                        Call flows with routing information plus total count and filtered count metrics. Note
                        Multi-Level IVR and Outbound route types are only included when configured and available in the
                        new UI.
                    schema:
                        type: object
                        properties:
                            total_count:
                                type: integer
                                format: int32
                                description: >-
                                    Total number of records matching the filter (across all pages). Integer. Returned by
                                    /callflow/count for pagination awareness.
                            count:
                                type: integer
                                format: int32
                                description: Count of records returned in the current response. Integer.
                            call_flow_list:
                                type: array
                                items:
                                    $ref: '#/definitions/CallflowRouteResponseWithCount'
                                description: 'call_flow_list. Type: array of object (CallflowRouteResponseWithCount).'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /callflow/pool/number:
        x-swagger-router-controller: callFlowController
        post:
            operationId: deleteNumberFromPool
            summary: Delete a number from the provisioned route pool
            description: >-
                Removes phone numbers from a provisioned route pool after validation. Deletes specified numbers from the
                pool, making them unavailable for dynamic assignment. Validates number existence before removal.
            parameters:
                -
                    name: poolData
                    in: body
                    description: >-
                        Array of objects specifying provisioned route IDs and phone numbers to remove. Each object
                        contains a route ID and the numbers to delete from that route's pool.
                    required: true
                    schema:
                        type: array
                        minItems: 1
                        items:
                            $ref: '#/definitions/DeletePoolNumber'
            tags:
                - callflow
            responses:
                '200':
                    description: Deletion results including success confirmation or list of invalid numbers not found in the pool
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/StandardPostResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /group:
        x-swagger-router-controller: orgUnitController
        get:
            operationId: getOrgUnit
            summary: List of groups and all children belonging to the user logged session
            description: >-
                Retrieves detailed information for a specific organizational group by ID. Returns group configuration
                including hierarchy position, settings, permissions, and associated resources.
            parameters:
                -
                    $ref: '#/parameters/idParam'
            tags:
                - group
            responses:
                '200':
                    description: 'Complete group information with hierarchy, settings, and configuration'
                    schema:
                        $ref: '#/definitions/OrgUnitResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
        post:
            operationId: setOrgUnit
            summary: Create and/or update group profile records
            description: >-
                Creates new organizational groups or updates existing group configurations in bulk. Groups organize
                users, campaigns, and call flows in a hierarchical structure for permissions and reporting.
            parameters:
                -
                    name: groups
                    in: body
                    description: >-
                        Array of group objects to create or update, each containing group name, parent group, and
                        configuration settings
                    required: true
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/OrgUnitPost'
            tags:
                - group
            responses:
                '200':
                    description: Created or updated group IDs with sequential order numbers matching submission order
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/StandardPostResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /group/list:
        x-swagger-router-controller: orgUnitController
        get:
            operationId: getOrgUnitList
            summary: List of all groups and associated users belonging to each group
            description: >-
                Retrieves organizational groups with associated user information. Returns groups accessible to the
                authenticated user along with user assignments for each group. Supports pagination and filtering.
            parameters:
                -
                    $ref: '#/parameters/limitParam'
                -
                    $ref: '#/parameters/offsetParam'
                -
                    $ref: '#/parameters/filterParam'
            tags:
                - group
            responses:
                '200':
                    description: Groups with associated user assignments
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/OrgUnitListResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /group/user:
        x-swagger-router-controller: orgUnitController
        get:
            operationId: getOrgUnitUser
            summary: List of all groups and associated users belonging to each group
            description: >-
                Retrieves organizational groups with detailed user membership information. Returns groups along with
                complete user data for members of each group including roles and permissions. Supports pagination and
                filtering.
            parameters:
                -
                    $ref: '#/parameters/limitParam'
                -
                    $ref: '#/parameters/offsetParam'
                -
                    $ref: '#/parameters/filterParam'
            tags:
                - group
            responses:
                '200':
                    description: Groups with detailed user membership and permission data
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/OrgUnitUserResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
        post:
            operationId: setOrgUnitUser
            summary: Creates a new user in the given group
            description: >-
                Creates new users within a specified organizational group. Provisions user accounts with credentials,
                roles, and group membership in a single operation.
            parameters:
                -
                    name: user
                    in: body
                    description: >-
                        Array of user objects to create, each containing email, password, name, and group assignment.
                        Parameter names must match payload schema exactly.
                    required: true
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/UserDataPost'
            tags:
                - group
            responses:
                '200':
                    description: Newly created user IDs with confirmation status for each user
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/StandardPostResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
        put:
            operationId: updateOrgUnitUser
            summary: Updates existing user having given user-id or agent-id.
            description: >-
                Updates existing user information including profile details, permissions, and group assignments.
                Requires user ID or agent ID to identify the user to modify.
            parameters:
                -
                    name: updateUser
                    in: body
                    description: >-
                        Array of user update objects containing user ID and fields to modify. Parameter names must match
                        payload schema exactly.
                    required: true
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/UserDataPut'
            tags:
                - group
            responses:
                '200':
                    description: Updated user details with confirmation status
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/StandardPostResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /group/dnisnippet:
        x-swagger-router-controller: orgUnitController
        get:
            operationId: getDniSnippet
            summary: Fetches dni snippet
            description: >-
                Retrieves the DNI JavaScript snippet code for a specific group. Returns the snippet that should be
                embedded in websites to enable Dynamic Number Insertion for visitor-level call tracking.
            parameters:
                -
                    $ref: '#/parameters/idGroupDni'
            tags:
                - group
            responses:
                '200':
                    description: DNI JavaScript snippet code for website integration
                    schema:
                        $ref: '#/definitions/DniSnippet'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /group/callflowItems:
        x-swagger-router-controller: orgUnitController
        get:
            operationId: getCallflowItems
            summary: List of active callflows belonging to the user group and all child groups
            description: >-
                Retrieves active call flows for a group showing essential routing information. Returns simplified call
                flow data including tracking numbers, ring-to numbers, and whisper settings for quick reference.
                Supports pagination and filtering.
            parameters:
                -
                    $ref: '#/parameters/limitParam'
                -
                    $ref: '#/parameters/offsetParam'
                -
                    $ref: '#/parameters/filterParam'
            tags:
                - group
            responses:
                '200':
                    description: Active call flow items with tracking numbers and routing essentials
                    schema:
                        type: object
                        properties:
                            count:
                                type: integer
                                format: int32
                                description: Count of records returned in the current response. Integer.
                            callflow_list:
                                type: array
                                items:
                                    $ref: '#/definitions/CallflowItems'
                                description: 'callflow_list. Type: array of object (CallflowItems).'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /group/callLogs:
        x-swagger-router-controller: orgUnitController
        get:
            operationId: getGroupCallLogs
            summary: List of call logs for group
            description: >-
                Retrieves call log records for a specific group. Returns call history including timestamps,
                participants, duration, and outcomes for audit and reporting purposes. Supports pagination and
                filtering.
            parameters:
                -
                    $ref: '#/parameters/idOptionalParam'
                -
                    $ref: '#/parameters/limitParam'
                -
                    $ref: '#/parameters/offsetParam'
                -
                    $ref: '#/parameters/filterParam'
            tags:
                - group
            responses:
                '200':
                    description: 'Call log entries with timestamps, participants, and call outcomes'
                    schema:
                        type: object
                        properties:
                            count:
                                type: integer
                                format: int32
                                description: Count of records returned in the current response. Integer.
                            call_log_list:
                                type: array
                                items:
                                    $ref: '#/definitions/CallLogs'
                                description: 'call_log_list. Type: array of object (CallLogs).'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /number/search:
        x-swagger-router-controller: numberController
        get:
            operationId: getNumberList
            summary: Search through the phone number inventory for list of available numbers
            description: >-
                Searches available phone numbers from carrier inventory based on area code, prefix, pattern, or
                geographic location. Returns available numbers that can be reserved and provisioned. Numbers showing
                null number_id are carrier-available and require reservation before provisioning. See the Knowledge Base
                article for complete workflow instructions.
            parameters:
                -
                    name: npa
                    in: query
                    description: Area code (first 3 digits of phone number). Example 415.
                    required: false
                    type: integer
                    format: int32
                    minLength: 3
                    maxLength: 3
                -
                    name: nxx
                    in: query
                    description: Exchange or prefix (digits 4-6 of phone number). Example 555.
                    required: false
                    type: integer
                    format: int32
                    minLength: 3
                    maxLength: 3
                -
                    name: ocn
                    in: query
                    description: Line number (last 4 digits of phone number). Example 1234.
                    required: false
                    type: integer
                    format: int32
                    minLength: 4
                    maxLength: 4
                -
                    name: match
                    in: query
                    description: >-
                        Pattern search using underscore as wildcard for any digit. Must be exactly 10 characters.
                        Example 415555____ finds numbers matching 415-555-XXXX. Cannot be combined with other filters.
                    required: false
                    type: string
                    minLength: 10
                    maxLength: 10
                -
                    name: rc
                    in: query
                    description: Rate center name to limit search results. Must be used together with state parameter.
                    required: false
                    type: string
                -
                    name: state
                    in: query
                    description: Two-letter state abbreviation. Must be used together with rc parameter. Example CA.
                    required: false
                    type: string
                    maxLength: 2
                    minLength: 2
            tags:
                - number
            responses:
                '200':
                    description: >-
                        Available phone numbers with carrier information. Null number_id indicates carrier-available
                        numbers requiring reservation.
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/NumberResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /number/reserved:
        x-swagger-router-controller: numberController
        get:
            operationId: getReservedList
            summary: Search through client reserved phone numbers for list of available numbers
            description: >-
                Searches phone numbers that have been reserved for your organization but not yet provisioned. Returns
                numbers from your private reserved inventory that are ready to be assigned to call flows. Supports
                filtering by area code, prefix, or pattern.
            parameters:
                -
                    name: npa
                    in: query
                    description: Area code (first 3 digits). Example 415.
                    required: false
                    type: integer
                    format: int32
                    minLength: 3
                    maxLength: 3
                -
                    name: nxx
                    in: query
                    description: Exchange or prefix (digits 4-6). Example 555.
                    required: false
                    type: integer
                    format: int32
                    minLength: 3
                    maxLength: 3
                -
                    name: ocn
                    in: query
                    description: Line number (last 4 digits). Example 1234.
                    required: false
                    type: integer
                    format: int32
                    minLength: 4
                    maxLength: 4
                -
                    name: match
                    in: query
                    description: >-
                        Pattern search using underscore as wildcard. Exactly 10 characters. Example 415555____. Must be
                        the only filter used.
                    required: false
                    type: string
                    minLength: 10
                    maxLength: 10
            tags:
                - number
            responses:
                '200':
                    description: Reserved phone numbers available for provisioning
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/NumberResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /number/reserve:
        x-swagger-router-controller: numberController
        post:
            operationId: setReserveNumber
            summary: Reserve a number for to a client private available numbers
            description: >-
                Reserves phone numbers from carrier inventory into your private pool. Reserved numbers become
                exclusively available to your organization and can be provisioned to call flows. Use after searching
                carrier inventory to secure desired numbers.
            parameters:
                -
                    name: reserve
                    in: body
                    description: Array of phone number objects to reserve from carrier inventory
                    required: true
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/NumberResponse'
            tags:
                - number
            responses:
                '200':
                    description: Reservation confirmation with status for each requested number
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/StandardPostResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /misc/geo/locationlist:
        x-swagger-router-controller: miscController
        get:
            operationId: getGeoRouteList
            summary: list of geoRoute location
            description: >-
                Retrieves configured geo-routing locations for geographic call routing. Returns location records that
                define routing rules based on caller geography. Supports pagination and filtering.
            parameters:
                -
                    $ref: '#/parameters/limitParam'
                -
                    $ref: '#/parameters/offsetParam'
                -
                    $ref: '#/parameters/filterParam'
            tags:
                - misc
            responses:
                '200':
                    description: Geo-routing location configurations
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/geoRouteListResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /misc/geo/locations:
        x-swagger-router-controller: miscController
        get:
            tags:
                - misc
            operationId: getLocationList
            summary: Returns the list of locations with reference to location id
            description: >-
                Retrieves detailed location information for a specific geo-routing location by ID. Returns the complete
                location configuration including geographic boundaries and routing rules.
            parameters:
                -
                    $ref: '#/parameters/location_idParam'
            responses:
                '200':
                    description: Detailed location configuration for geo-routing
                    schema:
                        $ref: '#/definitions/locationListResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
        post:
            tags:
                - misc
            operationId: editLocation
            summary: Add or update new locations to Geolocations list
            description: >-
                Creates a new geo-routing location or updates an existing location configuration. Geo-routing locations
                define geographic areas and associated routing rules for location-based call handling.
            parameters:
                -
                    name: newLocation
                    in: body
                    description: Location configuration object including geographic boundaries and routing parameters
                    required: true
                    schema:
                        $ref: '#/definitions/PostRouteLocation'
            responses:
                '200':
                    description: Created or updated location ID with confirmation status
                    schema:
                        $ref: '#/definitions/PostResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /misc/geo/batchlocations:
        x-swagger-router-controller: miscController
        post:
            tags:
                - misc
            operationId: editLocationBatch
            summary: Add or update new locations to Geolocations list in batches
            description: >-
                Adds or updates new locations to a Geolocations list with reference to location id in batches. Batches
                are limited to 100 locations.
            parameters:
                -
                    name: locations
                    in: body
                    description: The full definition of the new location to add or update as object
                    required: true
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/PostRouteLocation'
            responses:
                '200':
                    description: The result of the submission and outcome for the newly added or updated location
                    schema:
                        $ref: '#/definitions/PostBatchLocationResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /misc/getaudiolist:
        x-swagger-router-controller: miscController
        get:
            operationId: getAudioList
            summary: List of Audio (Whisper/Prompt) uploaded by the logged in user for groups/sub groups
            description: Returns a list of Audio (Whisper/Prompt) uploaded by the logged in user for groups/sub groups
            parameters:
                -
                    $ref: '#/parameters/limitParam'
                -
                    $ref: '#/parameters/offsetParam'
                -
                    $ref: '#/parameters/filterParam'
            tags:
                - misc
            responses:
                '200':
                    description: An array of audio details of type (Whisper/Prompt)
                    schema:
                        $ref: '#/definitions/AudioListResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /misc/upload/whisper:
        x-swagger-router-controller: miscController
        post:
            operationId: uploadWisperFile
            summary: Upload wisper audiofile to s3
            consumes:
                - multipart/form-data
                - application/x-www-form-urlencoded
                - binary
            tags:
                - misc
            parameters:
                -
                    in: formData
                    name: file
                    type: file
                    description: Select file/files to be uploaded. Supported file formats are mp3 and wav.
            responses:
                '200':
                    description: Success message for file/files upload.
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /misc/upload/prompt:
        x-swagger-router-controller: miscController
        post:
            operationId: uploadPromptFile
            summary: Upload Prompt audiofile to s3
            consumes:
                - multipart/form-data
                - application/x-www-form-urlencoded
                - binary
            tags:
                - misc
            parameters:
                -
                    in: formData
                    name: file
                    type: file
                    description: Select file/files to be uploaded. Supported file formats are mp3 and wav.
            responses:
                '200':
                    description: Success message for file/files upload.
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /misc/channel:
        x-swagger-router-controller: miscController
        get:
            operationId: getChannel
            summary: List of all available channels with description and details of each
            description: Returns a list of channels that can be used with call flows
            parameters:
                -
                    $ref: '#/parameters/limitParam'
                -
                    $ref: '#/parameters/offsetParam'
                -
                    $ref: '#/parameters/filterParam'
            tags:
                - misc
            responses:
                '200':
                    description: An array of channel records
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/Channel'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /misc/ratecenter:
        x-swagger-router-controller: miscController
        get:
            operationId: getRateCenter
            summary: List of all available telcom rate centers for the specified state
            description: Returns a list of rate centers for the state requested
            parameters:
                -
                    name: state
                    in: query
                    description: The two letter abbrieviation for the desired state/province
                    required: true
                    type: string
                    minLength: 2
                    maxLength: 2
            tags:
                - misc
            responses:
                '200':
                    description: An array of rate centers for given state
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/RateCenter'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /misc/legacyscheduledreports:
        x-swagger-router-controller: legacyScheduledController
        get:
            description: Returns a list of legacy scheduled report
            summary: List of scheduled report
            operationId: getLegacyScheduled
            parameters:
                -
                    $ref: '#/parameters/limitParam'
                -
                    $ref: '#/parameters/offsetParam'
                -
                    $ref: '#/parameters/filterParam'
            tags:
                - misc
            responses:
                '200':
                    description: All list of
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/legacyScheduled'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /misc/subscription:
        x-swagger-router-controller: miscController
        get:
            tags:
                - misc
            operationId: getSubscriptionData
            summary: Returns the subscription information for the account
            description: Returns information about your subscription
            responses:
                '200':
                    description: An object containing the details about account subscription
                    schema:
                        $ref: '#/definitions/subscriptionResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /customsource:
        x-swagger-router-controller: customSourceController
        get:
            operationId: getCustomSources
            summary: Returns custom sources records referenced by the group id given
            description: Returns a list of custom sources of the given matching criteria
            parameters:
                -
                    $ref: '#/parameters/ouId'
                -
                    $ref: '#/parameters/limitParam'
                -
                    $ref: '#/parameters/offsetParam'
                -
                    $ref: '#/parameters/filterParam'
            tags:
                - customsource
            responses:
                '200':
                    description: An object containing all the details of custom sources of specific org_unit_id
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/CustomSources'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
        post:
            operationId: postCustomSources
            summary: Create a new custom source record entry
            description: Create and set all the values for custom sources records
            parameters:
                -
                    name: customSource
                    in: body
                    description: The full definition of custom sources to add as objects in an array
                    required: true
                    schema:
                        type: array
                        minItems: 1
                        items:
                            $ref: '#/definitions/CustomSourcePost'
            tags:
                - customsource
            responses:
                '200':
                    description: The result of the submission and customSourceId for the newly added record
                    schema:
                        $ref: '#/definitions/PostResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
        delete:
            operationId: deleteCustomSources
            summary: Delete custom sources
            description: delete custom sources
            parameters:
                -
                    name: customSource
                    in: body
                    description: Id of custom Sources to delete.
                    required: true
                    schema:
                        $ref: '#/definitions/CustomSourceDelete'
            tags:
                - customsource
            responses:
                '200':
                    description: Delete all details regarding Custom Source Id
                    schema:
                        $ref: '#/definitions/PostResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /swagger:
        x-swagger-pipe: swagger_raw
    /tag:
        x-swagger-router-controller: tagController
        get:
            operationId: getTags
            summary: List of all tags  associated with loggedIn user
            description: Returns a list of tags associated with loggedIn user
            parameters:
                -
                    $ref: '#/parameters/limitParam'
                -
                    $ref: '#/parameters/offsetParam'
                -
                    $ref: '#/parameters/filterParam'
            tags:
                - tag
            responses:
                '200':
                    description: An array of tags associated with loggedIn user
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/GetTagResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
        delete:
            operationId: deleteTags
            summary: Delete tags
            description: Delete tags
            parameters:
                -
                    name: tag_id
                    in: body
                    description: Id(s) of tags to delete.
                    required: true
                    schema:
                        $ref: '#/definitions/TagsDelete'
            tags:
                - tag
            responses:
                '200':
                    description: Delete all details regarding Tag Id(s)
                    schema:
                        $ref: '#/definitions/PostResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    '/userpermissions/{ct_user_id}':
        x-swagger-router-controller: userPermissionsController
        get:
            operationId: getUserPermissions
            summary: Get permissions for a specific user with groups
            description: Returns groups access permissions for given ct_user_id
            parameters:
                -
                    name: ct_user_id
                    in: path
                    description: ct_user_id of user to fetch access permissions
                    required: true
                    type: integer
                    format: int64
                -
                    $ref: '#/parameters/limitParam'
                -
                    $ref: '#/parameters/offsetParam'
                -
                    $ref: '#/parameters/filterParam'
            tags:
                - userpermissions
            responses:
                '200':
                    description: access permissions for given ct_user_id
                    schema:
                        $ref: '#/definitions/GetUserPermissionByUserId'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
        post:
            operationId: updateUserPermissions
            summary: Update user group access
            description: Add/remove groups access for given ct_user_id
            parameters:
                -
                    name: ct_user_id
                    in: path
                    description: ct_user_id of user to update user permissions of
                    required: true
                    type: integer
                    format: int64
                -
                    name: userPermissionsPostBody
                    in: body
                    description: Provide the action and add org_units objects to org_units
                    required: true
                    schema:
                        $ref: '#/definitions/userPermissionsPost'
            tags:
                - userpermissions
            responses:
                '200':
                    description: Result of endpoint with specific messages respective to org_units given
                    schema:
                        $ref: '#/definitions/userPermissionsPostResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    '/userpermissions/{ct_user_id}/allowed':
        x-swagger-router-controller: userPermissionsController
        get:
            operationId: getAllowedGroups
            summary: Returns list of allowed list of groups
            description: Get list of groups which can be allowed to have permissions
            parameters:
                -
                    name: ct_user_id
                    in: path
                    description: ct_user_id of user to fetch
                    required: true
                    type: integer
                    format: int64
                -
                    $ref: '#/parameters/limitParam'
                -
                    $ref: '#/parameters/offsetParam'
                -
                    $ref: '#/parameters/filterParam'
            tags:
                - userpermissions
            responses:
                '200':
                    description: allowed list of groups
                    schema:
                        $ref: '#/definitions/GetAllowedGroups'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /create/insight:
        x-swagger-router-controller: insightController
        post:
            operationId: createInsight
            summary: Create insight record
            description: Create insight record with given parameters
            parameters:
                -
                    name: insightData
                    in: body
                    description: An object of properties to create insight record.
                    required: true
                    schema:
                        $ref: '#/definitions/createInsight'
            tags:
                - insights
            responses:
                '200':
                    description: The result of the submission and insight_id for the newly added insight.
                    schema:
                        $ref: '#/definitions/PostResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /create/scorecard:
        x-swagger-router-controller: scorecardController
        post:
            operationId: createScorecard
            summary: Create scorecard record
            description: Create scorecard record with given parameters
            consumes:
                - multipart/form-data
            parameters:
                -
                    name: scorecard_title
                    in: formData
                    type: string
                    required: true
                    description: Title of the scorecard
                -
                    name: scorecard_outcome_label
                    in: formData
                    type: string
                    required: true
                    description: Outcome label for the scorecard
                -
                    name: ai_outcome
                    in: formData
                    type: string
                    required: false
                    description: Whether AI outcome is enabled ("true" or "false")
                -
                    name: outcome_indicator_id
                    in: formData
                    type: string
                    required: false
                    description: 'Outcome indicator ID (If ai_outcome is true, this field is required)'
                -
                    name: total_score_outcome
                    in: formData
                    type: string
                    required: false
                    description: Whether to use total score outcome ("true" or "false")
                -
                    name: has_sections
                    in: formData
                    type: string
                    required: true
                    description: Whether the scorecard has sections ("true" or "false")
                -
                    name: group_list
                    in: formData
                    type: string
                    required: true
                    description: JSON-stringified array of group IDs assigned to the scorecard
                -
                    name: default_groups
                    in: formData
                    type: string
                    required: false
                    description: JSON-stringified array of default group IDs
                -
                    name: org_unit_id
                    in: formData
                    type: string
                    required: true
                    description: Organization unit ID (as string )
                -
                    name: indicator_list
                    in: formData
                    type: string
                    required: true
                    description: >-
                        JSON-stringified array of objects which consists of indicator_id, section_id (add section_id if
                        has_sections is true)
                -
                    name: isDuplicate
                    in: formData
                    type: string
                    required: true
                    description: Indicates if this is a duplicate scorecard ("true" or "false")
                -
                    name: scorecard_sections
                    in: formData
                    type: string
                    required: false
                    description: >-
                        JSON-stringified array of objects which consist of name(string), weight(number),
                        hideIndicators(boolean), display_order(number) scorecard sections (required if has_sections is
                        true)
                -
                    name: file
                    in: formData
                    type: file
                    required: false
                    description: File to upload as scorecard instructions (optional)
                -
                    name: total_score_threshold
                    in: formData
                    type: string
                    required: false
                    description: Total score threshold (if total_score_outcome is true) (as string/number)
                -
                    name: defaultGroupChange
                    in: formData
                    type: string
                    required: false
                    description: Indicates if default group changed ("true" or "false")
                -
                    name: removeGroupAssociation
                    in: formData
                    type: string
                    required: false
                    description: JSON-stringified array of group associations to remove (optional)
                -
                    name: rescoreCalls
                    in: formData
                    type: string
                    required: false
                    description: Whether to rescore calls ("true" or "false")
                -
                    name: original_scorecard_id
                    in: formData
                    type: string
                    required: false
                    description: Original scorecard ID for rescoring (optional)
                -
                    name: rescoreRange
                    in: formData
                    type: string
                    required: false
                    description: JSON-stringified object with start/end dates for rescoring (optional)
            tags:
                - scorecard
            responses:
                '200':
                    description: The result of the submission and scorecard_id for the newly added scorecard.
                    schema:
                        $ref: '#/definitions/PostResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /duplicate/scorecard:
        x-swagger-router-controller: scorecardController
        post:
            operationId: duplicateScorecard
            summary: Duplicate a scorecard
            description: Duplicate a scorecard by providing its ID and any fields to update
            consumes:
                - multipart/form-data
            parameters:
                -
                    name: scorecard_id
                    in: formData
                    type: string
                    required: false
                    description: Scorecard Id of the scorecard
                -
                    name: scorecard_title
                    in: formData
                    type: string
                    required: false
                    description: Title of the scorecard
                -
                    name: scorecard_outcome_label
                    in: formData
                    type: string
                    required: false
                    description: Outcome label for the scorecard
                -
                    name: ai_outcome
                    in: formData
                    type: string
                    required: false
                    description: Whether AI outcome is enabled ("true" or "false")
                -
                    name: outcome_indicator_id
                    in: formData
                    type: string
                    required: false
                    description: 'Outcome indicator ID (If ai_outcome is true, this field is required)'
                -
                    name: total_score_outcome
                    in: formData
                    type: string
                    required: false
                    description: Whether to use total score outcome ("true" or "false")
                -
                    name: has_sections
                    in: formData
                    type: string
                    required: false
                    description: Whether the scorecard has sections ("true" or "false")
                -
                    name: group_list
                    in: formData
                    type: string
                    required: false
                    description: JSON-stringified array of group IDs assigned to the scorecard
                -
                    name: default_groups
                    in: formData
                    type: string
                    required: false
                    description: JSON-stringified array of default group IDs
                -
                    name: org_unit_id
                    in: formData
                    type: string
                    required: false
                    description: Organization unit ID (as string)
                -
                    name: indicator_list
                    in: formData
                    type: string
                    required: false
                    description: >-
                        JSON-stringified array of objects which consists of indicator_id, section_id (add section_id if
                        has_sections is true and section_id is nothing but the index of object in scorecard_sections
                        array)
                -
                    name: isDuplicate
                    in: formData
                    type: string
                    required: false
                    description: Indicates if this is a duplicate scorecard ("true" or "false")
                -
                    name: scorecard_sections
                    in: formData
                    type: string
                    required: false
                    description: >-
                        JSON-stringified array of objects which consist of name(string), weight(number),
                        hideIndicators(boolean), display_order(number) scorecard sections (required if has_sections is
                        true)
                -
                    name: file
                    in: formData
                    type: file
                    required: false
                    description: File to upload as scorecard instructions (optional)
                -
                    name: total_score_threshold
                    in: formData
                    type: string
                    required: false
                    description: Total score threshold (if total_score_outcome is true) (as string/number)
                -
                    name: defaultGroupChange
                    in: formData
                    type: string
                    required: false
                    description: Indicates if default group changed ("true" or "false")
                -
                    name: removeGroupAssociation
                    in: formData
                    type: string
                    required: false
                    description: JSON-stringified array of group associations to remove (optional)
                -
                    name: rescoreCalls
                    in: formData
                    type: string
                    required: false
                    description: Whether to rescore calls ("true" or "false")
                -
                    name: original_scorecard_id
                    in: formData
                    type: string
                    required: false
                    description: Original scorecard ID for rescoring (optional)
                -
                    name: rescoreRange
                    in: formData
                    type: string
                    required: false
                    description: JSON-stringified object with start/end dates for rescoring (optional)
            tags:
                - scorecard
            responses:
                '200':
                    description: The result of the submission and scorecard_id for the duplicated scorecard.
                    schema:
                        $ref: '#/definitions/PostResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /archive/scorecard:
        x-swagger-router-controller: scorecardController
        post:
            operationId: archiveScorecard
            summary: Archive a scorecard
            description: Archive a scorecard by providing its ID
            parameters:
                -
                    name: scorecardData
                    in: body
                    description: Scorecard ID to archive
                    required: true
                    schema:
                        type: object
                        required:
                            - scorecard_id
                        properties:
                            scorecard_id:
                                type: integer
                                description: >-
                                    Unique identifier for a scorecard (conversation analytics scoring template).
                                    Integer.
            tags:
                - scorecard
            responses:
                '200':
                    description: The result of the submission for archiving the scorecard.
                    schema:
                        $ref: '#/definitions/PostResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /broadcasts:
        x-swagger-router-controller: broadcastController
        get:
            operationId: getBroadcastList
            summary: Get all broadcast lists for an org unit
            description: Returns a list of broadcasts with pagination and filtering options
            parameters:
                -
                    $ref: '#/parameters/pageParam'
                -
                    $ref: '#/parameters/limitParam'
                -
                    $ref: '#/parameters/blfilterParam'
                -
                    $ref: '#/parameters/gaTimezoneParam'
            tags:
                - SMS Broadcast
            responses:
                '200':
                    description: An array of broadcast lists
                    schema:
                        type: array
                        items:
                            type: object
                            properties:
                                broadcast_id:
                                    type: integer
                                    format: int32
                                    description: Broadcast conversation ID
                                broadcast_name:
                                    type: string
                                    description: Name of the broadcast
                                agent_name:
                                    type: string
                                    description: Agent name
                                messages_sent:
                                    type: integer
                                    format: int32
                                    description: Number of messages sent
                                responses:
                                    type: integer
                                    format: int32
                                    description: Number of responses received
                                created_at:
                                    type: string
                                    format: date-time
                                    description: Creation timestamp
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
        post:
            operationId: createBroadcastFromContacts
            summary: Create SMS broadcast from contacts
            description: >-
                Create a new SMS broadcast by selecting individual contacts or entire contact lists. Either contact_ids
                or contact_list_ids must be provided, but not both.
            parameters:
                -
                    name: broadcast
                    in: body
                    description: Broadcast data object containing all required fields
                    required: true
                    schema:
                        $ref: '#/definitions/BroadcastCreateRequest'
            tags:
                - SMS Broadcast
            responses:
                '200':
                    description: Broadcast created successfully with bulk_sms_conversations_id
                    schema:
                        $ref: '#/definitions/PostResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    '/broadcasts/{broadcast_id}':
        x-swagger-router-controller: broadcastController
        put:
            operationId: updateBroadcastSms
            summary: Update broadcast SMS
            description: 'Update broadcast SMS details. Provide either contact_ids or contact_list_ids, but not both.'
            parameters:
                -
                    name: broadcast_id
                    in: path
                    description: The ID of the broadcast to update
                    required: true
                    type: integer
                    format: int32
                -
                    name: updateBroadcastData
                    in: body
                    description: Data for updating the broadcast SMS
                    required: true
                    schema:
                        $ref: '#/definitions/updateBroadcastData'
            tags:
                - SMS Broadcast
            responses:
                '200':
                    description: Broadcast updated successfully
                    schema:
                        $ref: '#/definitions/PostResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
        delete:
            operationId: deleteBroadcastSchedule
            summary: Delete broadcast schedule
            description: Delete broadcast schedule
            parameters:
                -
                    name: broadcast_id
                    in: path
                    description: The ID of the broadcast to delete
                    required: true
                    type: integer
                    format: int32
            tags:
                - SMS Broadcast
            responses:
                '200':
                    description: Broadcast deleted successfully
                    schema:
                        $ref: '#/definitions/PostResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    '/broadcasts/{broadcast_id}/messages':
        x-swagger-router-controller: broadcastController
        get:
            operationId: getBroadcastMessagesById
            summary: Get broadcast messages by broadcast ID
            description: Returns a list of messages for the specified broadcast ID
            parameters:
                -
                    name: broadcast_id
                    in: path
                    description: The ID of the broadcast to retrieve messages for
                    required: true
                    type: integer
                    format: int32
            tags:
                - SMS Broadcast
            responses:
                '200':
                    description: An array of broadcast messages
                    schema:
                        type: array
                        items:
                            type: object
                            properties:
                                textMessage:
                                    type: string
                                    description: Content of the message
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /contact-lists:
        x-swagger-router-controller: broadcastController
        get:
            operationId: getContactList
            summary: List contact lists
            description: Retrieve contact lists with pagination and filtering options
            parameters:
                -
                    $ref: '#/parameters/pageParam'
                -
                    $ref: '#/parameters/limitParam'
                -
                    $ref: '#/parameters/contactListfilterParams'
            tags:
                - SMS Broadcast
            responses:
                '200':
                    description: Contact list details retrieved successfully
                    schema:
                        $ref: '#/definitions/PostResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
        post:
            operationId: createList
            summary: Create contact list
            description: Create a new contact list with the given parameters
            parameters:
                -
                    name: createContactListData
                    in: body
                    description: An object of properties to create contact list.
                    required: true
                    schema:
                        $ref: '#/definitions/createContactList'
            tags:
                - SMS Broadcast
            responses:
                '200':
                    description: The result of the creation and contactListId for the newly added contact list.
                    schema:
                        $ref: '#/definitions/PostResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    '/contact-lists/{id}':
        x-swagger-router-controller: broadcastController
        get:
            operationId: getContactListDetails
            summary: Get contact list metadata and summary
            description: Retrieve a specific contact list by ID including summary data
            parameters:
                -
                    name: id
                    in: path
                    description: The ID of the contact list to retrieve
                    required: true
                    type: integer
                    format: int32
            tags:
                - SMS Broadcast
            responses:
                '200':
                    description: Contact list retrieved successfully
                    schema:
                        $ref: '#/definitions/PostResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
        put:
            operationId: updateContactList
            summary: Update contact list details
            description: Update the name and description of an existing contact list
            parameters:
                -
                    name: id
                    in: path
                    description: The ID of the contact list to update
                    required: true
                    type: integer
                    format: int32
                -
                    name: contactListUpdateData
                    in: body
                    description: Updated contact list name and description
                    required: true
                    schema:
                        $ref: '#/definitions/updateContactList'
            tags:
                - SMS Broadcast
            responses:
                '200':
                    description: Contact list updated successfully
                    schema:
                        $ref: '#/definitions/updateContactListResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
        delete:
            operationId: deleteContactList
            summary: User can delete specific contact list record
            description: User can delete specific contact list record using contact list id
            parameters:
                -
                    name: id
                    in: path
                    description: The ID of the contact list to delete
                    required: true
                    type: integer
                    format: int32
                -
                    $ref: '#/parameters/forced_delete'
            tags:
                - SMS Broadcast
            responses:
                '200':
                    description: contact successfully deleted
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/PostResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    '/contact-lists/{id}/contacts':
        x-swagger-router-controller: broadcastController
        get:
            operationId: getContactListById
            summary: Get contacts in a contact list
            description: Retrieve contacts in a specific contact list
            parameters:
                -
                    name: id
                    in: path
                    description: The ID of the contact list to retrieve contacts from
                    required: true
                    type: integer
                    format: int32
                -
                    $ref: '#/parameters/pageParam'
                -
                    $ref: '#/parameters/limitParam'
                -
                    $ref: '#/parameters/clfilterParams'
            tags:
                - SMS Broadcast
            responses:
                '200':
                    description: Contact list contacts retrieved successfully
                    schema:
                        $ref: '#/definitions/PostResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
        post:
            operationId: addContactNumbers
            summary: Add contact numbers to a contact list
            description: Add multiple contact numbers to an existing contact list with validation for duplicates
            parameters:
                -
                    name: id
                    in: path
                    description: The ID of the contact list to add numbers to
                    required: true
                    type: integer
                    format: int32
                -
                    name: contactNumbersPostData
                    in: body
                    description: An object containing array of contact numbers and optional status
                    required: true
                    schema:
                        $ref: '#/definitions/addContactNumbers'
            tags:
                - SMS Broadcast
            responses:
                '200':
                    description: Contact numbers added successfully
                    schema:
                        $ref: '#/definitions/addContactNumbersResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    '/contact-lists/{id}/contacts/{contact_id}':
        x-swagger-router-controller: broadcastController
        put:
            operationId: updateContactNumbers
            summary: Update a contact record in a contact list
            description: Update a contact under a contact list
            parameters:
                -
                    name: id
                    in: path
                    description: The ID of the contact list containing this contact
                    required: true
                    type: integer
                    format: int32
                -
                    name: contact_id
                    in: path
                    description: Contact ID to update
                    required: true
                    type: integer
                    format: int32
                -
                    name: updateContactNumbersData
                    in: body
                    description: Contact update payload
                    required: true
                    schema:
                        $ref: '#/definitions/updateContactNumbersItem'
            tags:
                - SMS Broadcast
            responses:
                '200':
                    description: Contact updated successfully
                    schema:
                        $ref: '#/definitions/updateContactResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
        delete:
            operationId: deleteListContact
            summary: User can delete specific contact record from list
            description: User can delete specific contact record using contact id
            parameters:
                -
                    name: id
                    in: path
                    description: The ID of the contact list containing this contact
                    required: true
                    type: integer
                    format: int32
                -
                    name: contact_id
                    in: path
                    description: Contact ID to delete
                    required: true
                    type: integer
                    format: int32
            tags:
                - SMS Broadcast
            responses:
                '200':
                    description: contact successfully deleted
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/PostResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    /contacts:
        x-swagger-router-controller: broadcastController
        get:
            operationId: getContacts
            summary: Get contacts with pagination and filtering
            description: Retrieve a list of contacts with pagination and filtering options
            parameters:
                -
                    $ref: '#/parameters/pageParam'
                -
                    $ref: '#/parameters/limitParam'
                -
                    $ref: '#/parameters/contactFilterParams'
            tags:
                - SMS Broadcast
            responses:
                '200':
                    description: An array of contacts
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/PostResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
        post:
            operationId: createContact
            summary: Create new contacts
            description: Create one or more contacts with the given phone numbers and optional names
            parameters:
                -
                    name: createContactData
                    in: body
                    description: An object containing an array of contacts to create.
                    required: true
                    schema:
                        $ref: '#/definitions/createContact'
            tags:
                - SMS Broadcast
            responses:
                '200':
                    description: The result of the creation and contactIds for the newly added contacts.
                    schema:
                        $ref: '#/definitions/PostResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
    '/contacts/{contact_id}':
        x-swagger-router-controller: broadcastController
        put:
            operationId: updateContact
            summary: Update contact details
            description: Update the phone number and name of an existing contact
            parameters:
                -
                    name: contact_id
                    in: path
                    description: The ID of the contact to update
                    required: true
                    type: integer
                    format: int32
                -
                    name: updateContactData
                    in: body
                    description: Updated contact phone number and name
                    required: true
                    schema:
                        $ref: '#/definitions/updateContact'
            tags:
                - SMS Broadcast
            responses:
                '200':
                    description: Contact updated successfully
                    schema:
                        $ref: '#/definitions/updateContactResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
        delete:
            operationId: deleteContact
            summary: User can delete specific contact record
            description: User can delete specific contact record using contact id
            parameters:
                -
                    name: contact_id
                    in: path
                    description: Contact ID for the record to be deleted
                    required: true
                    type: integer
                    format: int32
            tags:
                - SMS Broadcast
            responses:
                '200':
                    description: contact successfully deleted
                    schema:
                        type: array
                        items:
                            $ref: '#/definitions/PostResponse'
                default:
                    description: Unexpected error
                    schema:
                        $ref: '#/definitions/Error'
definitions:
    userReportResponse:
        type: object
        properties:
            report_id:
                type: integer
                format: int32
                description: Unique identifier for the report definition. Integer.
            report_name:
                type: string
                description: Human-readable report name. String.
            is_admin_only:
                type: boolean
                description: Boolean. True if the report is only visible to admin-tier users.
    BroadcastCreateRequest:
        type: object
        required:
            - broadcast_name
            - tracking_number
            - agent_ring_to
            - message
            - group_id
        properties:
            broadcast_name:
                type: string
                description: Human-readable broadcast campaign name. String.
            tracking_number:
                type: string
                description: >-
                    Phone number the caller dialed (the tracking/DNI number). Convirza routes calls from this number
                    through the configured call flow. String of digits.
                pattern: '^(?:\+?1[\s.-]?)?(?:\(?\d{3}\)?[\s.-]?)\d{3}[\s.-]?\d{4}$'
            agent_ring_to:
                type: string
                description: >-
                    Phone number of the agent receiving SMS replies. String. Must resolve to 10 digits; formatting like
                    parentheses, dashes, or '+1' prefix is accepted.
                pattern: '^(?:\+?1[\s.-]?)?(?:\(?\d{3}\)?[\s.-]?)\d{3}[\s.-]?\d{4}$'
            message:
                type: string
                description: >-
                    SMS message body. String. Max length set by carrier (typically 160 chars for single-segment, up to
                    1600 for concatenated).
            contact_ids:
                type: array
                items:
                    type: integer
                description: >-
                    Array of contact IDs to send to. Either contact_ids or contact_list_ids must be provided (not both).
                    Example [101, 202]. Type: array of integer.
            contact_list_ids:
                type: array
                items:
                    type: integer
                description: >-
                    Array of contact list IDs to send to. Either contact_ids or contact_list_ids must be provided (not
                    both). Example [1, 2, 3]. Type: array of integer.
            group_id:
                type: integer
                description: >-
                    Organization unit (group) ID the call/record belongs to. Integer. Used to scope data; see
                    /group/list for available group IDs.
            is_scheduled:
                type: boolean
                description: >-
                    Boolean. If true, the broadcast is queued for future delivery; if false, it sends immediately.
                    Default false.
            schedule_datetime:
                type: string
                format: date-time
                description: 'When to send the broadcast, required when is_scheduled=true. Format ''YYYY-MM-DD HH:mm:ss''.'
    scorecardList:
        type: object
        properties:
            group_id:
                type: integer
                format: int32
                description: >-
                    Organization unit (group) ID the call/record belongs to. Integer. Used to scope data; see
                    /group/list for available group IDs.
            scorecard_name:
                type: string
                description: Human-readable scorecard name. String.
            scorecard_id:
                type: integer
                description: Unique identifier for a scorecard (conversation analytics scoring template). Integer.
            group_access:
                type: integer
                format: int32
                description: 'shows the groups which has the access to scorecard. Type: integer (int32).'
            created_by_user_id:
                type: integer
                description: 'who created the scorecard. Type: integer.'
            created_on:
                type: string
                format: date-time
                description: 'when the scorecard was created. Type: string (date-time).'
            importance:
                type: integer
                format: int32
                description: 'shows the importance of scorecard. Type: integer (int32).'
    scoredCallsReport:
        type: object
        properties:
            outcome_percent_vs_average_score:
                type: array
                items:
                    type: object
                    properties:
                        group_name:
                            type: string
                            format: string
                            description: Human-readable name of the organization unit/group. String.
                        final_score_sum:
                            type: integer
                            format: int32
                            description: 'The sum of the final score for the grouping. Type: integer (int32).'
                        highest_score:
                            type: integer
                            format: int32
                            description: 'The highest final score for the grouping. Type: integer (int32).'
                        lowest_score:
                            type: integer
                            format: int32
                            description: 'The lowest final score for the grouping. Type: integer (int32).'
                        average_score:
                            type: integer
                            format: int32
                            description: 'The average final score for the grouping. Type: integer (int32).'
                        scored_calls:
                            type: integer
                            format: int32
                            description: 'The number of scored calls for the grouping. Type: integer (int32).'
                        outcome:
                            type: integer
                            format: int32
                            description: >-
                                he number of scored calls for the grouping with a successful outcome. Type: integer
                                (int32).
                        outcome_rate:
                            type: integer
                            format: int32
                            description: >-
                                The percentage of calls with a successful outcome for the grouping. Type: integer
                                (int32).
                        reviewed_calls:
                            type: integer
                            format: int32
                            description: 'The number of calls that have been reviewed for the grouping. Type: integer (int32).'
                        reviewed_calls_percentage:
                            type: integer
                            format: int32
                            description: 'The percentage of calls that have been reviewed for the grouping. Type: integer (int32).'
                description: 'The array of scorecard data grouped by group. Type: array of object.'
            average_criteria_score:
                type: array
                items:
                    type: object
                    properties:
                        group_name:
                            type: string
                            format: string
                            description: Human-readable name of the organization unit/group. String.
                        score_card_title:
                            type: string
                            format: string
                            description: 'The title of the scorecard. Type: string (string).'
                        display_order:
                            type: integer
                            format: int32
                            description: 'The order in which the criteria is displayed. Type: integer (int32).'
                        criteria_title:
                            type: string
                            format: string
                            description: 'The title of the criteria. Type: string (string).'
                        average_criteria_grid_score:
                            type: integer
                            format: int32
                            description: 'The average score for this criteria and group. Type: integer (int32).'
                description: 'The array of scorecard data grouped by group. Type: array of object.'
    subscriptionResponse:
        type: object
        required:
            - result
            - data
        properties:
            result:
                type: string
                description: 'Outcome of the request. String, typically ''success'' or ''error''.'
            err:
                type: string
                description: Error message when result='error'. String. Empty/null on success.
            data:
                type: object
                required:
                    - subscription_id
                    - org_unit_id
                    - addons
                    - account_number
                    - account_name
                    - subscription_number
                    - subscription_name
                    - activation_date
                properties:
                    subscription_id:
                        type: integer
                        format: int32
                        description: 'Unique identifier representing a specific subscription. Type: integer (int32).'
                    org_unit_id:
                        type: integer
                        format: int32
                        description: Organization unit (group) ID. Integer. Same concept as group_id; used in newer endpoints.
                    account_number:
                        type: integer
                        format: int32
                        description: 'Unique identifier representing a specific subscription account. Type: integer (int32).'
                    account_name:
                        type: string
                        description: 'represents name of a specific subscription account. Type: string.'
                    subscription_number:
                        type: integer
                        format: int32
                        description: >-
                            represents Unique subscription number of a specific subscription account. Type: integer
                            (int32).
                    subscription_name:
                        type: string
                        description: 'represents name of a specific subscription. Type: string.'
                    activation_date:
                        type: string
                        format: date-time
                        description: 'represents activation date of specific subscription account. Type: string (date-time).'
                    addons:
                        type: array
                        items:
                            type: object
                            properties:
                                addon_id:
                                    type: integer
                                    format: int32
                                    description: >-
                                        represents Unique id of the component under subscription account. Type: integer
                                        (int32).
                                addon_name:
                                    type: string
                                    description: 'represents name of the component under subscription account. Type: string.'
                        description: 'addons. Type: array of object.'
                description: Response payload. Shape varies by endpoint.
    locationListResponse:
        type: object
        properties:
            location_route_id:
                type: integer
                format: int32
                description: 'Unique identifier representing a specific location-route. Type: integer (int32).'
            location_id:
                type: integer
                format: int32
                description: 'Unique identifier representing a specific location. Type: integer (int32).'
            route_location:
                type: string
                description: 'represents location route. Type: string.'
            route_address:
                type: string
                description: 'route_address. Type: string.'
            route_city:
                type: string
                description: 'route_city. Type: string.'
            route_state:
                type: string
                description: 'route_state. Type: string.'
            route_zip:
                type: string
                description: 'route_zip. Type: string.'
            route_target:
                type: string
                description: 'route_target. Type: string.'
            route_claimed_zip:
                type: string
                description: 'route_claimed_zip. Type: string.'
            route_longitude:
                type: string
                description: 'route_longitude. Type: string.'
            route_latitude:
                type: string
                description: 'route_latitude. Type: string.'
            route_created:
                type: string
                description: 'route_created. Type: string.'
            route_modified:
                type: string
                description: 'route_modified. Type: string.'
            hunt_type:
                type: string
                enum:
                    - roundrobin
                    - overflow
                    - simultaneous
                    - rollover
                description: >-
                    hunting type for overflow ringto numbers. Type: enum (string); Allowed values: roundrobin, overflow,
                    simultaneous, rollover.
            overflowNumbers:
                type: array
                items:
                    $ref: '#/definitions/overflowNumbers'
                minItems: 1
                maxItems: 12
                description: 'overflowNumbers. Type: array of object (overflowNumbers).'
    DeletePoolNumber:
        type: object
        properties:
            provisioned_route_id:
                type: integer
                format: int32
                description: The unique identifier for the route to which the number is associated
            phone_numbers:
                type: array
                items:
                    type: object
                    properties:
                        number:
                            type: string
                            pattern: '^[0-9]{10,15}$'
                            description: The phone number to be removed from the provisioned route pool
                            minLength: 10
                            maxLength: 12
    Call:
        type: object
        required:
            - call_flow_id
            - group_id
            - caller_id
            - tracking_number
            - ring_to
            - call_started
        properties:
            call_id:
                type: integer
                format: int32
                description: >-
                    Unique identifier for the call record. Integer. Use as the primary key when cross-referencing other
                    endpoints (e.g., /call/transcription, /call/tag).
            call_flow_id:
                type: integer
                format: int32
                description: >-
                    Unique identifier for the call flow/route definition the call was answered by. Integer. Maps to
                    call_flow.call_flow_id.
            group_id:
                type: integer
                format: int32
                description: >-
                    Organization unit (group) ID the call/record belongs to. Integer. Used to scope data; see
                    /group/list for available group IDs.
            disposition:
                type: string
                enum:
                    - ANSWERED
                    - BUSY
                    - FAILED
                    - NO ANSWER
                    - NONE
                    - HANGUP
                description: >-
                    Call outcome classification. Enum: ANSWERED, BUSY, FAILED, NO ANSWER, NONE, HANGUP. Default NONE.
                    Set by carrier response plus in-call behavior.
                default: NONE
            duration:
                type: integer
                format: int32
                description: Total call length in seconds (integer). Includes the entire connected segment from answer to hangup.
            caller_id:
                type: string
                description: >-
                    Phone number of the originating caller. String of digits, typically 10 digits for US numbers (e.g.,
                    '2025550123').
            tracking_number:
                type: string
                description: >-
                    Phone number the caller dialed (the tracking/DNI number). Convirza routes calls from this number
                    through the configured call flow. String of digits.
            ring_to:
                type: string
                description: Phone number the call was ultimately forwarded to (the agent/business line). String of digits.
            default_ring_to:
                type: string
                description: Default ring-to number configured on the call flow (before any dynamic routing). String of digits.
            repeat_call:
                type: boolean
                description: Boolean. True if this caller has previously called a tracking number in this account. Default false.
                default: false
            call_started:
                type: string
                format: date-time
                description: >-
                    Timestamp when the call started. ISO 8601 date-time with timezone (e.g.,
                    '2024-03-01T14:22:10.000-07:00').
    CallerName:
        type: object
        properties:
            ai_caller_identity:
                type: string
                description: 'The name of the caller associated with the caller ID. Type: string.'
    CallList:
        type: object
        required:
            - call_flow_id
            - group_id
            - caller_id
            - tracking_number
            - ring_to
            - call_started
        properties:
            call_id:
                type: integer
                format: int32
                description: >-
                    Unique identifier for the call record. Integer. Use as the primary key when cross-referencing other
                    endpoints (e.g., /call/transcription, /call/tag).
            call_flow_id:
                type: integer
                format: int32
                description: >-
                    Unique identifier for the call flow/route definition the call was answered by. Integer. Maps to
                    call_flow.call_flow_id.
            group_id:
                type: integer
                format: int32
                description: >-
                    Organization unit (group) ID the call/record belongs to. Integer. Used to scope data; see
                    /group/list for available group IDs.
            disposition:
                type: string
                enum:
                    - ANSWERED
                    - BUSY
                    - FAILED
                    - NO ANSWER
                    - NONE
                    - HANGUP
                description: >-
                    Call outcome classification. Enum: ANSWERED, BUSY, FAILED, NO ANSWER, NONE, HANGUP. Default NONE.
                    Set by carrier response plus in-call behavior.
                default: NONE
            duration:
                type: integer
                format: int32
                description: Total call length in seconds (integer). Includes the entire connected segment from answer to hangup.
            caller_id:
                type: string
                description: >-
                    Phone number of the originating caller. String of digits, typically 10 digits for US numbers (e.g.,
                    '2025550123').
            tracking_number:
                type: string
                description: >-
                    Phone number the caller dialed (the tracking/DNI number). Convirza routes calls from this number
                    through the configured call flow. String of digits.
            ring_to:
                type: string
                description: Phone number the call was ultimately forwarded to (the agent/business line). String of digits.
            default_ring_to:
                type: string
                description: Default ring-to number configured on the call flow (before any dynamic routing). String of digits.
            repeat_call:
                type: boolean
                description: Boolean. True if this caller has previously called a tracking number in this account. Default false.
                default: false
            call_started:
                type: string
                format: date-time
                description: >-
                    Timestamp when the call started. ISO 8601 date-time with timezone (e.g.,
                    '2024-03-01T14:22:10.000-07:00').
            campaign_id:
                type: integer
                format: int32
                description: Unique identifier for the campaign this call was attributed to. Integer.
    CustomSourceInfo:
        type: object
        properties:
            custom_source_type_1:
                $ref: '#/definitions/CallCustomSources'
                description: 'custom_source_type_1. Type: object (CallCustomSources).'
            custom_source_type_2:
                $ref: '#/definitions/CallCustomSources'
                description: 'custom_source_type_2. Type: object (CallCustomSources).'
            custom_source_type_3:
                $ref: '#/definitions/CallCustomSources'
                description: 'custom_source_type_3. Type: object (CallCustomSources).'
            custom_source_type_4:
                $ref: '#/definitions/CallCustomSources'
                description: 'custom_source_type_4. Type: object (CallCustomSources).'
            custom_source_type_5:
                $ref: '#/definitions/CallCustomSources'
                description: 'custom_source_type_5. Type: object (CallCustomSources).'
    GroupActivity:
        type: object
        properties:
            group_name:
                type: string
                format: string
                description: The name of the group for which the data is aggregated
            group_id:
                type: integer
                format: int32
                description: The group id to which the calls belong
            campaign_name:
                type: string
                format: string
                description: The campaign name to which the calls belong (only returned if secondary param is set to "campaign")
            campaign_ext_id:
                type: integer
                format: int32
                description: >-
                    The campaign external id to which the calls belong (only returned if secondary param is set to
                    "campaign")
            campaign_id:
                type: integer
                format: int32
                description: The campaign id to which the calls belong (only returned if secondary param is set to "campaign")
            call_flow_name:
                type: string
                format: string
                description: >-
                    The call flow name to which the calls belong (only returned if secondary param is set to
                    "call_flow")
            tracking_number:
                type: integer
                format: int32
                description: >-
                    The tracking number of the call flow to which the calls belong (only returned if secondary param is
                    set to "call_flow")
            call_flow_id:
                type: integer
                format: int32
                description: The campaign id to which the calls belong (only returned if secondary param is set to "call_flow")
            total_calls:
                type: integer
                format: int32
                description: The count of calls for the group
            call_value:
                type: integer
                format: int32
                description: The sum of the value of all calls for the group
            unique_calls:
                type: integer
                format: int32
                description: The count of unique calls for the group
            answered:
                type: integer
                format: int32
                description: The count of answered calls for the group
            voicemail:
                type: integer
                format: int32
                description: The count of calls that were not answered
            conversion:
                type: integer
                format: int32
                description: The count of calls determined to be a conversion by the conversation analytics engine
            total_leads:
                type: integer
                format: int32
                description: The count of calls determined to be a lead by the conversation analytics engine
            bill_minutes:
                type: integer
                format: string
                description: The sum of billed minutes for all calls for the group
    CallDetail:
        type: object
        properties:
            bill_second:
                type: integer
                format: int32
                description: 'Billable call duration rounded up to the nearest 30-second interval. Integer, in seconds.'
            external_id:
                type: string
                description: >-
                    Customer-provided identifier used to map this call to a record in the customer's own system. String.
                    Must be unique within the customer's org.
            recording_file:
                type: string
                description: >-
                    Filename of the call recording in Convirza's storage. String. Use recordURL=true to also fetch a
                    signed download URL.
            call_value:
                type: integer
                format: int32
                description: >-
                    Monetary value assigned to the call by scoring/analytics. Integer (cents or whole dollars depending
                    on account config).
            dni_log_id:
                type: string
                description: >-
                    UUID string referencing the DNI session that produced this call. Use /call/dni to fetch the full
                    session details.
            is_outbound:
                type: boolean
                description: Boolean. True if the call was placed by an agent/voice-agent outbound; false for inbound.
            is_spam:
                type: boolean
                description: Indicates if the call is marked as spam
            call_mine_status:
                type: string
                description: >-
                    Lifecycle state of the transcription/mining process. Enum: 'not mined', 'mined', 'pending',
                    'cancel', 'none'. Note: exact transition rules undocumented; see TEST-9.6.
                enum:
                    - not mined
                    - mined
                    - pending
                    - cancel
                    - none
            cdr_source:
                type: string
                enum:
                    - CE
                    - API
                    - BVR
                    - NONE
                description: >-
                    Source that generated the Call Detail Record. Enum: CE (Convirza carrier engine), API (uploaded via
                    /call/upload), BVR (legacy voice response), NONE.
            call_ended:
                type: string
                format: date-time
                description: Timestamp when the call ended. ISO 8601 date-time with timezone.
            call_created:
                type: string
                format: date-time
                description: >-
                    Timestamp when the call record was persisted in Convirza. ISO 8601 date-time. May trail call_started
                    if the record was uploaded later via API.
            mined_timestamp:
                type: string
                format: date-time
                description: >-
                    Timestamp when the call audio was processed through Convirza's ASR (transcription) pipeline. ISO
                    8601 date-time. Null if the call has not yet been mined.
            ring_to_name:
                type: string
                description: Name associated with the ring-to phone number (agent name). String.
            analytic_status:
                type: string
                description: >-
                    Lifecycle state of the conversation analytics (scoring) process. String, values include states like
                    'pending', 'complete'. Exact enum and transitions undocumented; see TEST-9.6.
            channel_id:
                type: integer
                format: int32
                description: >-
                    Unique identifier for the marketing channel tagged on this call. Integer. See /misc/channel for
                    available channels.
            channel_category:
                type: string
                description: 'Top-level marketing channel category (e.g., ''Paid Search'', ''Organic'', ''Social'').'
            channel_sub_category:
                type: string
                description: 'Sub-category within the parent channel (e.g., ''Google'', ''Bing'').'
            channel:
                type: string
                description: 'Human-readable channel label derived from category + sub_category (e.g., ''Paid Search - Google'').'
            comments:
                type: array
                items:
                    type: object
                    properties:
                        comment_id:
                            type: integer
                            format: int32
                            description: 'The unique identifier for the comment. Type: integer (int32).'
                        call_id:
                            type: string
                            description: >-
                                Unique identifier for the call record. Integer. Use as the primary key when
                                cross-referencing other endpoints (e.g., /call/transcription, /call/tag).
                        comment_text:
                            type: string
                            description: 'All comments associated with call. Type: string.'
                description: 'comments. Type: array of object.'
        required:
            - cdr_source
            - call_ended
    Extend:
        type: object
        properties:
            id:
                type: string
                description: 'id. Type: string.'
            is_valid:
                type: boolean
                description: 'is_valid. Type: boolean.'
            country_calling_code:
                type: string
                description: 'country_calling_code. Type: string.'
            line_type:
                type: string
                description: 'line_type. Type: string.'
            carrier:
                type: string
                description: 'carrier. Type: string.'
            is_prepaid:
                type: boolean
                description: 'is_prepaid. Type: boolean.'
            is_commercial:
                type: boolean
                description: 'is_commercial. Type: boolean.'
            belongs_to:
                type: array
                items:
                    type: object
                    properties:
                        id:
                            type: string
                            description: 'id. Type: string.'
                        name:
                            type: string
                            description: 'name. Type: string.'
                        firstname:
                            type: string
                            description: 'firstname. Type: string.'
                        middlename:
                            type: string
                            description: 'middlename. Type: string.'
                        email:
                            type: string
                            description: 'email. Type: string.'
                        home_value:
                            type: integer
                            format: int32
                            description: 'home_value. Type: integer (int32).'
                        income:
                            type: integer
                            format: int32
                            description: 'income. Type: integer (int32).'
                        lastname:
                            type: string
                            description: 'lastname. Type: string.'
                        alternate_names:
                            type: array
                            items:
                                type: string
                            description: 'alternate_names. Type: array of string.'
                        age_range:
                            type: string
                            description: 'age_range. Type: string.'
                        gender:
                            type: string
                            description: 'gender. Type: string.'
                        type:
                            type: string
                            enum:
                                - Person
                                - Business
                            description: 'type. Type: enum (string); Allowed values: Person, Business.'
                        industry:
                            type: string
                            description: 'industry. Type: string.'
                        link_to_phone_start_date:
                            type: string
                            format: date
                            description: 'link_to_phone_start_date. Type: string (date).'
                description: 'belongs_to. Type: array of object.'
            current_addresses:
                type: array
                items:
                    type: object
                    properties:
                        id:
                            type: string
                            description: 'id. Type: string.'
                        location_type:
                            type: string
                            description: 'location_type. Type: string.'
                        street_line_1:
                            type: string
                            description: 'street_line_1. Type: string.'
                        street_line_2:
                            type: string
                            description: 'street_line_2. Type: string.'
                        city:
                            type: string
                            description: Caller's city (from caller-ID/location lookup). String.
                        postal_code:
                            type: string
                            description: 'postal_code. Type: string.'
                        zip4:
                            type: string
                            description: 'zip4. Type: string.'
                        state_code:
                            type: string
                            description: 'state_code. Type: string.'
                        country_code:
                            type: string
                            description: 'country_code. Type: string.'
                        lat_long:
                            type: object
                            properties:
                                latitude:
                                    type: number
                                    description: 'latitude. Type: number.'
                                longitude:
                                    type: number
                                    description: 'longitude. Type: number.'
                                accuracy:
                                    type: string
                                    description: 'accuracy. Type: string.'
                            description: lat_long.
                        is_active:
                            type: boolean
                            description: 'is_active. Type: boolean.'
                        delivery_point:
                            type: string
                            description: 'delivery_point. Type: string.'
                        link_to_person_start_date:
                            type: string
                            format: date
                            description: 'link_to_person_start_date. Type: string (date).'
                        link_to_person_end_date:
                            type: string
                            description: 'link_to_person_end_date. Type: string.'
                description: 'current_addresses. Type: array of object.'
            historical_addresses:
                type: array
                items:
                    type: object
                    properties:
                        id:
                            type: string
                            description: 'id. Type: string.'
                        location_type:
                            type: string
                            description: 'location_type. Type: string.'
                        street_line_1:
                            type: string
                            description: 'street_line_1. Type: string.'
                        street_line_2:
                            type: string
                            description: 'street_line_2. Type: string.'
                        city:
                            type: string
                            description: Caller's city (from caller-ID/location lookup). String.
                        postal_code:
                            type: string
                            description: 'postal_code. Type: string.'
                        zip4:
                            type: string
                            description: 'zip4. Type: string.'
                        state_code:
                            type: string
                            description: 'state_code. Type: string.'
                        country_code:
                            type: string
                            description: 'country_code. Type: string.'
                        lat_long:
                            type: object
                            properties:
                                latitude:
                                    type: number
                                    description: 'latitude. Type: number.'
                                longitude:
                                    type: number
                                    description: 'longitude. Type: number.'
                                accuracy:
                                    type: string
                                    description: 'accuracy. Type: string.'
                            description: lat_long.
                        is_active:
                            type: boolean
                            description: 'is_active. Type: boolean.'
                        delivery_point:
                            type: string
                            description: 'delivery_point. Type: string.'
                        link_to_person_start_date:
                            type: string
                            format: date
                            description: 'link_to_person_start_date. Type: string (date).'
                        link_to_person_end_date:
                            type: string
                            description: 'link_to_person_end_date. Type: string.'
                description: 'historical_addresses. Type: array of object.'
            associated_people:
                type: array
                items:
                    type: object
                    properties:
                        id:
                            type: string
                            description: 'id. Type: string.'
                        name:
                            type: string
                            description: 'name. Type: string.'
                        firstname:
                            type: string
                            description: 'firstname. Type: string.'
                        middlename:
                            type: string
                            description: 'middlename. Type: string.'
                        lastname:
                            type: string
                            description: 'lastname. Type: string.'
                        relation:
                            type: string
                            description: 'relation. Type: string.'
                description: 'associated_people. Type: array of object.'
            alternate_phones:
                type: array
                items:
                    type: string
                description: 'alternate_phones. Type: array of string.'
            emails:
                type: array
                items:
                    type: string
                description: 'emails. Type: array of string.'
            error:
                type: object
                properties:
                    name:
                        type: string
                        description: 'name. Type: string.'
                    message:
                        type: string
                        description: >-
                            SMS message body. String. Max length set by carrier (typically 160 chars for single-segment,
                            up to 1600 for concatenated).
                additionalProperties: true
                description: error.
            warnings:
                type: array
                items:
                    type: string
                description: 'warnings. Type: array of string.'
    Transcription:
        type: object
        properties:
            transcription:
                type: string
                description: >-
                    Full text transcript of the call produced by Convirza ASR. String. May be empty if call_mine_status
                    != 'mined'.
            summary:
                type: string
                description: Short auto-generated summary of the call. String.
    TranscriptionDetail:
        type: object
        properties:
            text:
                type: string
                description: 'Channel text. Type: string.'
            channel:
                type: string
                description: 'Human-readable channel label derived from category + sub_category (e.g., ''Paid Search - Google'').'
            time:
                type: string
                description: 'The point in time of text. Type: string.'
    Tag:
        type: object
        required:
            - tag_name
        properties:
            tag_id:
                type: integer
                format: int32
                description: Unique identifier for the tag definition. Integer.
            ct_user_id:
                type: integer
                format: int32
                description: Convirza user ID (platform user). Integer. Primary key of ct_user table.
            call_tag_created:
                type: string
                format: date-time
                description: Timestamp when the tag was applied to the call. ISO 8601 date-time.
            tag_name:
                type: string
                description: 'Client-defined tag label. String. Note: some production tags have leading/trailing whitespace.'
            tag_created:
                type: string
                format: date-time
                description: Timestamp when the tag was created. ISO 8601 date-time.
            tag_active:
                type: boolean
                description: Boolean. True if tag definition is currently active.
    Indicator:
        type: object
        properties:
            indicator_id:
                type: integer
                format: int32
                description: Unique identifier for the conversation analytics indicator (scoring criterion). Integer.
            score_id:
                type: integer
                format: int32
                description: Unique identifier for a score record (one per call per indicator). Integer.
            score_value:
                type: integer
                format: int32
                description: >-
                    Numeric score for this indicator on this call. Integer 0-99. Higher = stronger match (semantics vary
                    by indicator).
            indicator_name:
                type: string
                description: >-
                    Human-readable name of the indicator. String. Known issue: some indicator_name values have
                    leading/trailing whitespace (TEST-4.6).
            external_id:
                type: string
                description: >-
                    Customer-provided identifier used to map this call to a record in the customer's own system. String.
                    Must be unique within the customer's org.
            indicator_active:
                type: boolean
                description: Boolean. True if the indicator is currently active/scored.
            indicator_created:
                type: string
                format: date-time
                description: Timestamp when the indicator definition was created. ISO 8601 date-time.
    Dni:
        type: object
        properties:
            browser:
                type: string
                description: 'The type of browser used by the end user. Type: string.'
            created_at:
                type: string
                format: date-time
                description: 'The date and time when the record was created. Type: string (date-time).'
            custom_params:
                type: string
                description: 'Additional custom parameters passed to request. Type: string.'
            destination_url:
                type: string
                description: 'The URL resource called in the request. Type: string.'
            dni_vid:
                type: string
                description: 'dni_vid. Type: string.'
            first_page:
                type: string
                description: 'The URL of the first page displayed when user first arrives. Type: string.'
            ga_cid:
                type: string
                description: 'Google Analytics customer tracking ID. Type: string.'
            ip_host:
                type: string
                description: 'The IP address of the user making the page request. Type: string.'
            last_page:
                type: string
                description: 'The URL of the last page before the user leaves. Type: string.'
            location_details:
                type: object
                properties:
                    ip:
                        type: string
                        description: 'The IP address of the user making the request. Type: string.'
                    country_code:
                        type: string
                        description: 'The country code of where the user is located. Type: string.'
                    country_name:
                        type: string
                        description: 'The full country name of the where the user is located. Type: string.'
                    region_code:
                        type: string
                        description: 'The regional code of the where the user is located. Type: string.'
                    region_name:
                        type: string
                        description: 'The full regional name of the where the user is located. Type: string.'
                    city:
                        type: string
                        description: Caller's city (from caller-ID/location lookup). String.
                    zipcode:
                        type: string
                        description: 'The zipcode area of the where the user is located. Type: string.'
                    latitude:
                        type: number
                        format: float
                        description: 'The geospatial horizontal location of the where the user is located. Type: number (float).'
                    longitude:
                        type: number
                        format: float
                        description: 'The geospatial vertical location of the where the user is located. Type: number (float).'
                    metro_code:
                        type: string
                        description: 'The metropolitan code of the where the user is located. Type: string.'
                    area_code:
                        type: integer
                        format: int32
                        description: 'The state area code of the where the user is located. Type: integer (int32).'
            log_date:
                type: string
                format: date-time
                description: 'The date and time that the log record was recorded. Type: string (date-time).'
            master_node_id:
                type: integer
                format: int32
                description: 'The top level group ID. Type: integer (int32).'
            group_id:
                type: integer
                format: int32
                description: >-
                    Organization unit (group) ID the call/record belongs to. Integer. Used to scope data; see
                    /group/list for available group IDs.
            phone_number_details:
                type: array
                items:
                    type: object
                    properties:
                        dni_id:
                            type: string
                            description: 'Unique identifier for DNI record of number entry in this block. Type: string.'
                        phone_number:
                            type: string
                            description: Phone number as a string of digits. Typically 10 digits for US numbers.
                        element:
                            type: string
                            description: 'The HTML element used for substitution replacement of phone number. Type: string.'
                        phone_number_id:
                            type: integer
                            format: int32
                            description: 'The unique identifier for the phone number. Type: integer (int32).'
                        pool_id:
                            type: integer
                            format: int32
                            description: >-
                                The unique identifier for the associated number pool from which the number was pulled.
                                Type: integer (int32).
                        number_last_used:
                            type: string
                            format: date-time
                            description: >-
                                The date and time of the last time the phone number was used for this session. Type:
                                string (date-time).
                        provisioned_route_id:
                            type: integer
                            format: int32
                            description: >-
                                The unique identifier for the route to which the number is associated. Type: integer
                                (int32).
            ref_param:
                type: object
                properties:
                    utm_medium:
                        type: string
                        description: 'Identifies medium. Type: string.'
                    utm_campaign:
                        type: string
                        description: 'Identifies the campaign. Type: string.'
                    utm_content:
                        type: string
                        description: 'The content used. Type: string.'
                    kw:
                        type: string
                        description: 'The KW. Type: string.'
            referring:
                type: string
                description: 'The URL of the referring site. Type: string.'
            referring_type:
                type: string
                description: 'The source medium of the referrer. Type: string.'
            referring_url:
                type: string
                description: 'The URL of the referring site. Type: string.'
            search_words:
                type: string
                description: 'The search words used. Type: string.'
            session_id:
                type: string
                description: 'A unique identifier used to identify the users session. Type: string.'
            updated_at:
                type: string
                format: date-time
                description: 'The date and time that the record was last updated. Type: string (date-time).'
    CallTagPost:
        type: object
        required:
            - tag_name
            - call_id
        properties:
            tag_name:
                type: array
                minItems: 1
                items:
                    type: string
                description: 'Client-defined tag label. String. Note: some production tags have leading/trailing whitespace.'
            call_id:
                type: integer
                format: int32
                description: >-
                    Unique identifier for the call record. Integer. Use as the primary key when cross-referencing other
                    endpoints (e.g., /call/transcription, /call/tag).
    CallFieldPost:
        type: object
        required:
            - call_title
            - call_id
        properties:
            call_title:
                type: string
                description: 'Call Title. Type: string.'
            call_id:
                type: integer
                format: int32
                description: >-
                    Unique identifier for the call record. Integer. Use as the primary key when cross-referencing other
                    endpoints (e.g., /call/transcription, /call/tag).
    WebhookResponse:
        type: object
        required:
            - result
            - data
        properties:
            result:
                type: string
                description: 'Outcome of the request. String, typically ''success'' or ''error''.'
            err:
                type: string
                description: Error message when result='error'. String. Empty/null on success.
            data:
                type: object
                properties:
                    webhook_id:
                        type: integer
                        format: int32
                        description: 'Unique identifier representing the webhook. Type: integer (int32).'
                    webhook_name:
                        type: string
                        description: 'Client defined name for the webhook. Type: string.'
                    target_url:
                        type: string
                        description: 'A client provided Url for the webhook. Type: string.'
                description: Response payload. Shape varies by endpoint.
    CallWebhookResponse:
        type: object
        required:
            - result
            - data
        properties:
            result:
                type: string
                description: 'Outcome of the request. String, typically ''success'' or ''error''.'
            err:
                type: string
                description: Error message when result='error'. String. Empty/null on success.
            data:
                type: object
                properties:
                    Call ID:
                        type: integer
                        format: int32
                        description: 'Unique identifier representing the Call ID. Type: integer (int32).'
                    Provisioned Route ID:
                        type: integer
                        format: int32
                        description: 'Unique identifier representing the Provisioned Route ID. Type: integer (int32).'
                    Org Unit ID:
                        type: integer
                        format: int32
                        description: 'Unique identifier representing the Org Unit ID. Type: integer (int32).'
                    Campaign Name:
                        type: string
                        description: 'Unique identifier representing the Campaign Name. Type: string.'
                    Campaign External ID:
                        type: string
                        description: 'Unique identifier representing the Campaign External ID. Type: string.'
                    Caller Id:
                        type: integer
                        format: int32
                        description: 'Unique identifier representing the Caller Id. Type: integer (int32).'
                    Tracking:
                        type: integer
                        format: int32
                        description: 'Unique identifier representing the Tracking. Type: integer (int32).'
                    Ad Source:
                        type: string
                        description: 'Unique identifier representing the Ad Source. Type: string.'
                    Ring To:
                        type: integer
                        format: int32
                        description: 'Unique identifier representing the Ring To. Type: integer (int32).'
                    Disposition:
                        type: string
                        description: 'Unique identifier representing the Disposition. Type: string.'
                    Duration:
                        type: integer
                        format: int32
                        description: 'Unique identifier representing the Duration. Type: integer (int32).'
                    Repeat Call:
                        type: string
                        description: 'Unique identifier representing the Repeat Call. Type: string.'
                    Call Started:
                        type: string
                        description: 'Unique identifier representing the Call Started. Type: string.'
                    Call Ended:
                        type: string
                        description: 'Unique identifier representing the Call Ended. Type: string.'
                    Cdr Source:
                        type: string
                        description: 'Unique identifier representing the Cdr Source. Type: string.'
                    Call Mine Status:
                        type: string
                        description: 'Unique identifier representing the Call Mine Status. Type: string.'
                    Call External ID:
                        type: string
                        description: 'Unique identifier representing the Call External ID. Type: string.'
                    Outbound Call:
                        type: string
                        description: 'Unique identifier representing the Outbound Call. Type: string.'
                    Call Value:
                        type: integer
                        format: int32
                        description: 'Unique identifier representing the Call Value. Type: integer (int32).'
                    Call Recording Filename:
                        type: string
                        description: 'Unique identifier representing the Call Recording Filename. Type: string.'
                    Call Recording URL:
                        type: string
                        description: 'Unique identifier representing the Call Recording URL. Type: string.'
                    Group ID:
                        type: integer
                        format: int32
                        description: 'Unique identifier representing the Group ID. Type: integer (int32).'
                    Parent Group ID:
                        type: integer
                        format: int32
                        description: 'Unique identifier representing the Parent Group ID. Type: integer (int32).'
                    Billing Group ID:
                        type: integer
                        format: int32
                        description: 'Unique identifier representing the Billing Group ID. Type: integer (int32).'
                    External Group ID:
                        type: string
                        description: 'Unique identifier representing the External Group ID. Type: string.'
                    Group Name:
                        type: string
                        description: 'Unique identifier representing the Group Name. Type: string.'
                    Group Status:
                        type: string
                        description: 'Unique identifier representing the Group Status. Type: string.'
                    Group Address:
                        type: string
                        description: 'Unique identifier representing the Group Address. Type: string.'
                    Group City:
                        type: string
                        description: 'Unique identifier representing the Group City. Type: string.'
                    Group State:
                        type: string
                        description: 'Unique identifier representing the Group State. Type: string.'
                    Group Zip:
                        type: string
                        description: 'Unique identifier representing the Group Zip. Type: string.'
                    Group Phone Number:
                        type: string
                        description: 'Unique identifier representing the Group Phone Number. Type: string.'
                    Group Date Created:
                        type: string
                        description: 'Unique identifier representing the Group Date Created. Type: string.'
                    Group Date Modified:
                        type: string
                        description: 'Unique identifier representing the Group Date Modified. Type: string.'
                    Industry Name:
                        type: string
                        description: 'Unique identifier representing the Industry Name. Type: string.'
                    Route Name:
                        type: string
                        description: 'Unique identifier representing the Route Name. Type: string.'
                    Route ID:
                        type: integer
                        format: int32
                        description: 'Unique identifier representing the Route ID. Type: integer (int32).'
                    Route type:
                        type: integer
                        format: int32
                        description: 'Unique identifier representing the Call ID. Type: integer (int32).'
                    Route Group ID:
                        type: string
                        description: 'Unique identifier representing the Route Group ID. Type: string.'
                    Repeat Interval:
                        type: string
                        description: 'Unique identifier representing the Repeat Interval. Type: string.'
                    Route Status:
                        type: string
                        description: 'Unique identifier representing the Route Status. Type: string.'
                    Route Created:
                        type: string
                        description: 'Unique identifier representing the Route Created. Type: string.'
                    Route Modified:
                        type: string
                        description: 'Unique identifier representing the Route Modified. Type: string.'
                    Geo Location Name:
                        type: string
                        description: 'Unique identifier representing the Geo Location Name. Type: string.'
                    dni_logs:
                        type: object
                        description: dni_logs.
                    Indicators:
                        type: object
                        properties:
                            name:
                                type: integer
                                format: int32
                                description: 'Unique identifier representing the Indicator name. Type: integer (int32).'
                            score:
                                type: integer
                                format: int32
                                description: 'Unique identifier representing the Indicator Score. Type: integer (int32).'
                        description: Indicators.
                    static_param:
                        type: object
                        description: static_param.
                    Custom Source 1:
                        type: string
                        description: 'Unique identifier representing the Custom Source 1. Type: string.'
                    Custom Source 2:
                        type: string
                        description: 'Unique identifier representing the Custom Source 2. Type: string.'
                    Custom Source 3:
                        type: string
                        description: 'Unique identifier representing the Custom Source 3. Type: string.'
                    Custom Source 4:
                        type: string
                        description: 'Unique identifier representing the Custom Source 4. Type: string.'
                    Custom Source 5:
                        type: string
                        description: 'Unique identifier representing the Custom Source 5. Type: string.'
                    data_append:
                        type: object
                        description: data_append.
                description: Response payload. Shape varies by endpoint.
    CallResponse:
        type: object
        required:
            - result
            - data
        properties:
            result:
                type: string
                description: 'Outcome of the request. String, typically ''success'' or ''error''.'
            err:
                type: string
                description: Error message when result='error'. String. Empty/null on success.
            data:
                type: object
                allOf:
                    -
                        $ref: '#/definitions/Call'
                    -
                        $ref: '#/definitions/CallerName'
                    -
                        $ref: '#/definitions/CallDetail'
                    -
                        type: object
                        properties:
                            extended:
                                type: object
                                allOf:
                                    -
                                        $ref: '#/definitions/Extend'
                                description: 'extended. Type: object (allOf: Extend).'
                    -
                        type: object
                        properties:
                            tags:
                                type: array
                                items:
                                    $ref: '#/definitions/Tag'
                                description: 'tags. Type: array of object (Tag).'
                    -
                        type: object
                        properties:
                            indicators:
                                type: array
                                items:
                                    $ref: '#/definitions/Indicator'
                                description: 'indicators. Type: array of object (Indicator).'
                    -
                        type: object
                        properties:
                            dni_data:
                                $ref: '#/definitions/Dni'
                                description: 'dni_data. Type: object (Dni).'
                description: Response payload. Shape varies by endpoint.
    CallListResponse:
        type: array
        items:
            $ref: '#/definitions/CallList'
    CallDetailResponse:
        type: object
        allOf:
            -
                $ref: '#/definitions/Call'
            -
                $ref: '#/definitions/CallerName'
            -
                $ref: '#/definitions/CallDetail'
    CallDetailArchivedResponse:
        type: object
        allOf:
            -
                $ref: '#/definitions/Call'
            -
                $ref: '#/definitions/CallDetail'
    CallTranscriptionResponse:
        type: object
        allOf:
            -
                $ref: '#/definitions/CallList'
            -
                type: object
                properties:
                    transcription:
                        type: object
                        allOf:
                            -
                                $ref: '#/definitions/Transcription'
                        description: >-
                            Full text transcript of the call produced by Convirza ASR. String. May be empty if
                            call_mine_status != 'mined'.
    CallTranscriptionDetailResponse:
        type: object
        allOf:
            -
                $ref: '#/definitions/CallList'
            -
                type: object
                properties:
                    transcription_detail:
                        type: object
                        allOf:
                            -
                                $ref: '#/definitions/TranscriptionDetail'
                        description: 'transcription_detail. Type: object (allOf: TranscriptionDetail).'
    CallExtendResponse:
        type: object
        allOf:
            -
                $ref: '#/definitions/Call'
            -
                $ref: '#/definitions/CallerName'
            -
                type: object
                properties:
                    extended:
                        type: object
                        allOf:
                            -
                                $ref: '#/definitions/Extend'
                        description: 'extended. Type: object (allOf: Extend).'
    CallTagResponse:
        type: object
        allOf:
            -
                $ref: '#/definitions/Call'
            -
                type: object
                properties:
                    tags:
                        type: array
                        items:
                            $ref: '#/definitions/Tag'
                        description: 'tags. Type: array of object (Tag).'
    CallCustomSourceResponse:
        type: object
        allOf:
            -
                $ref: '#/definitions/Call'
            -
                type: object
                properties:
                    customsource:
                        type: array
                        items:
                            $ref: '#/definitions/CustomSourceInfo'
                        description: 'customsource. Type: array of object (CustomSourceInfo).'
    CallIndicatorResponse:
        type: object
        allOf:
            -
                $ref: '#/definitions/Call'
            -
                type: object
                properties:
                    agent:
                        type: string
                        description: 'The assigned agent to call. Type: string.'
                    scorecard:
                        type: string
                        description: 'The scorecard assigned to call. Type: string.'
                    outcome:
                        type: boolean
                        description: 'Outcome of the call. Type: boolean.'
                    indicators:
                        type: array
                        items:
                            $ref: '#/definitions/Indicator'
                        description: 'indicators. Type: array of object (Indicator).'
    CallDNIResponse:
        type: object
        allOf:
            -
                $ref: '#/definitions/Call'
            -
                type: object
                properties:
                    dni_data:
                        $ref: '#/definitions/Dni'
    Campaign:
        type: object
        required:
            - campaign_name
            - group_id
            - campaign_owner_user_id
            - campaign_start_date
        properties:
            campaign_id:
                type: integer
                format: int32
                description: Unique identifier for the campaign this call was attributed to. Integer.
            campaign_name:
                type: string
                minLength: 3
                description: Human-readable campaign name. String.
            campaign_ext_id:
                type: string
                description: Customer-provided external identifier for the campaign. Integer.
            campaign_status:
                type: string
                enum:
                    - active
                    - inactive
                    - suspended
                description: >-
                    The current status of the campaign. Type: enum (string); Allowed values: active, inactive,
                    suspended.
                default: active
            campaign_created:
                type: string
                format: date-time
                description: 'The date and time of when the campaign record was created. Type: string (date-time).'
            campaign_modified:
                type: string
                format: date-time
                description: 'A date and time stamp of the last time anything was modified on campaign. Type: string (date-time).'
            campaign_start_date:
                type: string
                format: date-time
                description: 'The date and time that the campaign is activated. Type: string (date-time).'
            campaign_end_date:
                type: string
                format: date-time
                description: 'The date and time at which the campaign will end. Type: string (date-time).'
            campaign_owner_user_id:
                type: integer
                format: int32
                minimum: 1
                description: 'The unique ID of the user that is the owner of the campaign. Type: integer (int32).'
            group_id:
                type: integer
                format: int32
                minimum: 1
                description: >-
                    Organization unit (group) ID the call/record belongs to. Integer. Used to scope data; see
                    /group/list for available group IDs.
            referral_service:
                type: object
                description: Referral Service.
                required:
                    - referral_enabled
                properties:
                    referral_enabled:
                        type: boolean
                        description: 'This enables/disables referral service. Type: boolean.'
                    ringto_phone_number:
                        type: integer
                        description: 'Phone number in referral recording if campaign is in referral state. Type: integer.'
    PostCampaign:
        type: object
        required:
            - campaign_name
            - group_id
            - campaign_owner_user_id
            - campaign_start_date
        properties:
            campaign_id:
                type: integer
                format: int32
                description: Unique identifier representing the campaign
            campaign_name:
                type: string
                minLength: 3
                description: Client defined name for the campaign
            campaign_ext_id:
                type: string
                description: A client provided identifier for the campaign
            campaign_status:
                type: string
                enum:
                    - active
                    - inactive
                description: The current status of the campaign
                default: active
            campaign_created:
                type: string
                format: date-time
                description: The date and time of when the campaign record was created
            campaign_modified:
                type: string
                format: date-time
                description: A date and time stamp of the last time anything was modified on campaign
            campaign_start_date:
                type: string
                format: date-time
                description: The date and time that the campaign is activated
            campaign_end_date:
                type: string
                description: The date and time at which the campaign will end or use 'never' for no end date
            campaign_owner_user_id:
                type: integer
                format: int32
                minimum: 1
                description: The unique ID of the user that is the owner of the campaign
            group_id:
                type: integer
                format: int32
                minimum: 1
                description: The unique group to which the campaign belongs to
            referral_service:
                type: object
                description: Referral Service
                required:
                    - referral_enabled
                properties:
                    referral_enabled:
                        type: boolean
                        description: This enables/disables referral service
                    ringto_phone_number:
                        type: integer
                        description: Phone number in referral recording if campaign is in referral state
    rules:
        type: array
        items:
            required:
                - data_field
                - operator
                - comparator
                - join_type
            properties:
                data_field:
                    type: string
                    enum:
                        - repeat call
                        - duration
                        - disposition
                        - caller id
                        - missed opportunity
                        - sales inquiry
                        - conversion
                        - lead quality
                        - referring
                        - referring type
                        - UTM Campaign
                        - UTM Source
                        - UTM Medium
                        - ring to phone number
                        - send to voicemail
                operator:
                    type: string
                    enum:
                        - '>'
                        - <
                        - '='
                        - '!='
                        - '>='
                        - <=
                        - is
                        - is not
                        - contains
                        - does not contain
                        - begins with
                        - ends with
                comparator:
                    type: string
                    maxLength: 250
                join_type:
                    type: string
                    enum:
                        - NONE
                        - AND
                        - OR
                    default: NONE
    createCallActions:
        type: object
        required:
            - provisioned_route_id
            - callActions
        properties:
            provisioned_route_id:
                type: integer
                format: int32
                description: 'provisioned_route_id. Type: integer (int32).'
            callActions:
                type: array
                items:
                    properties:
                        name:
                            type: string
                            minLength: 1
                            maxLength: 255
                            description: 'Display name for the call action. Type: string.'
                        rule:
                            $ref: '#/definitions/rules'
                            description: 'rule. Type: object (rules).'
                        action:
                            $ref: '#/definitions/createCallAction'
                            description: 'action. Type: object (createCallAction).'
                description: 'callActions. Type: array of object.'
    createCallAction:
        type: object
        required:
            - action
            - action_target
        properties:
            action:
                type: string
                enum:
                    - Send email alert to
                    - Tag call as
                    - Trigger the webhook
                    - Flag for call back
                    - Process call for DoubleClick
                    - Send call for Google Analytics
                    - Send SMS to
            action_target:
                type: string
            action_sms_target:
                $ref: '#/definitions/actionSMSTarget'
    actionSMSTarget:
        type: object
        required:
            - target_type
        properties:
            target_type:
                type: string
                enum:
                    - phone_number
                    - caller
                    - assigned_agent
                    - agent
            target_agent:
                type: array
                minItems: 1
                items:
                    type: number
                description: Array of user ids.
            target_number:
                type: string
            outbound_sms:
                type: string
            opt_out_sms:
                type: string
    updateCallAction:
        type: object
        required:
            - action_id
            - action
            - action_target
            - provisioned_route_id
        properties:
            action_id:
                type: integer
                format: int32
            action:
                type: string
                enum:
                    - Send email alert to
                    - Send SMS to
                    - Tag call as
                    - Trigger the webhook
                    - Flag for call back
                    - Process call for DoubleClick
                    - Send call for Google Analytics
            action_target:
                type: string
            provisioned_route_id:
                type: integer
                format: int32
                description: The unique identifier for the route to which the number is associated
            name:
                type: string
                minLength: 1
                maxLength: 255
                description: Display name for the call action
            action_sms_target:
                $ref: '#/definitions/actionSMSTarget'
    Webhook:
        type: object
        required:
            - webhook_status
            - webhook_Name
            - org_unit_id
            - webhook_Endpoint
            - method
            - format
        properties:
            webhook_status:
                type: string
                enum:
                    - active
                    - inactive
                description: 'The current status of webhook. Type: enum (string); Allowed values: active, inactive.'
                default: active
            org_unit_id:
                type: integer
                format: int32
                minimum: 1
                description: Organization unit (group) ID. Integer. Same concept as group_id; used in newer endpoints.
            webhook_Name:
                type: string
                minLength: 3
                description: 'Name of the Webhook. Type: string.'
            description:
                type: string
                minLength: 3
                description: 'Description of Webhook. Type: string.'
            webhook_Endpoint:
                type: string
                minLength: 3
                description: 'End Point URl saved with webhook , where response is received. Type: string.'
                pattern: '(https?:\/\/(?:www\.|(?!www))[^\s\.]+\.[^\s]{2,}|www\.[^\s]+\.[^\s]{2,})'
            method:
                type: string
                enum:
                    - POST
                    - PUT
                description: 'type of method. Type: enum (string); Allowed values: POST, PUT.'
                default: POST
            format:
                type: string
                enum:
                    - JSON
                    - XML
                    - XML_NEW
                    - XML_CQM
                    - FORM-URLENCODED
                description: 'type of format. Type: enum (string); Allowed values: JSON, XML, XML_NEW, XML_CQM, FORM-URLENCODED.'
                default: JSON
            include_Data_Append:
                type: boolean
                description: 'This enables user to see Data Append of call in response. Type: boolean.'
                default: false
            include_DNI_Logs:
                type: boolean
                description: >-
                    This enables user to see DNI setting of the call flow in response whom with webhook is attached.
                    Type: boolean.
                default: false
            include_Indicator_Scores:
                type: boolean
                description: 'This enables user to see indicator scores of call in response. Type: boolean.'
                default: false
            static_Parameter:
                type: array
                description: 'Extra parameters required to be displayed in response. Type: array of object.'
                items:
                    properties:
                        field_Name:
                            type: string
                            minLength: 1
                            description: 'Name of static parameter. Type: string.'
                        field_Value:
                            type: string
                            minLength: 1
                            description: 'Value of static parameter. Type: string.'
            include_IVR_Keypresses:
                type: boolean
                description: 'This enables user to see ivr keypresses of call in response. Type: boolean.'
                default: false
    WebhookUpd:
        type: object
        required:
            - webhook_id
        properties:
            webhook_id:
                type: integer
                format: int32
                minimum: 1
                description: 'ID Of the respective webhook. Type: integer (int32).'
            webhook_status:
                type: string
                enum:
                    - active
                    - inactive
                description: 'Status of webhook. Type: enum (string); Allowed values: active, inactive.'
                default: active
            webhook_Name:
                type: string
                minLength: 3
                description: 'Name of the Webhook. Type: string.'
            description:
                type: string
                minLength: 3
                description: 'Description of the Webhook. Type: string.'
            webhook_Endpoint:
                type: string
                minLength: 3
                description: 'End Point URl saved with webhook , where response is received. Type: string.'
                pattern: '^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$'
            method:
                type: string
                enum:
                    - POST
                    - PUT
                description: 'Type of method. Type: enum (string); Allowed values: POST, PUT.'
                default: POST
            format:
                type: string
                enum:
                    - JSON
                    - XML
                    - XML_NEW
                    - XML_CQM
                    - FORM-URLENCODED
                description: 'Type of format. Type: enum (string); Allowed values: JSON, XML, XML_NEW, XML_CQM, FORM-URLENCODED.'
                default: JSON
            include_Data_Append:
                type: boolean
                description: 'This enables user to see Data Append of call in response. Type: boolean.'
                default: false
            include_DNI_Logs:
                type: boolean
                description: >-
                    This enables user to see DNI setting of the call flow in response whom with webhook is attached.
                    Type: boolean.
                default: false
            include_Indicator_Scores:
                type: boolean
                description: 'This enables user to see indicator scores of call in response. Type: boolean.'
                default: false
            static_Parameter:
                type: array
                description: 'Extra parameters required to be displayed in response. Type: array of object.'
                items:
                    properties:
                        field_Name:
                            type: string
                            minLength: 1
                            description: 'Name of static parameter. Type: string.'
                        field_Value:
                            type: string
                            minLength: 1
                            description: 'Value of static parameter. Type: string.'
            include_IVR_Keypresses:
                type: boolean
                description: 'This enables user to see ivr keypresses of call in response. Type: boolean.'
                default: false
    CampaignUser:
        type: object
        properties:
            campaign_users:
                type: array
                items:
                    type: integer
                    format: int32
                    description: The unique identifier for a users account
                    minimum: 1
    CampaignMin:
        type: object
        properties:
            campaign_id:
                type: integer
                format: int32
                description: The unique identifier for a campaign
    CampaignOwner:
        type: object
        properties:
            owner_fname:
                type: string
                description: 'The first name of the campaign owner. Type: string.'
            owner_lname:
                type: string
                description: 'The last name of the campaign owner. Type: string.'
    User:
        type: object
        required:
            - first_name
            - last_name
            - user_email
            - role_id
            - group_id
        properties:
            ct_user_id:
                type: integer
                format: int32
                description: Convirza user ID (platform user). Integer. Primary key of ct_user table.
            user_ext_id:
                type: string
                description: 'An external identifier set for user. Type: string.'
            first_name:
                type: string
                description: 'The users first name. Type: string.'
            last_name:
                type: string
                description: 'The users last name. Type: string.'
            user_title:
                type: string
                description: 'The title given to the user. Type: string.'
            user_status:
                type: string
                enum:
                    - active
                    - inactive
                    - suspended
                default: active
                description: 'user_status. Type: enum (string); Allowed values: active, inactive, suspended.'
            role_id:
                type: integer
                format: int32
                description: 'The user account type set for user. Type: integer (int32).'
                maximum: 4
                minimum: 1
                default: 1
            group_id:
                type: integer
                format: int32
                description: >-
                    Organization unit (group) ID the call/record belongs to. Integer. Used to scope data; see
                    /group/list for available group IDs.
                minimum: 1
            user_email:
                type: string
                description: 'The users e-mail address / login. Type: string.'
            password:
                type: string
                format: password
                description: 'The password for the user account. Type: string (password).'
                minLength: 8
            aliases:
                type: string
                description: 'Comma separated list of user alias. Type: string.'
            timezone:
                type: string
                enum:
                    - America/Halifax
                    - America/New_York
                    - America/Chicago
                    - America/Denver
                    - America/Phoenix
                    - America/Los_Angeles
                    - utc
                description: >-
                    The users timezone. Type: enum (string); Allowed values: America/Halifax, America/New_York,
                    America/Chicago, America/Denver, America/Phoenix, America/Los_Angeles, utc.
    Route:
        type: object
        properties:
            call_flow_id:
                type: integer
                format: int32
                description: >-
                    Unique identifier for the call flow/route definition the call was answered by. Integer. Maps to
                    call_flow.call_flow_id.
            route_type:
                type: string
                enum:
                    - ringto
                    - simple
                    - ivr
                    - geo
                description: 'route_type. Type: enum (string); Allowed values: ringto, simple, ivr, geo.'
            call_flow_name:
                type: string
                description: Human-readable name of the call flow/route. String.
            call_flow_created:
                type: string
                format: date-time
                description: 'call_flow_created. Type: string (date-time).'
            call_flow_modified:
                type: string
                format: date-time
                description: 'call_flow_modified. Type: string (date-time).'
            call_flow_status:
                type: string
                enum:
                    - active
                    - inactive
                    - suspended
                default: active
                description: 'call_flow_status. Type: enum (string); Allowed values: active, inactive, suspended.'
            repeat_interval:
                type: integer
                format: int32
                description: 'repeat_interval. Type: integer (int32).'
            call_value:
                type: string
                description: >-
                    Monetary value assigned to the call by scoring/analytics. Integer (cents or whole dollars depending
                    on account config).
    UserDataPost:
        type: object
        required:
            - first_name
            - last_name
            - user_email
            - role
            - timezone
        properties:
            group_id:
                type: integer
                format: int32
                description: The group ID to which the user should belong to
                minimum: 1
            group_ext_id:
                type: string
                description: An external identifier set for group
            first_name:
                type: string
                description: The users first name
            last_name:
                type: string
                description: The users last name
            user_email:
                type: string
                description: The users e-mail address / login
            user_ext_id:
                type: string
                description: The users external id
            ring_to:
                type: integer
                format: int32
                description: The full ring-to number
                minimum: 0
                maximum: 9999999999
            agent_id:
                type: integer
                format: int32
                description: An external identifier set for user
                minimum: 0
                maximum: 999999999
            role:
                type: string
                enum:
                    - Admin
                    - Standard
                    - Read-Only
                    - Identified-only
                description: The user account type set for user
            user_status:
                type: string
                enum:
                    - active
                    - inactive
                default: active
            aliases:
                type: string
                description: Optional comma separated list of user alias
            timezone:
                type: string
                enum:
                    - America/Halifax
                    - America/New_York
                    - America/Chicago
                    - America/Denver
                    - America/Phoenix
                    - America/Los_Angeles
                    - utc
                description: The users timezone
    UserDataPut:
        type: object
        required:
            - first_name
            - last_name
            - user_email
            - role
            - timezone
        properties:
            ct_user_id:
                type: integer
                format: int32
                description: The unique identifier for the user account
            group_id:
                type: integer
                format: int32
                description: The group ID to which the user should belong to
                minimum: 1
            agent_id:
                type: integer
                format: int32
                description: An external identifier set for user
                minimum: 0
                maximum: 999999999
            first_name:
                type: string
                description: The users first name
            last_name:
                type: string
                description: The users last name
            user_email:
                type: string
                description: The users e-mail address / login
            ring_to:
                type: integer
                format: int32
                description: The full ring-to number
                minimum: 0
                maximum: 9999999999
            role:
                type: string
                enum:
                    - Admin
                    - Standard
                    - Read-Only
                    - Identified-only
                description: The user account type set for user
            user_status:
                type: string
                enum:
                    - active
                    - inactive
                default: active
            aliases:
                type: string
                description: Optional comma separated list of user alias
            timezone:
                type: string
                enum:
                    - America/Halifax
                    - America/New_York
                    - America/Chicago
                    - America/Denver
                    - America/Phoenix
                    - America/Los_Angeles
                    - utc
                description: The users timezone
    CampaignResponse:
        type: object
        allOf:
            -
                $ref: '#/definitions/CampaignListResponse'
            -
                type: object
                properties:
                    campaign_routes:
                        type: array
                        items:
                            $ref: '#/definitions/Route'
                        description: 'campaign_routes. Type: array of object (Route).'
            -
                type: object
                properties:
                    campaign_users:
                        type: array
                        items:
                            $ref: '#/definitions/User'
                        description: 'campaign_users. Type: array of object (User).'
    CampaignUserResponse:
        type: object
        allOf:
            -
                $ref: '#/definitions/Campaign'
            -
                type: object
                properties:
                    campaign_users:
                        type: array
                        items:
                            $ref: '#/definitions/User'
                        description: 'campaign_users. Type: array of object (User).'
    CampaignRouteResponse:
        type: object
        allOf:
            -
                $ref: '#/definitions/Campaign'
            -
                type: object
                properties:
                    campaign_routes:
                        type: array
                        items:
                            $ref: '#/definitions/Route'
    CampaignListResponse:
        allOf:
            -
                $ref: '#/definitions/Campaign'
            -
                $ref: '#/definitions/CampaignOwner'
    CampaignPost:
        type: object
        allOf:
            -
                $ref: '#/definitions/PostCampaign'
            -
                $ref: '#/definitions/CampaignUser'
    WebhookPost:
        type: object
        required:
            - org_unit_id
        allOf:
            -
                $ref: '#/definitions/Webhook'
    WebhookUpdate:
        type: object
        allOf:
            -
                $ref: '#/definitions/WebhookUpd'
    sendsms:
        type: object
        required:
            - destination_number
            - message
        properties:
            campaign_id:
                type: integer
                format: int32
                example: 4421
                description: Unique identifier for the campaign this call was attributed to. Integer.
            tracking_number:
                type: string
                description: >-
                    Phone number the caller dialed (the tracking/DNI number). Convirza routes calls from this number
                    through the configured call flow. String of digits.
                example: '+13856254524'
                minLength: 10
                maxLength: 12
            destination_number:
                type: string
                description: 'destination number to which sms should be sent. Type: string.'
                example: '+13856254524'
                minLength: 10
                maxLength: 12
            message:
                type: string
                description: >-
                    SMS message body. String. Max length set by carrier (typically 160 chars for single-segment, up to
                    1600 for concatenated).
                example: this a test message
                minLength: 1
                maxLength: 1600
            sms_type:
                type: string
                enum:
                    - outgoing
                    - incoming
                default: outgoing
                description: 'sms_type. Type: enum (string); Allowed values: outgoing, incoming.'
            send_opt_in_msg:
                type: boolean
                description: 'Indicates whether the opt-in messages to be sent or not. Type: boolean.'
                default: false
            opt_in_msg:
                type: string
                description: 'content of the otp-in message to the customer to be sent. Type: string.'
                example: 'Welcome to agency, thank you for connecting to us.'
            agent_notification:
                type: string
                description: 'content of the agent notification to be sent. Type: string.'
                example: This is lead coming from our website
    sendsmsresponse:
        type: object
        required:
            - result
        properties:
            result:
                type: string
                description: 'Outcome of the request. String, typically ''success'' or ''error''.'
                example: success
            err:
                type: string
                description: Error message if result is error. Null if successful.
            data:
                type: object
                description: SMS message identifiers for tracking and reference
                required:
                    - sms_id
                    - conversation_id
                properties:
                    sms_id:
                        type: string
                        description: 'Unique identifier for the sent SMS message. Use this to track delivery status and identify individual messages. String representation of integer ID.'
                        example: "11551"
                    conversation_id:
                        type: integer
                        format: int32
                        description: 'Unique identifier for the SMS conversation thread. Multiple messages between the same parties share the same conversation_id.'
                        example: 3273
    getsms:
        type: object
        properties:
            conversation_id:
                type: integer
                format: int32
                example: 4421
                description: 'The unique identifier for the conversation. Type: integer (int32).'
            campaign_id:
                type: integer
                format: int32
                example: 4421
                description: Unique identifier for the campaign this call was attributed to. Integer.
            group_id:
                type: integer
                format: int32
                example: 4421
                description: >-
                    Organization unit (group) ID the call/record belongs to. Integer. Used to scope data; see
                    /group/list for available group IDs.
            tracking_number:
                type: string
                description: >-
                    Phone number the caller dialed (the tracking/DNI number). Convirza routes calls from this number
                    through the configured call flow. String of digits.
                example: '+13856254524'
                minLength: 10
                maxLength: 12
            caller_id:
                type: string
                description: >-
                    Phone number of the originating caller. String of digits, typically 10 digits for US numbers (e.g.,
                    '2025550123').
                example: '+13856254524'
                minLength: 10
                maxLength: 12
            conversation_started:
                type: string
                format: date-time
                description: 'The date and time that the conversation was started. Type: string (date-time).'
            message:
                type: string
                description: >-
                    SMS message body. String. Max length set by carrier (typically 160 chars for single-segment, up to
                    1600 for concatenated).
                example: this a test message
                minLength: 1
                maxLength: 1600
            conversation_status:
                type: string
                description: 'Indicates the current status of the conversation. Type: string.'
            pin:
                type: boolean
                description: 'Indicates whether the pin is required or not. Type: boolean.'
            agent_id:
                type: integer
                format: int32
                example: 4421
                description: 'The unique identifier for the agent assigned to the conversation. Type: integer (int32).'
    addContactNumbers:
        type: object
        required:
            - numbers
        properties:
            numbers:
                type: array
                description: 'Array of contact objects to be added to the contact list. Type: array of object.'
                minItems: 1
                items:
                    type: object
                    required:
                        - contact_name
                        - phone_number
                    properties:
                        contact_name:
                            type: string
                            description: 'Name of the contact. Type: string.'
                            example: John
                            minLength: 1
                        country_code:
                            type: string
                            description: 'Country code for the phone number (must be +1). Type: string.'
                            example: '+1'
                            pattern: ^\+1$
                        phone_number:
                            type: string
                            description: Phone number as a string of digits. Typically 10 digits for US numbers.
                            example: '1234567890'
                            pattern: '^\d{10}$'
                            minLength: 10
                            maxLength: 10
            status:
                type: string
                description: >-
                    Status of the contacts (defaults to 'active'). Type: enum (string); Allowed values: active,
                    inactive, deleted.
                enum:
                    - active
                    - inactive
                    - deleted
                default: active
    addContactNumbersResponse:
        type: object
        properties:
            status:
                type: string
                description: 'Status of the operation. Type: string.'
                example: success
            message:
                type: string
                description: >-
                    SMS message body. String. Max length set by carrier (typically 160 chars for single-segment, up to
                    1600 for concatenated).
                example: Contact numbers added successfully
            inserted:
                type: integer
                description: 'Number of contacts inserted. Type: integer.'
                example: 5
            duplicates:
                type: array
                description: 'Array of duplicate contacts found (if any). Type: array of object.'
                items:
                    type: object
                    properties:
                        country_code:
                            type: string
                            description: 'country_code. Type: string.'
                        phone_number:
                            type: number
                            description: Phone number as a string of digits. Typically 10 digits for US numbers.
    updateContactList:
        type: object
        required:
            - contact_list_name
        properties:
            contact_list_name:
                type: string
                description: 'Name of the contact list. Type: string.'
                example: My Contact List
                minLength: 1
                maxLength: 255
            contact_list_description:
                type: string
                description: 'Description of the contact list. Type: string.'
                example: This is a list of important contacts
                maxLength: 500
    updateContactListResponse:
        type: object
        properties:
            status:
                type: string
                description: 'Status of the operation. Type: string.'
                example: success
            message:
                type: string
                description: >-
                    SMS message body. String. Max length set by carrier (typically 160 chars for single-segment, up to
                    1600 for concatenated).
                example: Contact list updated successfully
            error:
                type: string
                description: 'Error message if operation failed. Type: string.'
                example: Invalid contact list ID
    CampaignUserPost:
        type: object
        required:
            - campaign_id
        allOf:
            -
                $ref: '#/definitions/CampaignMin'
            -
                $ref: '#/definitions/CampaignUser'
    ProvisionedRoute:
        type: object
        required:
            - call_flow_name
            - channel_id
        properties:
            call_flow_id:
                type: integer
                format: int32
                description: >-
                    Unique identifier for the call flow/route definition the call was answered by. Integer. Maps to
                    call_flow.call_flow_id.
            call_flow_name:
                type: string
                description: Human-readable name of the call flow/route. String.
                minLength: 1
                maxLength: 50
            call_flow_created:
                type: string
                format: date-time
                description: 'The date and time that the call flow was created. Type: string (date-time).'
            call_flow_status:
                type: string
                enum:
                    - active
                    - inactive
                default: active
                description: 'call_flow_status. Type: enum (string); Allowed values: active, inactive.'
            repeat_interval:
                type: integer
                format: int32
                description: 'The amount of minutes before the route can be used again. Type: integer (int32).'
                default: 72
            call_value:
                type: integer
                format: int32
                description: >-
                    Monetary value assigned to the call by scoring/analytics. Integer (cents or whole dollars depending
                    on account config).
            channel_id:
                type: integer
                format: int32
                description: >-
                    Unique identifier for the marketing channel tagged on this call. Integer. See /misc/channel for
                    available channels.
                default: 7
    ProvisionedRouteWithCampign:
        type: object
        required:
            - call_flow_name
            - channel_id
        properties:
            call_flow_id:
                type: integer
                format: int32
                description: >-
                    Unique identifier for the call flow/route definition the call was answered by. Integer. Maps to
                    call_flow.call_flow_id.
            call_flow_name:
                type: string
                description: Human-readable name of the call flow/route. String.
                minLength: 1
                maxLength: 50
            call_flow_created:
                type: string
                format: date-time
                description: 'The date and time that the call flow was created. Type: string (date-time).'
            call_flow_status:
                type: string
                enum:
                    - active
                    - inactive
                default: active
                description: 'call_flow_status. Type: enum (string); Allowed values: active, inactive.'
            campaign_id:
                type: integer
                format: int32
                description: Unique identifier for the campaign this call was attributed to. Integer.
            campaign_name:
                type: string
                description: Human-readable campaign name. String.
                minLength: 1
                maxLength: 200
            campaign_ext_id:
                type: string
                description: Customer-provided external identifier for the campaign. Integer.
            repeat_interval:
                type: integer
                format: int32
                description: 'The amount of minutes before the route can be used again. Type: integer (int32).'
                default: 72
            call_value:
                type: integer
                format: int32
                description: >-
                    Monetary value assigned to the call by scoring/analytics. Integer (cents or whole dollars depending
                    on account config).
            channel_id:
                type: integer
                format: int32
                description: >-
                    Unique identifier for the marketing channel tagged on this call. Integer. See /misc/channel for
                    available channels.
                default: 7
    CallflowCustomSourcesGetResponse:
        type: object
        properties:
            custom_source_type_1:
                $ref: '#/definitions/CallflowCustomSource'
            custom_source_type_2:
                $ref: '#/definitions/CallflowCustomSource'
            custom_source_type_3:
                $ref: '#/definitions/CallflowCustomSource'
            custom_source_type_4:
                $ref: '#/definitions/CallflowCustomSource'
            custom_source_type_5:
                $ref: '#/definitions/CallflowCustomSource'
    CallflowCustomSource:
        type: object
        required:
            - custom_source_id
            - custom_source_name
            - org_unit_id
        properties:
            custom_source_id:
                type: integer
                format: int32
                description: The unique identifier for the custom source
            custom_source_name:
                type: string
                description: Name of the custom source
            org_unit_id:
                type: integer
                format: int32
                description: The unique identifier for the group of custom source
    ChannelStub:
        type: object
        properties:
            channel_category:
                type: string
                description: 'Top-level marketing channel category (e.g., ''Paid Search'', ''Organic'', ''Social'').'
            channel_sub_category:
                type: string
                description: 'Sub-category within the parent channel (e.g., ''Google'', ''Bing'').'
            channel:
                type: string
                description: 'Human-readable channel label derived from category + sub_category (e.g., ''Paid Search - Google'').'
    CallflowBase:
        type: object
        required:
            - group_id
            - routable_type
        properties:
            dnis:
                type: string
                description: 'The unique ID assigned to an group for use with DNI. Type: string.'
            message_enabled:
                type: boolean
                description: 'Indicates whether the message feature is enabled or not. Type: boolean.'
                default: false
            message:
                type: string
                description: >-
                    SMS message body. String. Max length set by carrier (typically 160 chars for single-segment, up to
                    1600 for concatenated).
            default_ringto:
                type: string
                description: 'The default number to route to for a call flow should be 10 number. Type: string.'
                minLength: 10
                maxLength: 10
            group_id:
                type: integer
                format: int32
                description: >-
                    Organization unit (group) ID the call/record belongs to. Integer. Used to scope data; see
                    /group/list for available group IDs.
            email_to_notify:
                type: string
                description: 'The e-mail address(es) to notify for call flow. Type: string.'
            play_disclaimer:
                type: string
                description: >-
                    Identifies whether to play the disclaimer message or not. Type: enum (string); Allowed values:
                    before, after, never.
                enum:
                    - before
                    - after
                    - never
            created_at:
                type: string
                format: date-time
                description: 'The date and time at which the call flow was created. Type: string (date-time).'
            updated_at:
                type: string
                format: date-time
                description: 'The date and time at which the call flow was last updated. Type: string (date-time).'
            voicemail_greeting:
                type: string
                description: 'The greeting to play if voicemail feature is enabled. Type: string.'
            voicemail_enabled:
                type: boolean
                description: 'Indicates whether or not to use the voice mail feature. Type: boolean.'
                default: false
            voicemail_rings:
                type: integer
                format: int32
                description: >-
                    The unique identifier for the rings for Voicemail (1-10). Filter will not apply for voicemail_rings.
                    Type: integer (int32).
                minimum: 1
                maximum: 10
            routable_id:
                type: integer
                format: int32
                description: 'The routable_id is used to get route info. Type: integer (int32).'
            routable_type:
                type: string
                enum:
                    - SimpleRoute
                    - IvrRoute2
                    - PercentageBasedRoute
                    - ScheduleRoute
                    - GeoRoute
                    - OutboundRoute
                    - HangupRoute
                default: IvrRoute2
                description: >-
                    routable_type. Type: enum (string); Allowed values: SimpleRoute, IvrRoute2, PercentageBasedRoute,
                    ScheduleRoute, GeoRoute, OutboundRoute, HangupRoute.
            webhook_enabled:
                type: boolean
                description: 'Indicates whether or not a call flow uses webhooks. Type: boolean.'
                default: false
            record_until:
                type: string
                format: date-time
                description: 'The date and time to record until. Type: string (date-time).'
            whisper_enabled:
                type: boolean
                description: 'Indicates whether or not whisper messaging is enabled. Type: boolean.'
                default: false
            whisper_message:
                type: string
                description: 'The message that should be played for the whisper or unique reference id. Type: string.'
            ring_delay:
                type: integer
                format: int32
                description: 'The number of seconds to delay before ringing. Type: integer (int32).'
            postcall_ivr_enabled:
                type: boolean
                description: 'Indicates whether call flow has post call routing actions enabled. Type: boolean.'
                default: false
            postcall_ivr_id:
                type: integer
                format: int32
                description: 'The unique identifier for the post call action to take. Type: integer (int32).'
            spam_threshold:
                type: integer
                format: int32
                description: 'The threshold level of tolerance to allow on spam (0-5). Type: integer (int32).'
                minimum: 0
                maximum: 5
            spam_filter_enabled:
                type: boolean
                description: 'Determines whether or not spam filtering is enabled. Type: boolean.'
                default: false
            referral_number:
                type: string
                description: 'The referral number to route to for a call flow if call flow is in referral state. Type: string.'
                maxLength: 10
            referral_end_date:
                type: string
                format: date-time
                description: >-
                    The referral date to route to for a call flow if call flow is in referral state. Type: string
                    (date-time).
            record_call_enabled:
                type: boolean
                description: >-
                    Enable/disable record call feature, play_disclaimer and record_until takes precedence. Type:
                    boolean.
    Callflow:
        type: object
        allOf:
            -
                $ref: '#/definitions/ProvisionedRoute'
            -
                $ref: '#/definitions/ChannelStub'
            -
                $ref: '#/definitions/CallflowBase'
            -
                $ref: '#/definitions/HuntType'
            -
                type: object
                properties:
                    overflowNumbers:
                        type: array
                        items:
                            $ref: '#/definitions/overflowNumbers'
                        description: 'overflowNumbers. Type: array of object (overflowNumbers).'
    Simultaneous:
        type: object
        properties:
            isSimultaneous:
                type: boolean
                description: >-
                    The isSimultaneous is used to create hunt type for a call flow and its mandatory when you are adding
                    overflowNumbers in call flow
                default: false
    HuntType:
        type: object
        properties:
            hunt_type:
                type: string
                description: 'This is uniquely identified the hunt type for a call flow. Type: string.'
    GeoRoute:
        type: object
        properties:
            geo_route:
                type: object
                required:
                    - radius
                properties:
                    play_branding:
                        type: boolean
                        description: 'Indicates whether or not to play branding message. Type: boolean.'
                        default: false
                    radius:
                        type: integer
                        format: int32
                        description: 'Defines the radius in miles. Type: integer (int32).'
                        minimum: 1
                        maximum: 3200
                    strategy:
                        type: string
                        enum:
                            - Claimed
                            - Npa
                            - Zipcode
                        default: Npa
                        description: >-
                            Indicates the method used for the geo route. Type: enum (string); Allowed values: Claimed,
                            Npa, Zipcode.
                    allow_manual_entry:
                        type: boolean
                        description: 'Indicates whether or not to allow manual entry. Type: boolean.'
                    options:
                        type: array
                        items:
                            type: object
                            required:
                                - geo_target_did
                            properties:
                                geo_target_did:
                                    type: integer
                                    format: int32
                                    description: 'The target phone number to be used. Type: integer (int32).'
                                    minLength: 10
                                    maxLength: 10
                                latitude:
                                    type: number
                                    format: float
                                    description: 'The geospatial horizontal location of the route. Type: number (float).'
                                longitude:
                                    type: number
                                    format: float
                                    description: 'The geospatial vertical location of the route. Type: number (float).'
                                address:
                                    type: string
                                    description: Caller's street address. String.
                                    maxLength: 100
                                city:
                                    type: string
                                    description: Caller's city (from caller-ID/location lookup). String.
                                    maxLength: 100
                                geo_created_at:
                                    type: string
                                    format: date-time
                                    description: 'The date and time when the geo location was created. Type: string (date-time).'
                                geo_updated_at:
                                    type: string
                                    format: date-time
                                    description: 'The date and time the geo location was last updated. Type: string (date-time).'
                        description: 'options. Type: array of object.'
                description: geo_route.
    IvrRoute:
        type: object
        properties:
            ivr_route:
                type: object
                properties:
                    repeat_greeting:
                        type: boolean
                        description: 'Indicates whether or not to repeat the greeting. Type: boolean.'
                    options:
                        type: array
                        items:
                            type: object
                            properties:
                                ivr_option_id:
                                    type: integer
                                    format: int32
                                    description: 'Unique identifier. Type: integer (int32).'
                                value:
                                    type: integer
                                    format: int32
                                    description: 'Specifies which number was pressed for this option. Type: integer (int32).'
                                ivr_target_did:
                                    type: integer
                                    format: int32
                                    description: 'The target phone number to use for this option. Type: integer (int32).'
                                ivr_email_to_notify:
                                    type: string
                                    description: 'The e-mail address(es) to notify for option. Type: string.'
                                ivr_play_disclaimer:
                                    type: boolean
                                    description: 'Indicates whether or not to play the disclaimer for this option. Type: boolean.'
                                ivr_record_enabled:
                                    type: boolean
                                    description: 'Indicates whether or not recording is enabled for this option. Type: boolean.'
                                ivr_voicemail_enabled:
                                    type: boolean
                                    description: >-
                                        Indicates whether or not the voice mail feature is enabled for this option.
                                        Type: boolean.
                                ivr_webhook_enabled:
                                    type: boolean
                                    description: 'Indicates whether or not webhooks are enabled for this option. Type: boolean.'
                                ivr_message_enabled:
                                    type: boolean
                                    description: 'Indicates whether or not a message is enabled for this option. Type: boolean.'
                                ivr_message:
                                    type: string
                                    description: 'The message to play for this option if enabled. Type: string.'
                                ivr_whisper_enabled:
                                    type: boolean
                                    description: >-
                                        Indicates whether or not whisper messaging is enabled for this option. Type:
                                        boolean.
                                ivr_whisper_message:
                                    type: string
                                    description: 'The whisper message to play if enabled. Type: string.'
                                ivr_created_at:
                                    type: string
                                    format: date-time
                                    description: 'The date and time when this IVR option was created. Type: string (date-time).'
                                ivr_updated_at:
                                    type: string
                                    format: date-time
                                    description: >-
                                        The date and time when this IVR option was last updated. Type: string
                                        (date-time).
                        description: 'options. Type: array of object.'
                description: ivr_route.
    PercentageRoute:
        type: object
        properties:
            percentage_route:
                type: array
                items:
                    type: object
                    properties:
                        percentage:
                            type: integer
                            format: int32
                            description: 'The whole number value of the percentage amount. Type: integer (int32).'
                        per_target_did:
                            type: integer
                            description: 'The target phone number for this percentage route. Type: integer.'
                description: 'percentage_route. Type: array of object.'
    ScheduleRoute:
        type: object
        properties:
            schedule_route:
                type: object
                properties:
                    timezone:
                        type: integer
                        format: int32
                        description: 'Timezone value as the number of hour from Greenwhich Mean Time. Type: integer (int32).'
                    options:
                        type: array
                        items:
                            type: object
                            properties:
                                sch_target_did:
                                    type: integer
                                    format: int32
                                    description: 'The target phone number for this schedule option. Type: integer (int32).'
                                day:
                                    type: integer
                                    format: int32
                                    description: 'The number of days for the schedule option. Type: integer (int32).'
                                from_time:
                                    type: integer
                                    format: int32
                                    description: >-
                                        The time as military hour and minute for the beginning of the schedule option.
                                        Type: integer (int32).
                                to_time:
                                    type: integer
                                    format: int32
                                    description: >-
                                        The time as military hour and minte for the end of the schedule option. Type:
                                        integer (int32).
                                sch_created_at:
                                    type: string
                                    format: date-time
                                    description: >-
                                        The date and time when the schedule option was created. Type: string
                                        (date-time).
                                sch_updated_at:
                                    type: string
                                    format: date-time
                                    description: >-
                                        The date and time when the schedule option was last updated. Type: string
                                        (date-time).
                        description: 'options. Type: array of object.'
                description: schedule_route.
    OutboundRoute:
        type: object
        properties:
            outbound:
                type: object
                properties:
                    set_caller_id:
                        type: string
                        description: 'Caller Number set for outbound call. Type: string.'
                    pin:
                        type: string
                        description: 'Authentication pin code. Type: string.'
                description: outbound.
    Routes:
        type: array
        items:
            $ref: '#/definitions/RoutesObject'
    RoutesObject:
        type: object
        allOf:
            -
                $ref: '#/definitions/GeoRoute'
            -
                $ref: '#/definitions/IvrRoute'
            -
                $ref: '#/definitions/PercentageRoute'
            -
                $ref: '#/definitions/ScheduleRoute'
            -
                $ref: '#/definitions/OutboundRoute'
    overflowNumbers:
        type: object
        required:
            - overflowNumber
            - rings
        properties:
            overflowNumber:
                type: integer
                format: int32
                description: 'The unique identifier for the overflowNumber. Type: integer (int32).'
                minimum: 999999999
                exclusiveMinimum: true
            rings:
                type: integer
                format: int32
                description: 'The unique identifier for the rings for overflowNumber. Type: integer (int32).'
                minimum: 1
    Location:
        type: object
        required:
            - group_id
            - location_name
        properties:
            location_id:
                type: integer
                format: int32
                description: 'The unique identifier for the location record. Type: integer (int32).'
            group_id:
                type: integer
                format: int32
                description: >-
                    Organization unit (group) ID the call/record belongs to. Integer. Used to scope data; see
                    /group/list for available group IDs.
                minimum: 1
            location_name:
                type: string
                description: 'User defined name for the location. Type: string.'
                minLength: 1
            location_active:
                type: boolean
                description: 'Whether or not the location is currently active. Type: boolean.'
                default: true
            location_created:
                type: string
                format: date-time
                description: 'The date and time when the location record was created. Type: string (date-time).'
            location_modified:
                type: string
                format: date-time
                description: 'The date and time when the location record was last updated. Type: string (date-time).'
            routes:
                type: array
                items:
                    type: object
                    required:
                        - route_location
                        - route_zip
                    properties:
                        location_route_id:
                            type: integer
                            format: int32
                            description: 'The unique identifier for the location route record. Type: integer (int32).'
                        location_id:
                            type: integer
                            format: int32
                            description: >-
                                The unique identifier for the location record which the route belongs to. Type: integer
                                (int32).
                        route_location:
                            type: string
                            description: 'The user given name for the location route. Type: string.'
                            minLength: 1
                            maxLength: 100
                        route_address:
                            type: string
                            description: 'The street address of the location route. Type: string.'
                            maxLength: 100
                        route_city:
                            type: string
                            description: 'The city for the location route. Type: string.'
                            maxLength: 100
                        route_state:
                            type: string
                            description: 'The state or province for the location route. Type: string.'
                            maxLength: 2
                            minLength: 2
                        route_zip:
                            type: string
                            description: 'The zipcode for the location route. Type: string.'
                            minLength: 5
                            maxLength: 5
                        route_target:
                            type: integer
                            format: int64
                            description: 'A phone number that is the target for this route. Type: integer (int64).'
                            minLength: 10
                            maxLength: 10
                        route_claimed_zip:
                            type: string
                            description: 'Defined zip codes that location route is inclusive of. Type: string.'
                        route_latitude:
                            type: number
                            format: float
                            description: 'The geospatial horizontal location of the route. Type: number (float).'
                        route_longitude:
                            type: number
                            format: float
                            description: 'The geospatial vertical location of the route. Type: number (float).'
                        route_created:
                            type: string
                            format: date-time
                            description: 'The date and time when the location route was created. Type: string (date-time).'
                        route_modified:
                            type: string
                            format: date-time
                            description: 'The date and time when the location route was last updated. Type: string (date-time).'
                        route_active:
                            type: boolean
                            description: 'Indicates whether or not the location route is active. Type: boolean.'
                            default: true
                description: 'routes. Type: array of object.'
    Number:
        type: object
        required:
            - phone_number
        properties:
            phone_number_id:
                type: integer
                format: int32
                description: 'The unique identifier for the phone number record. Type: integer (int32).'
            phone_number:
                type: integer
                format: int32
                description: Phone number as a string of digits. Typically 10 digits for US numbers.
                minLength: 10
                maxLength: 10
            rate_center:
                type: string
                description: 'The name of the rate center being used for the phone number. Type: string.'
            npa:
                type: integer
                format: int32
                description: 'The area code or first three digits of a full phone number. Type: integer (int32).'
                minLength: 3
                maxLength: 3
            nxx:
                type: integer
                format: int32
                description: >-
                    The region within an area code or the fourth through sixth digits in a full phone number. Type:
                    integer (int32).
                minLength: 3
                maxLength: 3
            ocn:
                type: integer
                format: int32
                description: 'The last four digits of a full phone number. Type: integer (int32).'
                minLength: 4
                maxLength: 4
    NumberPool:
        type: object
        required:
            - pool_name
            - phone_numbers
        properties:
            pool_id:
                type: integer
                format: int32
                description: 'The unique identifier for the phone pool collection. Type: integer (int32).'
            pool_name:
                type: string
                description: 'User defined name for a group of phone numbers known as a pool. Type: string.'
            keep_alive_minutes:
                type: integer
                format: int32
                description: 'The number of minutes to keep the session valid before recycling numbers. Type: integer (int32).'
                default: 60
                minLength: 1
                maxLength: 43200
            pool_created:
                type: string
                format: date-time
                description: 'The date and time when the number pool was created. Type: string (date-time).'
            pool_updated:
                type: string
                format: date-time
                description: 'The date and time when the number pool was last updated. Type: string (date-time).'
            phone_numbers:
                type: array
                items:
                    type: object
                    properties:
                        last_used:
                            type: string
                            format: date-time
                            description: 'The date and time the phone number was last used. Type: string (date-time).'
                        number:
                            type: string
                            description: 'The phone number. Type: string.'
                            minLength: 10
                            maxLength: 10
                description: 'phone_numbers. Type: array of object.'
    Recording:
        type: object
        properties:
            call_flow_recording_id:
                type: integer
                format: int32
                description: 'The unique identifier for the recording record. Type: integer (int32).'
            call_flow_recording_filename:
                type: string
                description: 'The name of the file to which the recording is saved as. Type: string.'
            call_flow_recording_name:
                type: string
                description: 'The user defined label given for the recording. Type: string.'
            call_flow_recording_type:
                type: string
                enum:
                    - prompt
                    - whisper
                description: 'call_flow_recording_type. Type: enum (string); Allowed values: prompt, whisper.'
            call_flow_recording_created:
                type: string
                format: date-time
                description: 'The date and time of when the call flow recording was created. Type: string (date-time).'
            call_flow_recording_modified:
                type: string
                format: int32
                description: 'The date and time of when the call flow recording was last updated. Type: string (int32).'
            recording_active:
                type: boolean
                description: 'Identifies whether or not the call flow recording is active. Type: boolean.'
    CallAction:
        type: object
        properties:
            action_id:
                type: integer
                format: int32
                description: 'The unique identifier for the call action. Type: integer (int32).'
            name:
                type: string
                minLength: 1
                maxLength: 255
                description: 'The user-defined name for the call action. Type: string.'
            action:
                type: string
                enum:
                    - email_alert
                    - sms_alert
                    - tag_call
                    - post_event
                    - webhook
                    - post_detail
                    - callback
                    - analytic
                    - doubleclick
                    - none
                description: >-
                    Defines the type of call action that the record is. Type: enum (string); Allowed values:
                    email_alert, sms_alert, tag_call, post_event, webhook, post_detail, callback, analytic, doubleclick,
                    none.
            action_target:
                type: string
                description: >-
                    The target of the call action which varies depending on the type, from e-mail address to URL or ID.
                    Type: string.
            call_flow_id:
                type: integer
                format: int32
                description: >-
                    Unique identifier for the call flow/route definition the call was answered by. Integer. Maps to
                    call_flow.call_flow_id.
            action_created:
                type: string
                format: date-time
                description: 'The date and time when the call action was first created. Type: string (date-time).'
            action_updated:
                type: string
                format: date-time
                description: 'The date and time when the call action was last updated. Type: string (date-time).'
            action_order:
                type: integer
                format: int32
                description: >-
                    The numerical order in which the call action is placed with lowest being first. Type: integer
                    (int32).
            post_process:
                type: boolean
                description: 'Whether the call action is executed post process or not. Type: boolean.'
            rules:
                type: array
                items:
                    type: object
                    properties:
                        rule_id:
                            type: integer
                            format: int32
                            description: 'The unique identifier for the call action rule. Type: integer (int32).'
                        data_field:
                            type: string
                            description: 'The name of the data field or indicator ID to enforce the rule against. Type: string.'
                        indicator_id:
                            type: integer
                            format: int32
                            description: Unique identifier for the conversation analytics indicator (scoring criterion). Integer.
                        operator:
                            type: string
                            enum:
                                - '>'
                                - <
                                - '='
                                - '!='
                                - '>='
                                - <=
                                - ILIKE
                            description: >-
                                The SQL compatible operator used in the rule enforcement. Type: enum (string); Allowed
                                values: >, <, =, !=, >=, <=, ILIKE.
                        comparator:
                            type: string
                            description: 'The value which is to have the operator and data field checked against. Type: string.'
                        join_type:
                            type: string
                            enum:
                                - AND
                                - OR
                                - NONE
                            description: >-
                                The method in which this rule is joined to previous rules. Type: enum (string); Allowed
                                values: AND, OR, NONE.
                        rule_order:
                            type: integer
                            format: int32
                            description: >-
                                The numeric order in which the rule is executed starting at lowest. Type: integer
                                (int32).
                        grouping:
                            type: integer
                            format: int32
                            description: >-
                                The numeric value representing a cluster of rules to which this rule is associated with.
                                Type: integer (int32).
                        rule_created:
                            type: string
                            format: date-time
                            description: 'The date and time of when the call action rule was created. Type: string (date-time).'
                description: 'rules. Type: array of object.'
    DniSetting:
        type: object
        required:
            - group_id
            - destination_url
            - dni_type
            - dni_element
            - call_flow_id
            - referrer
        properties:
            dni_code:
                type: string
                description: 'Unique randomly generated ID key. Type: string.'
            custom_cookie:
                type: string
                description: 'Optional additional parameters. Type: string.'
            group_id:
                type: integer
                format: int32
                description: >-
                    Organization unit (group) ID the call/record belongs to. Integer. Used to scope data; see
                    /group/list for available group IDs.
            destination_url:
                type: string
                description: 'The domain of the intended destination. Type: string.'
            dni_type:
                type: string
                enum:
                    - session
                    - single
                    - URL
                    - url
                    - Source
                    - source
                default: session
                description: >-
                    Specifies the type of DNI being used for this configuration. Type: enum (string); Allowed values:
                    session, single, URL, url, Source, source.
            dni_element:
                type: string
                description: 'The HTML element which is used for the DNI operation. Type: string.'
            call_flow_id:
                type: integer
                format: int32
                description: >-
                    Unique identifier for the call flow/route definition the call was answered by. Integer. Maps to
                    call_flow.call_flow_id.
            referrer:
                type: string
                description: 'The domain from which the page was referred from. Type: string.'
            referrer_type:
                type: string
                description: 'Specifies the type of referrer used. Type: string.'
            TTL:
                type: integer
                format: int32
                description: 'Time to Live in minutes  Max - 525,600 min. Type: integer (int32).'
    emailCallDataPost:
        type: object
        required:
            - call_id
            - email
        properties:
            call_id:
                type: string
                description: >-
                    Unique identifier for the call record. Integer. Use as the primary key when cross-referencing other
                    endpoints (e.g., /call/transcription, /call/tag).
            return_type:
                type: string
                enum:
                    - json
                    - xml
                description: 'Returned data format. Type: enum (string); Allowed values: json, xml.'
            email:
                type: string
                description: 'Returned data format. Type: string.'
    CallflowNumberPost:
        description: >-
            Call flow configuration for creating or updating routing rules with phone number assignments.
            Supports single phone numbers or number pools (with two provisioning methods).
        type: object
        allOf:
            -
                $ref: '#/definitions/ProvisionedRoute'
            -
                $ref: '#/definitions/CallflowBase'
            -
                $ref: '#/definitions/Simultaneous'
            -
                type: object
                properties:
                    overflowNumbers:
                        type: array
                        items:
                            $ref: '#/definitions/overflowNumbers'
            -
                type: object
                required:
                    - campaign_id
                properties:
                    campaign_id:
                        type: integer
                        format: int32
                        description: The unique identifier for the campaign to attach the call flow to
                        minimum: 1
            -
                type: object
                properties:
                    number:
                        type: object
                        required:
                            - phone_number_id
                        properties:
                            phone_number_id:
                                type: integer
                                format: int32
                                description: The unique identifier for the phone number record
                            phone_number:
                                type: integer
                                format: int32
                                description: The full phone number
                                minimum: 0
                                maximum: 9999999999
            -
                type: object
                properties:
                    number_pool:
                        description: >-
                            Number pool configuration. Supports two methods:

                            1. Pre-existing numbers (V3 compatible): Provide 'phone_numbers' array with phone numbers from inventory.
                            Example: {"pool_name": "My Pool", "keep_alive_mins": 30, "phone_numbers": [{"phone_number": "2019086630"}]}

                            2. NPA/NXX provisioning: Provide 'npa', 'nxx', and 'number_quantity' to provision new numbers.
                            Example: {"pool_name": "My Pool", "keep_alive_minutes": 30, "number_quantity": 2, "npa": 201, "nxx": 908}
                        type: object
                        required:
                            - pool_name
                        properties:
                            pool_id:
                                type: integer
                                format: int32
                                description: The unique identifier for the number pool collection used for updating only
                            pool_name:
                                type: string
                                description: The client given name for the number pool collection
                            keep_alive_minutes:
                                type: integer
                                format: int32
                                description: The number of minutes to hold use of the number before recycling
                                default: 60
                                minLength: 1
                                maxLength: 43200
                            keep_alive_mins:
                                type: integer
                                format: int32
                                description: Alias for keep_alive_minutes (V3 compatibility)
                                default: 60
                                minLength: 1
                                maxLength: 43200
                            number_quantity:
                                type: integer
                                format: int32
                                description: The total number of phone numbers in the pool collection (required for NPA/NXX provisioning)
                            npa:
                                type: integer
                                format: int32
                                description: The area code for the geographic location of the number pool (required for NPA/NXX provisioning)
                                minimum: 0
                                maximum: 999
                            nxx:
                                type: integer
                                format: int32
                                description: Digits 4-6 of phone number (required for NPA/NXX provisioning)
                                minimum: 0
                                maximum: 999
                            phone_numbers:
                                type: array
                                description: Pre-existing phone numbers to assign to the pool (V3 format, alternative to NPA/NXX provisioning)
                                items:
                                    type: object
                                    properties:
                                        phone_number_id:
                                            type: integer
                                            format: int32
                                            description: Phone number ID from inventory
                                        phone_number:
                                            type: string
                                            description: The phone number (10 digits)
                                        number:
                                            type: string
                                            description: Alias for phone_number
                            status:
                                type: string
                                description: Pool status
                                enum:
                                    - active
                                    - inactive
            -
                type: object
                properties:
                    ivrs:
                        type: array
                        items:
                            required:
                                - name
                                - route_type
                                - target_did
                            properties:
                                Key:
                                    type: integer
                                    format: int32
                                    description: Enter the key to be pressed by the caller
                                    minLength: 1
                                    maxLength: 1
                                name:
                                    type: string
                                    description: Enter the destination name for the key press
                                    minLength: 1
                                message_enabled:
                                    type: boolean
                                    description: Enter the voice prompt for key press (Example Press 1 for Sale)
                                    default: false
                                message:
                                    type: string
                                    description: >-
                                        Enter voiceprompt after key press selection (Example Welcome to Sales
                                        department)
                                route_type:
                                    type: string
                                    enum:
                                        - Simple
                                        - Geo
                                        - Hangup
                                        - Schedule
                                    default: Simple
                                record_enabled:
                                    type: boolean
                                    description: Set the call recording to on/off
                                    default: false
                                play_disclaimer:
                                    type: string
                                    description: Set the disclaimer to be played or not played
                                    enum:
                                        - before
                                        - after
                                        - never
                                    default: never
                                target_did:
                                    type: string
                                    description: Enter the target number for the IVR route
                                    minLength: 10
                                    maxLength: 10
                                schedule:
                                    type: object
                                    items:
                                        $ref: '#/definitions/ScheduleRoute'
                        minItems: 1
                        maxItems: 10
            -
                type: object
                properties:
                    schedule:
                        type: object
                        properties:
                            route:
                                type: object
                                properties:
                                    default_ringto:
                                        description: Default ringto when not scheduled
                                        type: integer
                                        format: int32
                                    timezone:
                                        description: Timezone to use for schedules
                                        type: string
                                        enum:
                                            - Atlantic
                                            - Eastern
                                            - Central
                                            - Mountain
                                            - Arizona
                                            - Pacific
                                    voicemail:
                                        description: Voicemail enabled
                                        type: boolean
                            options:
                                type: array
                                items:
                                    required:
                                        - days
                                        - from_time
                                        - to_time
                                        - ringto
                                    properties:
                                        days:
                                            type: string
                                            description: >-
                                                Days of week for ringto values- all days, mon-fri, sat-sun or comma
                                                separated days mon,tue,wed,thu,fri,sat,sun
                                        from_time:
                                            type: string
                                            description: >-
                                                The time as hh:mm am/pm in 15 minute increments for the beginning of the
                                                schedule option (eg 01:15 am)
                                        to_time:
                                            type: string
                                            description: >-
                                                The time as hh:mm am/pm in 15 minute increments for the end of the
                                                schedule option (eg 10:45 pm)
                                        ringto:
                                            type: integer
                                            description: Ringto number for the schedule
                                            format: int32
                                        voicemail:
                                            type: boolean
                                            description: Voicemail for route enabled
    CallflowNumberWithCustomSources:
        type: object
        allOf:
            -
                $ref: '#/definitions/ProvisionedRoute'
            -
                $ref: '#/definitions/CallflowBase'
            -
                $ref: '#/definitions/HuntType'
            -
                type: object
                properties:
                    overflowNumbers:
                        type: array
                        items:
                            $ref: '#/definitions/overflowNumbers'
            -
                type: object
                properties:
                    number:
                        type: object
                        allOf:
                            -
                                $ref: '#/definitions/Number'
            -
                type: object
                properties:
                    number_pool:
                        type: object
                        allOf:
                            -
                                $ref: '#/definitions/NumberPool'
            -
                type: object
                properties:
                    custom_source_type_1:
                        $ref: '#/definitions/CallflowCustomSourcesList'
                    custom_source_type_2:
                        $ref: '#/definitions/CallflowCustomSourcesList'
                    custom_source_type_3:
                        $ref: '#/definitions/CallflowCustomSourcesList'
                    custom_source_type_4:
                        $ref: '#/definitions/CallflowCustomSourcesList'
                    custom_source_type_5:
                        $ref: '#/definitions/CallflowCustomSourcesList'
    CallflowCustomSourcesList:
        type: object
        required:
            - custom_source_id
            - custom_source_name
        properties:
            custom_source_id:
                type: integer
                format: int32
                description: The unique identifier for the custom source
            custom_source_name:
                type: string
                description: Name of the custom source
    CallflowResponse:
        type: object
        allOf:
            -
                $ref: '#/definitions/Callflow'
            -
                $ref: '#/definitions/CampaignInfo'
            -
                $ref: '#/definitions/Routes'
            -
                $ref: '#/definitions/HuntType'
            -
                $ref: '#/definitions/OutboundRoute'
            -
                type: object
                properties:
                    location:
                        type: array
                        items:
                            $ref: '#/definitions/Location'
                        description: 'location. Type: array of object (Location).'
            -
                type: object
                properties:
                    number:
                        type: object
                        allOf:
                            -
                                $ref: '#/definitions/Number'
                        description: 'number. Type: object (allOf: Number).'
            -
                type: object
                properties:
                    number_pool:
                        type: object
                        allOf:
                            -
                                $ref: '#/definitions/NumberPool'
                        description: 'number_pool. Type: object (allOf: NumberPool).'
            -
                $ref: '#/definitions/Recording'
            -
                type: object
                properties:
                    call_action:
                        type: object
                        allOf:
                            -
                                $ref: '#/definitions/CallAction'
                        description: 'call_action. Type: object (allOf: CallAction).'
            -
                type: object
                required:
                    - ivrs
                properties:
                    ivrs:
                        type: array
                        items:
                            type: object
                            required:
                                - key
                                - destination
                                - action
                            properties:
                                ivr_option_id:
                                    type: integer
                                    format: int32
                                    description: 'Unique identifier. Type: integer (int32).'
                                key:
                                    type: integer
                                    format: int32
                                    description: 'Enter the key to be pressed by the caller. Type: integer (int32).'
                                    minimum: 0
                                    maximum: 999999999
                                action:
                                    type: string
                                    description: >-
                                        Set the action. Type: enum (string); Allowed values: interactiveVoice, simple,
                                        schedule, hangup, geo.
                                    enum:
                                        - interactiveVoice
                                        - simple
                                        - schedule
                                        - hangup
                                        - geo
                                    default: simple
                                destination:
                                    type: string
                                    description: 'Enter the destination name for the key press. Type: string.'
                                    minLength: 1
                                    maxLength: 50
                                message:
                                    type: string
                                    description: >-
                                        SMS message body. String. Max length set by carrier (typically 160 chars for
                                        single-segment, up to 1600 for concatenated).
                                ivrData:
                                    type: array
                                    items:
                                        $ref: '#/definitions/ivrDataGet'
                                    minItems: 0
                                    maxItems: 10
                                    description: 'ivrData. Type: array of object (ivrDataGet).'
                                geoData:
                                    $ref: '#/definitions/geoData'
                                    description: 'geoData. Type: object (geoData).'
                                scheduleRoute:
                                    $ref: '#/definitions/scheduleData'
                                    description: 'scheduleRoute. Type: object (scheduleData).'
                                target_did:
                                    type: string
                                    description: 'Enter the target number for the IVR route. Type: string.'
                                    minLength: 10
                                    maxLength: 10
                                isSimultaneous:
                                    type: boolean
                                    description: >-
                                        The isSimultaneous is used to create hunt type for a call flow and its mandatory
                                        when you are adding overflowNumbers in call flow. Type: boolean.
                                    default: false
                                overflowNumbers:
                                    type: array
                                    items:
                                        $ref: '#/definitions/overflowNumbers'
                                    description: 'overflowNumbers. Type: array of object (overflowNumbers).'
                                record_enabled:
                                    type: boolean
                                    description: 'Set the call recording to on/off. Type: boolean.'
                                    default: false
                                play_disclaimer:
                                    type: string
                                    description: >-
                                        Set the disclaimer to be played or not played. Type: enum (string); Allowed
                                        values: before, after, never.
                                    enum:
                                        - before
                                        - after
                                        - never
                                    default: never
                                whisper_enabled:
                                    type: boolean
                                    description: 'Indicates whether or not whisper messaging is enabled. Type: boolean.'
                                    default: false
                                whisper_message:
                                    type: string
                                    description: >-
                                        The message that should be played for the whisper or unique reference id. Type:
                                        string.
                                voicemail_enabled:
                                    type: boolean
                                    description: 'Indicates whether or not to use the voice mail feature. Type: boolean.'
                                    default: false
                        minItems: 1
                        maxItems: 10
                        description: 'ivrs. Type: array of object.'
    CallflowListResponse:
        type: array
        items:
            $ref: '#/definitions/CallflowListObject'
    CallflowListObject:
        type: object
        allOf:
            -
                $ref: '#/definitions/Callflow'
            -
                $ref: '#/definitions/CampaignInfo'
            -
                $ref: '#/definitions/SMSStatus'
    CampaignInfo:
        type: object
        properties:
            campaign_id:
                type: integer
                format: int32
                description: Unique identifier for the campaign this call was attributed to. Integer.
            campaign_ext_id:
                type: string
                description: Customer-provided external identifier for the campaign. Integer.
            campaign_name:
                type: string
                description: Human-readable campaign name. String.
                minLength: 1
                maxLength: 200
    CallflowListResponseForCampaign:
        type: object
        properties:
            campaign_id:
                type: string
                description: Unique identifier for the campaign this call was attributed to. Integer.
            data:
                type: array
                items:
                    $ref: '#/definitions/Callflow'
                description: Response payload. Shape varies by endpoint.
    CallflowRouteResponse:
        type: object
        allOf:
            -
                $ref: '#/definitions/ProvisionedRoute'
            -
                $ref: '#/definitions/CallflowBase'
            -
                $ref: '#/definitions/GeoRoute'
            -
                $ref: '#/definitions/OutboundRoute'
            -
                $ref: '#/definitions/IvrRoute'
            -
                $ref: '#/definitions/PercentageRoute'
            -
                $ref: '#/definitions/ScheduleRoute'
            -
                $ref: '#/definitions/HuntType'
            -
                type: object
                properties:
                    overflowNumbers:
                        type: array
                        items:
                            $ref: '#/definitions/overflowNumbers'
            -
                type: object
                required:
                    - ivrs
                properties:
                    ivrs:
                        type: array
                        items:
                            type: object
                            required:
                                - key
                                - destination
                                - action
                            properties:
                                ivr_option_id:
                                    type: integer
                                    format: int32
                                    description: Unique identifier
                                key:
                                    type: integer
                                    format: int32
                                    description: Enter the key to be pressed by the caller
                                    minimum: 0
                                    maximum: 999999999
                                action:
                                    type: string
                                    description: Set the action
                                    enum:
                                        - interactiveVoice
                                        - simple
                                        - schedule
                                        - hangup
                                        - geo
                                    default: simple
                                destination:
                                    type: string
                                    description: Enter the destination name for the key press
                                    minLength: 1
                                    maxLength: 50
                                message:
                                    type: string
                                    description: >-
                                        Enter voiceprompt after key press selection (Example Welcome to Sales
                                        department)
                                ivrData:
                                    type: array
                                    items:
                                        $ref: '#/definitions/ivrDataGet'
                                    minItems: 0
                                    maxItems: 10
                                geoData:
                                    $ref: '#/definitions/geoData'
                                scheduleRoute:
                                    $ref: '#/definitions/scheduleData'
                                target_did:
                                    type: string
                                    description: Enter the target number for the IVR route
                                    minLength: 10
                                    maxLength: 10
                                isSimultaneous:
                                    type: boolean
                                    description: >-
                                        The isSimultaneous is used to create hunt type for a call flow and its mandatory
                                        when you are adding overflowNumbers in call flow
                                    default: false
                                overflowNumbers:
                                    type: array
                                    items:
                                        $ref: '#/definitions/overflowNumbers'
                                record_enabled:
                                    type: boolean
                                    description: Set the call recording to on/off
                                    default: false
                                play_disclaimer:
                                    type: string
                                    description: Set the disclaimer to be played or not played
                                    enum:
                                        - before
                                        - after
                                        - never
                                    default: never
                                whisper_enabled:
                                    type: boolean
                                    description: Indicates whether or not whisper messaging is enabled
                                    default: false
                                whisper_message:
                                    type: string
                                    description: The message that should be played for the whisper or unique reference id
                                voicemail_enabled:
                                    type: boolean
                                    description: Indicates whether or not to use the voice mail feature
                                    default: false
                        minItems: 1
                        maxItems: 10
    CallflowRouteResponseWithCount:
        type: object
        allOf:
            -
                $ref: '#/definitions/ProvisionedRouteWithCampign'
            -
                $ref: '#/definitions/CallflowBase'
            -
                $ref: '#/definitions/GeoRoute'
            -
                $ref: '#/definitions/OutboundRoute'
            -
                $ref: '#/definitions/IvrRoute'
            -
                $ref: '#/definitions/PercentageRoute'
            -
                $ref: '#/definitions/ScheduleRoute'
            -
                $ref: '#/definitions/HuntType'
            -
                type: object
                properties:
                    overflowNumbers:
                        type: array
                        items:
                            $ref: '#/definitions/overflowNumbers'
                        description: 'overflowNumbers. Type: array of object (overflowNumbers).'
            -
                type: object
                required:
                    - ivrs
                properties:
                    ivrs:
                        type: array
                        items:
                            type: object
                            required:
                                - key
                                - destination
                                - action
                            properties:
                                ivr_option_id:
                                    type: integer
                                    format: int32
                                    description: 'Unique identifier. Type: integer (int32).'
                                key:
                                    type: integer
                                    format: int32
                                    description: 'Enter the key to be pressed by the caller. Type: integer (int32).'
                                    minimum: 0
                                    maximum: 999999999
                                action:
                                    type: string
                                    description: >-
                                        Set the action. Type: enum (string); Allowed values: interactiveVoice, simple,
                                        schedule, hangup, geo.
                                    enum:
                                        - interactiveVoice
                                        - simple
                                        - schedule
                                        - hangup
                                        - geo
                                    default: simple
                                destination:
                                    type: string
                                    description: 'Enter the destination name for the key press. Type: string.'
                                    minLength: 1
                                    maxLength: 50
                                message:
                                    type: string
                                    description: >-
                                        SMS message body. String. Max length set by carrier (typically 160 chars for
                                        single-segment, up to 1600 for concatenated).
                                ivrData:
                                    type: array
                                    items:
                                        $ref: '#/definitions/ivrDataGet'
                                    minItems: 0
                                    maxItems: 10
                                    description: 'ivrData. Type: array of object (ivrDataGet).'
                                geoData:
                                    $ref: '#/definitions/geoData'
                                    description: 'geoData. Type: object (geoData).'
                                scheduleRoute:
                                    $ref: '#/definitions/scheduleData'
                                    description: 'scheduleRoute. Type: object (scheduleData).'
                                target_did:
                                    type: string
                                    description: 'Enter the target number for the IVR route. Type: string.'
                                    minLength: 10
                                    maxLength: 10
                                isSimultaneous:
                                    type: boolean
                                    description: >-
                                        The isSimultaneous is used to create hunt type for a call flow and its mandatory
                                        when you are adding overflowNumbers in call flow. Type: boolean.
                                    default: false
                                overflowNumbers:
                                    type: array
                                    items:
                                        $ref: '#/definitions/overflowNumbers'
                                    description: 'overflowNumbers. Type: array of object (overflowNumbers).'
                                record_enabled:
                                    type: boolean
                                    description: 'Set the call recording to on/off. Type: boolean.'
                                    default: false
                                play_disclaimer:
                                    type: string
                                    description: >-
                                        Set the disclaimer to be played or not played. Type: enum (string); Allowed
                                        values: before, after, never.
                                    enum:
                                        - before
                                        - after
                                        - never
                                    default: never
                                whisper_enabled:
                                    type: boolean
                                    description: 'Indicates whether or not whisper messaging is enabled. Type: boolean.'
                                    default: false
                                whisper_message:
                                    type: string
                                    description: >-
                                        The message that should be played for the whisper or unique reference id. Type:
                                        string.
                                voicemail_enabled:
                                    type: boolean
                                    description: 'Indicates whether or not to use the voice mail feature. Type: boolean.'
                                    default: false
                        minItems: 1
                        maxItems: 10
                        description: 'ivrs. Type: array of object.'
    CallflowLocationResponse:
        type: object
        allOf:
            -
                $ref: '#/definitions/ProvisionedRoute'
            -
                $ref: '#/definitions/CallflowBase'
            -
                $ref: '#/definitions/HuntType'
            -
                type: object
                properties:
                    overflowNumbers:
                        type: array
                        items:
                            $ref: '#/definitions/overflowNumbers'
            -
                type: object
                properties:
                    location:
                        type: array
                        items:
                            $ref: '#/definitions/Location'
    CallflowRecordingResponse:
        type: object
        allOf:
            -
                $ref: '#/definitions/ProvisionedRoute'
            -
                $ref: '#/definitions/CallflowBase'
            -
                $ref: '#/definitions/Recording'
            -
                $ref: '#/definitions/HuntType'
            -
                type: object
                properties:
                    overflowNumbers:
                        type: array
                        items:
                            $ref: '#/definitions/overflowNumbers'
                        description: 'overflowNumbers. Type: array of object (overflowNumbers).'
    CallflowActionResponse:
        type: object
        allOf:
            -
                $ref: '#/definitions/ProvisionedRoute'
            -
                $ref: '#/definitions/CallflowBase'
            -
                $ref: '#/definitions/HuntType'
            -
                type: object
                properties:
                    overflowNumbers:
                        type: array
                        items:
                            $ref: '#/definitions/overflowNumbers'
                        description: 'overflowNumbers. Type: array of object (overflowNumbers).'
            -
                type: object
                properties:
                    call_action:
                        type: array
                        items:
                            $ref: '#/definitions/CallAction'
                        description: 'call_action. Type: array of object (CallAction).'
    CallflowDniResponse:
        type: object
        allOf:
            -
                $ref: '#/definitions/ProvisionedRoute'
            -
                $ref: '#/definitions/CallflowBase'
            -
                $ref: '#/definitions/HuntType'
            -
                type: object
                properties:
                    overflowNumbers:
                        type: array
                        items:
                            $ref: '#/definitions/overflowNumbers'
                        description: 'overflowNumbers. Type: array of object (overflowNumbers).'
            -
                type: object
                properties:
                    dni:
                        type: array
                        items:
                            $ref: '#/definitions/DniSetting'
                        description: 'dni. Type: array of object (DniSetting).'
    CallflowDniClass:
        type: object
        properties:
            classes:
                type: array
                description: 'Array of Dni Classes for Call Flow. Type: array of string.'
                items:
                    type: string
    callCommentRequest:
        type: object
        required:
            - call_id
            - comment
        properties:
            call_id:
                type: integer
                format: int32
                minimum: 0
                description: unique identifier representing the call detail
            comment:
                type: array
                minItems: 1
                items:
                    type: string
                    maxLength: 10000
                    description: Comment which is provided for particular call detail
    callMoveRequest:
        type: object
        required:
            - call_id
            - org_unit_id
        properties:
            call_id:
                type: integer
                format: int32
                minimum: 0
                description: >-
                    Unique identifier for the call record. Integer. Use as the primary key when cross-referencing other
                    endpoints (e.g., /call/transcription, /call/tag).
            org_unit_id:
                type: integer
                format: int32
                minimum: 0
                description: Organization unit (group) ID. Integer. Same concept as group_id; used in newer endpoints.
    CallflowIvrPost:
        type: object
        allOf:
            -
                $ref: '#/definitions/CallflowIvrBase'
            -
                type: object
                properties:
                    number:
                        type: object
                        required:
                            - phone_number_id
                        properties:
                            phone_number_id:
                                type: integer
                                format: int32
                                description: The unique identifier for the phone number record
                            phone_number:
                                type: integer
                                format: int32
                                description: The full phone number
                                minimum: 999999999
                                exclusiveMinimum: true
                                maximum: 9999999999
            -
                type: object
                properties:
                    number_pool:
                        type: object
                        required:
                            - pool_name
                            - number_quantity
                            - npa
                            - nxx
                        properties:
                            pool_id:
                                type: integer
                                format: int32
                                description: The unique identifier for the number pool collection used for updating only
                                minimum: 1
                            pool_name:
                                type: string
                                description: The client given name for the number pool collection
                            keep_alive_minutes:
                                type: integer
                                format: int32
                                description: The number of minutes to hold use of the number before recycling
                                default: 60
                                minLength: 1
                                maxLength: 43200
                            number_quantity:
                                type: integer
                                format: int32
                                description: The total number of phone numbers in the pool collection
                                minimum: 1
                            npa:
                                type: integer
                                format: int32
                                description: The area code for the geographic location of the number pool
                                minimum: 0
                                maximum: 999
                            nxx:
                                type: integer
                                format: int32
                                description: Digits 4-6 of phone number
                                minimum: 0
                                maximum: 999
            -
                type: object
                required:
                    - ivrs
                properties:
                    ivrs:
                        type: array
                        items:
                            type: object
                            required:
                                - key
                                - destination
                                - action
                            properties:
                                key:
                                    type: integer
                                    format: int32
                                    description: Enter the key to be pressed by the caller
                                    minimum: 0
                                    maximum: 999999999
                                action:
                                    type: string
                                    description: Set the action
                                    enum:
                                        - interactiveVoice
                                        - simple
                                        - schedule
                                        - hangup
                                        - geo
                                    default: simple
                                destination:
                                    type: string
                                    description: Enter the destination name for the key press
                                    minLength: 1
                                    maxLength: 50
                                message:
                                    type: string
                                    description: >-
                                        Enter voiceprompt after key press selection (Example Welcome to Sales
                                        department)
                                ivrData:
                                    type: array
                                    items:
                                        $ref: '#/definitions/ivrData'
                                    minItems: 1
                                    maxItems: 10
                                geoData:
                                    $ref: '#/definitions/geoData'
                                scheduleRoute:
                                    $ref: '#/definitions/scheduleData'
                                target_did:
                                    type: integer
                                    format: int32
                                    description: Enter the target number for the IVR route
                                    minimum: 999999999
                                    exclusiveMinimum: true
                                    maximum: 9999999999
                                isSimultaneous:
                                    type: boolean
                                    description: >-
                                        The isSimultaneous is used to create hunt type for a call flow and its mandatory
                                        when you are adding overflowNumbers in call flow
                                    default: false
                                overflowNumbers:
                                    type: array
                                    items:
                                        $ref: '#/definitions/overflowNumbers'
                                    minItems: 1
                                    maxItems: 12
                                record_enabled:
                                    type: boolean
                                    description: Set the call recording to on/off
                                    default: false
                                play_disclaimer:
                                    type: string
                                    description: Set the disclaimer to be played or not played
                                    enum:
                                        - before
                                        - after
                                        - never
                                    default: never
                                whisper_enabled:
                                    type: boolean
                                    description: Indicates whether or not whisper messaging is enabled
                                    default: false
                                whisper_message:
                                    type: string
                                    description: The message that should be played for the whisper or unique reference id
                                voicemail_enabled:
                                    type: boolean
                                    description: Indicates whether or not to use the voice mail feature
                                    default: false
                        minItems: 1
                        maxItems: 10
    CallflowIvrBase:
        type: object
        required:
            - call_flow_name
            - channel_id
            - group_id
            - campaign_id
            - message
        properties:
            call_flow_id:
                type: integer
                format: int32
                description: The unique identifier for the call flow route
            call_flow_name:
                type: string
                description: The user assigned name for the call flow route
                minLength: 1
                maxLength: 50
            call_flow_status:
                type: string
                enum:
                    - active
                    - inactive
                default: active
            repeat_interval:
                type: integer
                format: int32
                description: The amount of minutes before the route can be used again
                default: 72
                minimum: 0
                maximum: 8760
            call_value:
                type: integer
                format: int32
                description: A numeric value for the call
                minimum: 0
                maximum: 999999
            channel_id:
                type: integer
                format: int32
                description: The unique identifier for the channel record
                default: 7
            message:
                type: string
                description: The message to play related to key presses
            group_id:
                type: integer
                format: int32
                description: The unique identifier of the group that is associated with the call flow
            campaign_id:
                type: integer
                format: int32
                description: The unique identifier for the campaign to attach the call flow to
                minimum: 1
            email_to_notify:
                type: string
                format: email
                description: The e-mail address(es) to notify for call flow
            voicemail_rings:
                type: integer
                format: int32
                description: The unique identifier for the rings for Voicemail (1-10)
                minimum: 1
                maximum: 10
            voicemail_greeting:
                type: string
                description: The greeting to play if voicemail feature is enabled.
            webhook_enabled:
                type: boolean
                description: Indicates whether or not a call flow uses webhooks
                default: false
            webhook_id:
                type: integer
                format: int32
                description: Unique identifier representing the webhook
            spam_threshold:
                type: integer
                format: int32
                description: The threshold level of tolerance to allow on spam (0-5)
                minimum: 0
                maximum: 5
            spam_filter_enabled:
                type: boolean
                description: Determines whether or not spam filtering is enabled
                default: false
            referral_number:
                type: integer
                format: int32
                description: The referral number to route to for a call flow if call flow is in referral state
                minimum: 999999999
                exclusiveMinimum: true
                maximum: 9999999999
    ivrData:
        type: object
        required:
            - key
            - destination
            - action
            - go_back_key
        properties:
            key:
                type: integer
                format: int32
                description: Enter the key to be pressed by the caller
                minimum: 0
                maximum: 999999999
            action:
                type: string
                description: Set the action
                enum:
                    - interactiveVoice
                    - simple
                    - schedule
                    - hangup
                    - geo
                default: simple
            destination:
                type: string
                description: Enter the destination name for the key press
                minLength: 1
                maxLength: 50
            message:
                type: string
                description: Enter voiceprompt after key press selection (Example Welcome to Sales department)
            ivrData:
                type: array
                items:
                    type: object
                    required:
                        - key
                        - destination
                        - action
                        - go_back_key
                    properties:
                        key:
                            type: integer
                            format: int32
                            description: Enter the key to be pressed by the caller
                            minimum: 0
                            maximum: 999999999
                        action:
                            type: string
                            description: Set the action
                            enum:
                                - simple
                                - schedule
                                - hangup
                                - geo
                            default: simple
                        destination:
                            type: string
                            description: Enter the destination name for the key press
                            minLength: 1
                            maxLength: 50
                        message:
                            type: string
                            description: Enter voiceprompt after key press selection (Example Welcome to Sales department)
                        geoData:
                            $ref: '#/definitions/geoData'
                        scheduleRoute:
                            $ref: '#/definitions/scheduleData'
                        target_did:
                            type: integer
                            format: int32
                            description: Enter the target number for the IVR route
                            minimum: 999999999
                            exclusiveMinimum: true
                            maximum: 9999999999
                        isSimultaneous:
                            type: boolean
                            description: >-
                                The isSimultaneous is used to create hunt type for a call flow and its mandatory when
                                you are adding overflowNumbers in call flow
                            default: false
                        overflowNumbers:
                            type: array
                            items:
                                $ref: '#/definitions/overflowNumbers'
                            minItems: 1
                            maxItems: 12
                        record_enabled:
                            type: boolean
                            description: Set the call recording to on/off
                            default: false
                        play_disclaimer:
                            type: string
                            description: Set the disclaimer to be played or not played
                            enum:
                                - before
                                - after
                                - never
                            default: never
                        whisper_enabled:
                            type: boolean
                            description: Indicates whether or not whisper messaging is enabled
                            default: false
                        whisper_message:
                            type: string
                            description: The message that should be played for the whisper or unique reference id
                        voicemail_enabled:
                            type: boolean
                            description: Indicates whether or not to use the voice mail feature
                            default: false
                        go_back_key:
                            type: integer
                            format: int32
                            description: Enter the key to be pressed by the caller to back to previous menu
                            minimum: 0
                            maximum: 999999999
                minItems: 1
                maxItems: 10
            geoData:
                $ref: '#/definitions/geoData'
            scheduleRoute:
                $ref: '#/definitions/scheduleData'
            target_did:
                type: integer
                format: int32
                description: Enter the target number for the IVR route
                minimum: 999999999
                exclusiveMinimum: true
                maximum: 9999999999
            isSimultaneous:
                type: boolean
                description: >-
                    The isSimultaneous is used to create hunt type for a call flow and its mandatory when you are adding
                    overflowNumbers in call flow
                default: false
            overflowNumbers:
                type: array
                items:
                    $ref: '#/definitions/overflowNumbers'
                minItems: 1
                maxItems: 12
            record_enabled:
                type: boolean
                description: Set the call recording to on/off
                default: false
            play_disclaimer:
                type: string
                description: Set the disclaimer to be played or not played
                enum:
                    - before
                    - after
                    - never
                default: never
            whisper_enabled:
                type: boolean
                description: Indicates whether or not whisper messaging is enabled
                default: false
            whisper_message:
                type: string
                description: The message that should be played for the whisper or unique reference id
            voicemail_enabled:
                type: boolean
                description: Indicates whether or not to use the voice mail feature
                default: false
            go_back_key:
                type: integer
                format: int32
                description: Enter the key to be pressed by the caller to back to previous menu
                minimum: 0
                maximum: 999999999
    ivrDataGet:
        type: object
        required:
            - key
            - destination
            - action
            - go_back_key
        properties:
            ivr_option_id:
                type: integer
                format: int32
                description: 'Unique identifier. Type: integer (int32).'
            key:
                type: integer
                format: int32
                description: 'Enter the key to be pressed by the caller. Type: integer (int32).'
                minimum: 0
                maximum: 999999999
            action:
                type: string
                description: >-
                    Set the action. Type: enum (string); Allowed values: interactiveVoice, simple, schedule, hangup,
                    geo.
                enum:
                    - interactiveVoice
                    - simple
                    - schedule
                    - hangup
                    - geo
                default: simple
            destination:
                type: string
                description: 'Enter the destination name for the key press. Type: string.'
                minLength: 1
                maxLength: 50
            message:
                type: string
                description: >-
                    SMS message body. String. Max length set by carrier (typically 160 chars for single-segment, up to
                    1600 for concatenated).
            ivrData:
                type: array
                items:
                    type: object
                    required:
                        - key
                        - destination
                        - action
                        - go_back_key
                    properties:
                        ivr_option_id:
                            type: integer
                            format: int32
                            description: 'Unique identifier. Type: integer (int32).'
                        key:
                            type: integer
                            format: int32
                            description: 'Enter the key to be pressed by the caller. Type: integer (int32).'
                            minimum: 0
                            maximum: 999999999
                        action:
                            type: string
                            description: 'Set the action. Type: enum (string); Allowed values: simple, schedule, hangup, geo.'
                            enum:
                                - simple
                                - schedule
                                - hangup
                                - geo
                            default: simple
                        destination:
                            type: string
                            description: 'Enter the destination name for the key press. Type: string.'
                            minLength: 1
                            maxLength: 50
                        message:
                            type: string
                            description: >-
                                SMS message body. String. Max length set by carrier (typically 160 chars for
                                single-segment, up to 1600 for concatenated).
                        geoData:
                            $ref: '#/definitions/geoData'
                            description: 'geoData. Type: object (geoData).'
                        scheduleRoute:
                            $ref: '#/definitions/scheduleData'
                            description: 'scheduleRoute. Type: object (scheduleData).'
                        target_did:
                            type: integer
                            format: int32
                            description: 'Enter the target number for the IVR route. Type: integer (int32).'
                            minimum: 999999999
                            exclusiveMinimum: true
                            maximum: 9999999999
                        isSimultaneous:
                            type: boolean
                            description: >-
                                The isSimultaneous is used to create hunt type for a call flow and its mandatory when
                                you are adding overflowNumbers in call flow. Type: boolean.
                            default: false
                        overflowNumbers:
                            type: array
                            items:
                                $ref: '#/definitions/overflowNumbers'
                            minItems: 1
                            maxItems: 12
                            description: 'overflowNumbers. Type: array of object (overflowNumbers).'
                        record_enabled:
                            type: boolean
                            description: 'Set the call recording to on/off. Type: boolean.'
                            default: false
                        play_disclaimer:
                            type: string
                            description: >-
                                Set the disclaimer to be played or not played. Type: enum (string); Allowed values:
                                before, after, never.
                            enum:
                                - before
                                - after
                                - never
                            default: never
                        whisper_enabled:
                            type: boolean
                            description: 'Indicates whether or not whisper messaging is enabled. Type: boolean.'
                            default: false
                        whisper_message:
                            type: string
                            description: 'The message that should be played for the whisper or unique reference id. Type: string.'
                        voicemail_enabled:
                            type: boolean
                            description: 'Indicates whether or not to use the voice mail feature. Type: boolean.'
                            default: false
                        go_back_key:
                            type: integer
                            format: int32
                            description: >-
                                Enter the key to be pressed by the caller to back to previous menu. Type: integer
                                (int32).
                            minimum: 0
                            maximum: 999999999
                minItems: 1
                maxItems: 10
                description: 'ivrData. Type: array of object.'
            geoData:
                $ref: '#/definitions/geoData'
                description: 'geoData. Type: object (geoData).'
            scheduleRoute:
                $ref: '#/definitions/scheduleData'
                description: 'scheduleRoute. Type: object (scheduleData).'
            target_did:
                type: integer
                format: int32
                description: 'Enter the target number for the IVR route. Type: integer (int32).'
                minimum: 999999999
                exclusiveMinimum: true
                maximum: 9999999999
            isSimultaneous:
                type: boolean
                description: >-
                    The isSimultaneous is used to create hunt type for a call flow and its mandatory when you are adding
                    overflowNumbers in call flow. Type: boolean.
                default: false
            overflowNumbers:
                type: array
                items:
                    $ref: '#/definitions/overflowNumbers'
                minItems: 1
                maxItems: 12
                description: 'overflowNumbers. Type: array of object (overflowNumbers).'
            record_enabled:
                type: boolean
                description: 'Set the call recording to on/off. Type: boolean.'
                default: false
            play_disclaimer:
                type: string
                description: >-
                    Set the disclaimer to be played or not played. Type: enum (string); Allowed values: before, after,
                    never.
                enum:
                    - before
                    - after
                    - never
                default: never
            whisper_enabled:
                type: boolean
                description: 'Indicates whether or not whisper messaging is enabled. Type: boolean.'
                default: false
            whisper_message:
                type: string
                description: 'The message that should be played for the whisper or unique reference id. Type: string.'
            voicemail_enabled:
                type: boolean
                description: 'Indicates whether or not to use the voice mail feature. Type: boolean.'
                default: false
            go_back_key:
                type: integer
                format: int32
                description: 'Enter the key to be pressed by the caller to back to previous menu. Type: integer (int32).'
                minimum: 0
                maximum: 999999999
    geoData:
        type: object
        required:
            - route_by
            - location_id
            - target_did
        properties:
            route_by:
                type: string
                enum:
                    - Claimed State
                    - Claimed Zip-code
                    - Caller Area Code Proximity
                    - Zip-code Proximity
                description: Indicates the method used for the geo route
            proximity_limit:
                type: number
                format: float
                description: Defines the radius in miles
                minimum: 1
                maximum: 99999.9
            location_id:
                type: integer
                format: int32
                description: The unique identifier of the location
            target_did:
                type: integer
                format: int32
                description: Enter the target number for the IVR to geo route
                minimum: 999999999
                exclusiveMinimum: true
                maximum: 9999999999
    scheduleData:
        type: object
        required:
            - timezone
            - schedules
        properties:
            timezone:
                type: string
                description: set timezone for the schedule route
                enum:
                    - Atlantic
                    - Eastern
                    - Central
                    - Mountain
                    - Arizona
                    - Pacific
            default_ringto:
                type: integer
                format: int32
                description: Enter the default_ringto number for the schedule route
                minimum: 999999999
                exclusiveMinimum: true
                maximum: 9999999999
            voicemail_enabled:
                type: boolean
                description: Indicates whether or not to use the voice mail feature for default rinto number.
                default: false
            schedules:
                type: array
                items:
                    type: object
                    required:
                        - schedule_days
                        - schedule_start_time
                        - schedule_end_time
                        - ring_to
                    properties:
                        schedule_days:
                            type: array
                            description: 'Set the schedule days for the schedule route. Type: array of object.'
                            items:
                                type: object
                                required:
                                    - id
                                properties:
                                    id:
                                        type: string
                                        enum:
                                            - AllDays
                                            - Mon-Fri
                                            - Sat-Sun
                                            - Mon
                                            - Tue
                                            - Wed
                                            - Thu
                                            - Fri
                                            - Sat
                                            - Sun
                        schedule_start_time:
                            type: string
                            description: 'The time for the beginning of the schedule option. Type: string.'
                        schedule_end_time:
                            type: string
                            description: 'The time for the end of the schedule option. Type: string.'
                        ring_to:
                            type: integer
                            format: int32
                            description: >-
                                Phone number the call was ultimately forwarded to (the agent/business line). String of
                                digits.
                            minimum: 999999999
                            exclusiveMinimum: true
                            maximum: 9999999999
                        overflowNumbers:
                            type: array
                            items:
                                $ref: '#/definitions/overflowNumbers'
                            minItems: 1
                            maxItems: 12
                            description: 'overflowNumbers. Type: array of object (overflowNumbers).'
                        isSimultaneous:
                            type: boolean
                            description: >-
                                The isSimultaneous is used to create hunt type for a call flow and its mandatory when
                                you are adding overflowNumbers in call flow. Type: boolean.
                            default: false
                        voicemail_enabled:
                            type: boolean
                            description: >-
                                Indicates whether or not to use the voice mail feature for schdeule rinto number. Type:
                                boolean.
                            default: false
                minItems: 1
                maxItems: 10
    OrgUnit:
        type: object
        required:
            - group_name
        properties:
            group_id:
                type: integer
                format: int32
                description: >-
                    Organization unit (group) ID the call/record belongs to. Integer. Used to scope data; see
                    /group/list for available group IDs.
            group_ext_id:
                type: string
                description: 'A user defined external identifier for the group. Type: string.'
            group_name:
                type: string
                description: Human-readable name of the organization unit/group. String.
            group_parent_id:
                type: integer
                format: int32
                description: 'The unique ID for the group that would be a parent to the current group. Type: integer (int32).'
            top_group_id:
                type: integer
                format: int32
                description: 'The unique ID for the top level group associated with current group. Type: integer (int32).'
            billing_id:
                type: integer
                format: int32
                description: 'The unique ID for the group that is the billing node. Type: integer (int32).'
    DniSnippet:
        type: object
        properties:
            snippet:
                type: array
                description: 'Array of dni snippets by group id. Type: array of string.'
                items:
                    type: string
    CallflowItems:
        type: object
        properties:
            campaign_id:
                type: integer
                format: int32
                description: Unique identifier for the campaign this call was attributed to. Integer.
            group_name:
                type: string
                description: Human-readable name of the organization unit/group. String.
            tracking:
                type: string
                description: 'Tracking number. Type: string.'
            ringto:
                type: array
                description: 'Ringto number list. Type: array of object (ringtoItems).'
                items:
                    $ref: '#/definitions/ringtoItems'
    ringtoItems:
        type: object
        properties:
            ringto:
                type: string
                description: 'Ringto number. Type: string.'
            whisper_enabled:
                type: boolean
                description: 'Indicates whether or not whisper messaging is enabled. Type: boolean.'
    OrgUnitDetail:
        type: object
        properties:
            address:
                type: string
                description: Caller's street address. String.
            city:
                type: string
                description: Caller's city (from caller-ID/location lookup). String.
            state:
                type: string
                description: Caller's state (from caller-ID/location lookup). String (two-letter US state code).
                maxLength: 2
                minLength: 2
            zip:
                type: string
                description: 'The zip code for the group. Type: string.'
                maxLength: 13
            phone_number:
                type: string
                description: Phone number as a string of digits. Typically 10 digits for US numbers.
                maxLength: 10
                minLength: 10
            group_created:
                type: string
                format: date
                description: 'The date and time when the group was created. Type: string (date).'
            group_modified:
                type: string
                format: date-time
                description: 'The date and time when the group was last updated. Type: string (date-time).'
            industry_id:
                type: integer
                format: int32
                description: 'The unique identifier for the industry selected. Type: integer (int32).'
            industry_name:
                type: string
                description: 'The name of the industry selected. Type: string.'
    OrgUnitPost:
        type: object
        allOf:
            -
                $ref: '#/definitions/OrgUnit'
            -
                $ref: '#/definitions/OrgUnitDetail'
    OrgUnitResponse:
        type: object
        allOf:
            -
                $ref: '#/definitions/OrgUnit'
            -
                $ref: '#/definitions/OrgUnitDetail'
            -
                type: object
                properties:
                    users:
                        type: array
                        items:
                            $ref: '#/definitions/User'
                        description: 'users. Type: array of object (User).'
    OrgUnitListResponse:
        type: object
        allOf:
            -
                $ref: '#/definitions/OrgUnit'
            -
                $ref: '#/definitions/OrgUnitDetail'
    OrgUnitUserResponse:
        type: object
        allOf:
            -
                $ref: '#/definitions/OrgUnit'
            -
                type: object
                properties:
                    users:
                        type: array
                        items:
                            $ref: '#/definitions/User'
    OrgUnitPostResponse:
        type: object
        required:
            - result
            - data
            - entry_count
        properties:
            result:
                type: string
                description: Specifies the outcome of the request made - either success / error
            data:
                type: string
                description: Contains either the error message or the org_uni_id for the entry
            entry_count:
                type: integer
                format: int32
                description: The sequential number of the entry in the submitted array
    CallLogs:
        type: object
        properties:
            call_id:
                type: integer
                format: int32
                description: >-
                    Unique identifier for the call record. Integer. Use as the primary key when cross-referencing other
                    endpoints (e.g., /call/transcription, /call/tag).
            duration:
                type: integer
                format: int32
                description: Total call length in seconds (integer). Includes the entire connected segment from answer to hangup.
            date:
                type: string
                format: date-time
                description: 'The time and date of when for the call. Type: string (date-time).'
            group:
                type: string
                description: 'Group name. Type: string.'
            group_external_id:
                type: string
                description: 'Group external id. Type: string.'
            campaign_id:
                type: integer
                format: int32
                description: Unique identifier for the campaign this call was attributed to. Integer.
            campaign:
                type: string
                description: 'Campaign name. Type: string.'
            campaign_external_id:
                type: string
                description: 'Campaign external id. Type: string.'
            tracking_number_name:
                type: string
                description: 'Call flow number name. Type: string.'
            tracking_number:
                type: integer
                description: >-
                    Phone number the caller dialed (the tracking/DNI number). Convirza routes calls from this number
                    through the configured call flow. String of digits.
            caller_id:
                type: integer
                description: >-
                    Phone number of the originating caller. String of digits, typically 10 digits for US numbers (e.g.,
                    '2025550123').
    SMSStatus:
        type: object
        properties:
            sms_enabled:
                type: boolean
                description: this will indicate if the SMS/MMS status is enabled on provisined route or not
            sms_feature:
                type: boolean
                description: this will indicate if the SMS/MMS feature is enabled on tracking number itself or not
    NumberResponse:
        type: object
        required:
            - number
            - source
        properties:
            number_id:
                type: integer
                format: int32
                description: The unique identifier for the phone number record
            number:
                type: integer
                format: int32
                description: The full actual phone number
                minimum: 1000000000
                maximum: 9999999999
            source:
                type: integer
                format: int32
                description: Indicator that identifies which source where the number is located
    CallflowCustomSources:
        type: object
        required:
            - call_flow_id
        properties:
            call_flow_id:
                type: integer
                format: int32
                description: Unique identifier for the callflow
            custom_source_type_1:
                type: integer
                format: int32
                description: Id of unique identifiers for the custom sources
            custom_source_type_2:
                type: integer
                format: int32
                description: Id of unique identifiers for the custom sources
            custom_source_type_3:
                type: integer
                format: int32
                description: Id of unique identifiers for the custom sources
            custom_source_type_4:
                type: integer
                format: int32
                description: Id of unique identifiers for the custom sources
            custom_source_type_5:
                type: integer
                format: int32
                description: Id of unique identifiers for the custom sources
    CustomSourcePost:
        type: object
        required:
            - org_unit_id
            - custom_source_name
        properties:
            org_unit_id:
                type: integer
                format: int32
                description: The unique identifier for the custom source
            custom_source_name:
                type: string
                minLength: 1
                maxLength: 100
                description: The identifier for the custom source name
            custom_source_type:
                type: string
                description: 'Custom Source Type CS1 through CS5, Default CS1'
                enum:
                    - CS1
                    - CS2
                    - CS3
                    - CS4
                    - CS5
    CustomSourceDelete:
        type: object
        required:
            - custom_sources
        properties:
            custom_sources:
                type: array
                minItems: 1
                items:
                    type: integer
                description: 'Array of unique identifiers for the group. Type: array of integer.'
    CallflowCustomSourceDelete:
        type: object
        required:
            - call_flow_id
            - type
        properties:
            call_flow_id:
                type: integer
                format: int32
                description: Callflow identifier for deleting customsource
            type:
                type: array
                minItems: 1
                maxItems: 5
                items:
                    type: string
                    enum:
                        - custom_source_type_1
                        - custom_source_type_2
                        - custom_source_type_3
                        - custom_source_type_4
                        - custom_source_type_5
                description: >-
                    Valid Custom source type should be 'custom_source_type_1', 'custom_source_type_2',
                    'custom_source_type_3', 'custom_source_type_4', and 'custom_source_type_5'.
    CallflowOutbound:
        type: object
        required:
            - call_flow_name
            - channel_id
            - group_id
            - campaign_id
            - outbound
        properties:
            call_flow_id:
                type: integer
                format: int32
                description: The unique identifier for the call flow route
            call_flow_name:
                type: string
                description: The user assigned name for the call flow route
                minLength: 1
                maxLength: 50
            call_flow_status:
                type: string
                enum:
                    - active
                    - inactive
                default: active
            channel_id:
                type: integer
                format: int32
                description: The unique identifier for the channel record
                default: 7
            message_enabled:
                type: boolean
                description: Indicates whether the message feature is enabled or not
                default: false
            message:
                type: string
                description: The message to use if message is enabled or unique reference id
            group_id:
                type: integer
                format: int32
                description: The unique identifier of the group that is associated with the call flow
            email_to_notify:
                type: string
                format: email
                description: The e-mail address(es) to notify for call flow
            play_disclaimer:
                type: string
                description: Identifies whether to play the disclaimer message or not
                enum:
                    - before
                    - after
                    - never
            record_until:
                type: string
                format: date-time
                description: The date and time to record until
            campaign_id:
                type: integer
                format: int32
                description: The unique identifier for the campaign to attach the call flow to
                minimum: 1
            number:
                type: object
                required:
                    - phone_number_id
                properties:
                    phone_number_id:
                        type: integer
                        format: int32
                        description: The unique identifier for the phone number record
                    phone_number:
                        type: integer
                        format: int32
                        description: The full phone number
                        minimum: 0
                        maxLength: 10
                        minLength: 10
                        maximum: 9999999999
            outbound:
                type: object
                required:
                    - set_caller_id
                properties:
                    set_caller_id:
                        type: string
                        description: The caller identifier for the phone number record
                    pin:
                        type: string
                        description: 4 Digit Authorization Pin
                        pattern: '^\d{4}$'
    Channel:
        type: object
        properties:
            channel_id:
                type: integer
                format: int32
                description: The unique identifier for the channel definition
            category:
                type: string
                description: The main category for the channel
            sub_category:
                type: string
                description: The secondary category for the channel
            combined_category:
                type: string
                description: The main category and secondary category separated by a colon
            channel_created:
                type: string
                format: date-time
                description: The date that the channel was added
    geoRouteListResponse:
        type: object
        properties:
            group_id:
                type: integer
                format: int32
                description: group id
            location_id:
                type: integer
                format: int32
                description: id of the geoRoute location
            location_name:
                type: string
                description: name of the geoRoute location
            location_quantity:
                type: integer
                format: int32
                description: quantity of the location available within the geoRoute location
            location_created:
                type: string
                format: date-time
                description: The date and time when the geoRoute location was created
            location_modified:
                type: string
                format: date-time
                description: The date and time when the geoRoute location was last updated
    PostRouteLocationBatch:
        type: object
        allOf:
            -
                $ref: '#/definitions/PostRouteLocation'
    PostRouteLocation:
        type: object
        required:
            - location_id
            - route_location
            - route_address
            - route_city
            - route_state
            - route_zip
            - route_target
        properties:
            location_route_id:
                type: integer
                description: 'Location id of an existing location to update. Type: integer.'
            location_id:
                type: integer
                description: 'GeoRoute list id. Type: integer.'
            route_location:
                type: string
                description: 'Location name. Type: string.'
            route_address:
                type: string
                description: 'Location address. Type: string.'
            route_city:
                type: string
                description: 'Location city name. Type: string.'
            route_state:
                type: string
                description: 'Location state name. Type: string.'
            route_zip:
                type: string
                description: 'Location Zip code. Type: string.'
            route_target:
                type: string
                description: 'Location phone number. Type: string.'
            claimed_states:
                type: string
                description: 'Location claimed state. Type: string.'
            claimed_zip:
                type: string
                description: 'Location claimed zip. Type: string.'
            hunt_type:
                type: string
                enum:
                    - roundrobin
                    - overflow
                    - simultaneous
                    - rollover
                description: 'hunt_type. Type: enum (string); Allowed values: roundrobin, overflow, simultaneous, rollover.'
            overflowNumbers:
                type: array
                items:
                    $ref: '#/definitions/overflowNumbers'
                minItems: 1
                maxItems: 12
                description: 'overflowNumbers. Type: array of object (overflowNumbers).'
    AudioListResponse:
        type: object
        properties:
            file_name:
                type: string
                description: 'Uploaded File Name. Type: string.'
            uploaded_on:
                type: string
                format: date-time
                description: 'File Uploaded Date. Type: string (date-time).'
            reference_id:
                type: string
                description: 'unique reference of file to use in add/update callflows endpoints. Type: string.'
            org_unit_id:
                type: integer
                description: Organization unit (group) ID. Integer. Same concept as group_id; used in newer endpoints.
            type:
                type: string
                description: 'type of uploaded files. Type: string.'
            recordURL:
                type: string
                description: 'Recording URL of uploaded file on Server. Type: string.'
    RateCenter:
        type: object
        properties:
            rate_center:
                type: string
                description: The standard used abbreviation for a rate center
            state:
                type: string
                description: The two letter abbreviation for the state/province of the rate center
    BlacklistNumber:
        type: object
        properties:
            ou_id:
                type: integer
                format: int32
                description: Group id to which this balcklisted number belongs to
            number:
                type: array
                items:
                    type: integer
                    format: int32
                description: The array of balcklisted numbers
    CustomSources:
        type: object
        properties:
            custom_source_id:
                type: integer
                format: int32
                description: The custom_source_id
            org_unit_id:
                type: integer
                format: int32
                description: The org_unit_id
            custom_source_name:
                type: string
                description: Specifies the custom source name
            custom_source_type:
                type: string
                description: Specifies the custom source type
    CallCustomSources:
        type: object
        properties:
            custom_source_id:
                type: integer
                format: int32
                description: The custom_source_id
            custom_source_name:
                type: string
                description: Specifies the custom source name
            custom_source_created:
                type: string
                format: date-time
                description: customSource created time
    BlacklistNumberDelete:
        type: object
        required:
            - number
        properties:
            number:
                type: array
                minItems: 1
                items:
                    type: integer
                    format: int64
                    minLength: 10
                    maxLength: 10
                    minimum: 1000000000
                    maximum: 9999999999
                description: >-
                    Request body envelope. Shape defined by schema 'BlacklistNumberDelete'. See individual field rows
                    for contents.
    BlacklistNumberPost:
        type: object
        required:
            - number
        properties:
            number:
                type: integer
                format: int64
                description: >-
                    Request body envelope. Shape defined by schema 'BlacklistNumberPost'. See individual field rows for
                    contents.
                minLength: 10
                maxLength: 10
                minimum: 1000000000
                maximum: 9999999999
    GetTagResponse:
        type: object
        properties:
            tag_id:
                type: integer
                format: int32
                description: Unique identifier representing the Tag
            tag_name:
                type: string
                description: Client defined name for the Tag
            tag_ouid:
                type: integer
                format: int32
                description: Group id to which this Tag belongs to
            tag_created:
                type: string
                format: date-time
                description: The date and time when the Tag was created
    GetUserPermissionByUserId:
        type: object
        required:
            - result
            - err
        properties:
            result:
                type: string
                description: 'Outcome of the request. String, typically ''success'' or ''error''.'
            err:
                type: string
                description: Error message when result='error'. String. Empty/null on success.
            data:
                type: object
                properties:
                    first_name:
                        type: string
                        description: 'First name of the user. Type: string.'
                    last_name:
                        type: string
                        description: 'Last name of the user. Type: string.'
                    username:
                        type: string
                        description: 'Username or email address of the user. Type: string.'
                    user_external_id:
                        type: string
                        description: 'external_id of the user. Type: string.'
                    ct_user_ou_id:
                        type: integer
                        description: 'ID of the user''s organizational unit. Type: integer.'
                    org_unit_parent_id:
                        type: integer
                        description: 'ID of the parent organizational unit. Type: integer.'
                    has_access_to:
                        type: array
                        items:
                            type: object
                            properties:
                                org_unit_id:
                                    type: integer
                                    description: >-
                                        Organization unit (group) ID. Integer. Same concept as group_id; used in newer
                                        endpoints.
                                external_id:
                                    type: string
                                    description: >-
                                        Customer-provided identifier used to map this call to a record in the customer's
                                        own system. String. Must be unique within the customer's org.
                                org_unit_name:
                                    type: string
                                    description: 'Name of the organizational unit. Type: string.'
                        description: 'has_access_to. Type: array of object.'
                description: Response payload. Shape varies by endpoint.
    GetAllowedGroups:
        type: object
        required:
            - result
            - err
        properties:
            result:
                type: string
                description: 'Outcome of the request. String, typically ''success'' or ''error''.'
            err:
                type: string
                description: Error message when result='error'. String. Empty/null on success.
            data:
                type: array
                items:
                    type: object
                    properties:
                        org_unit_id:
                            type: integer
                            description: >-
                                Organization unit (group) ID. Integer. Same concept as group_id; used in newer
                                endpoints.
                        external_id:
                            type: string
                            description: >-
                                Customer-provided identifier used to map this call to a record in the customer's own
                                system. String. Must be unique within the customer's org.
                        org_unit_name:
                            type: string
                            description: 'Name of the organizational unit. Type: string.'
                description: Response payload. Shape varies by endpoint.
    userPermissionsPost:
        type: object
        properties:
            action:
                type: string
                description: 'Action to perform on organizational units. Type: enum (string); Allowed values: add, remove.'
                enum:
                    - add
                    - remove
            org_units:
                type: array
                items:
                    type: object
                    properties:
                        org_unit_id:
                            type: integer
                            description: >-
                                Organization unit (group) ID. Integer. Same concept as group_id; used in newer
                                endpoints.
                        org_unit_name:
                            type: string
                            description: 'Name of the organizational unit. Type: string.'
                description: 'org_units. Type: array of object.'
    userPermissionsPostResponse:
        type: object
        required:
            - result
            - err
        properties:
            result:
                type: string
                description: 'Outcome of the request. String, typically ''success'' or ''error''.'
            err:
                type: string
                description: Error message when result='error'. String. Empty/null on success.
            data:
                type: array
                items:
                    type: object
                    properties:
                        status:
                            type: string
                            description: 'status of the respctive org_unit_id. Type: string.'
                        message:
                            type: string
                            description: >-
                                SMS message body. String. Max length set by carrier (typically 160 chars for
                                single-segment, up to 1600 for concatenated).
                description: Response payload. Shape varies by endpoint.
    TagsDelete:
        type: object
        required:
            - tag_id
        properties:
            tag_id:
                type: array
                minItems: 1
                items:
                    type: integer
                description: Request body envelope. Shape defined by schema 'TagsDelete'. See individual field rows for contents.
    StandardPostResponse:
        type: object
        required:
            - result
            - data
            - entry_count
        properties:
            result:
                type: string
                description: 'Outcome of the request. String, typically ''success'' or ''error''.'
            data:
                type: string
                description: Response payload. Shape varies by endpoint.
            entry_count:
                type: integer
                format: int32
                description: 'The sequential number of the entry in the submitted array. Type: integer (int32).'
    legacyScheduled:
        type: object
        properties:
            schedule_report_id:
                type: integer
                format: int32
                description: The report id
            schedule_name:
                type: string
                description: The schedule name
            report_type:
                type: string
                description: The type of report
            report_format:
                type: string
                description: The format of report
            creator_id:
                type: integer
                format: int32
                description: The creater id
            creator_email:
                type: string
                description: The creater email
    Error:
        type: object
        required:
            - result
            - err
        properties:
            result:
                type: string
                description: Specifies the outcome of the request made
            err:
                type: string
                description: Message of the error that occurred
            data:
                type: string
                description: This will be blank on error return
    PostResponse:
        type: object
        required:
            - result
            - err
        properties:
            result:
                type: string
                description: 'Outcome of the request. String, typically ''success'' or ''error''.'
            err:
                type: string
                description: Error message when result='error'. String. Empty/null on success.
            data:
                type: string
                description: Response payload. Shape varies by endpoint.
    PostBatchLocationResponse:
        type: object
        required:
            - result
            - err
        properties:
            result:
                type: string
                description: 'Outcome of the request. String, typically ''success'' or ''error''.'
            err:
                type: string
                description: Error message when result='error'. String. Empty/null on success.
            data:
                type: object
                properties:
                    success:
                        type: integer
                        description: 'count of successful locations created/updated. Type: integer.'
                    errors:
                        type: integer
                        description: 'count of unsuccessful locations created/updated. Type: integer.'
                    errorMessage:
                        type: array
                        items:
                            type: string
                        description: 'number indicating array item with error and error message. Type: array of string.'
                description: Response payload. Shape varies by endpoint.
    createInsight:
        type: object
        required:
            - insight_name
            - insight_type
            - indicator_score_type
            - group_list
        properties:
            insight_name:
                type: string
                description: 'Name of the insight. Type: string.'
            insight_type:
                type: string
                description: 'Type of the insight (e.g., LLM, keyword). Type: string.'
            indicator_score_type:
                type: string
                description: 'Score type for the indicator. Type: string.'
            insight_description:
                type: string
                description: 'Description of the insight. Type: string.'
            insight_help:
                type: string
                description: 'Help text for the insight. Type: string.'
            group_list:
                type: array
                items:
                    type: integer
                description: 'List of group IDs associated with the insight (Available for). Type: array of integer.'
            insight_guideline:
                type: string
                description: 'Guidelines for the insight (for LLM type). Type: string.'
            insight_output:
                type: string
                description: 'Output for the insight (for LLM type). Type: string.'
            insight_example:
                type: string
                description: 'Example for the insight (for LLM type). Type: string.'
            hit_outcome_by:
                type: string
                description: 'Hit outcome by (for keyword type). Type: string.'
            miss_outcome_by:
                type: string
                description: 'Miss outcome by (for keyword type). Type: string.'
            hit_keywords:
                type: string
                description: 'Hit keywords (comma-separated, for keyword type). Type: string.'
            miss_keywords:
                type: string
                description: 'Miss keywords (comma-separated, for keyword type). Type: string.'
            hit_mention:
                type: string
                description: 'Hit mention (for keyword type). Type: string.'
            miss_mention:
                type: string
                description: 'Miss mention (for keyword type). Type: string.'
    createContactList:
        type: object
        required:
            - list_name
            - group_id
            - numbers
        properties:
            list_name:
                type: string
                description: 'Name of the contact list. Type: string.'
            description:
                type: string
                description: 'Description of the contact list. Type: string.'
            numbers:
                type: array
                description: 'List of contact numbers. Type: array of object.'
                items:
                    type: object
                    required:
                        - phone_number
                    properties:
                        name:
                            type: string
                            description: 'Name of the contact. Type: string.'
                        country_code:
                            type: string
                            description: 'Country code of the contact (must be +1). Type: string.'
                            pattern: ^\+1$
                        phone_number:
                            type: string
                            description: Phone number as a string of digits. Typically 10 digits for US numbers.
                            pattern: '^\d{10}$'
                            minLength: 10
                            maxLength: 10
            group_id:
                type: integer
                description: >-
                    Organization unit (group) ID the call/record belongs to. Integer. Used to scope data; see
                    /group/list for available group IDs.
    getContactList:
        type: object
        required:
            - page
            - limit
            - group_id
        properties:
            page:
                type: integer
                description: Page number for pagination
            limit:
                type: integer
                description: Maximum number of records to return
            order:
                type: string
                description: Sort order (asc or desc)
            orderBy:
                type: string
                description: Field to sort by
            group_id:
                type: array
                items:
                    type: integer
                description: Group IDs for the contact. Accepts an array or a comma-separated list of IDs.
    updateBroadcastData:
        type: object
        example:
            tracking_number: string
            agent_ring_to: string
            message: string
            contact_ids:
                - 0
            contact_list_ids:
                - 0
            schedule_datetime: string
            is_scheduled: true
        required:
            - tracking_number
            - agent_ring_to
            - message
        properties:
            tracking_number:
                type: string
                description: >-
                    Phone number the caller dialed (the tracking/DNI number). Convirza routes calls from this number
                    through the configured call flow. String of digits.
                pattern: '^(?:\+?1[\s.-]?)?(?:\(?\d{3}\)?[\s.-]?)\d{3}[\s.-]?\d{4}$'
            agent_ring_to:
                type: string
                description: >-
                    Phone number of the agent receiving SMS replies. String. Must resolve to 10 digits; formatting like
                    parentheses, dashes, or '+1' prefix is accepted.
                pattern: '^(?:\+?1[\s.-]?)?(?:\(?\d{3}\)?[\s.-]?)\d{3}[\s.-]?\d{4}$'
            message:
                type: string
                description: >-
                    SMS message body. String. Max length set by carrier (typically 160 chars for single-segment, up to
                    1600 for concatenated).
            contact_ids:
                type: array
                description: 'List of contact IDs. Use this or contact_list_ids (not both). Type: array of integer.'
                items:
                    type: integer
            contact_list_ids:
                type: array
                description: 'List of contact list IDs. Use this or contact_ids (not both). Type: array of integer.'
                items:
                    type: integer
            schedule_datetime:
                type: string
                description: 'When to send the broadcast, required when is_scheduled=true. Format ''YYYY-MM-DD HH:mm:ss''.'
            ouid:
                type: integer
                description: 'Org unit ID (group ID) for the broadcast. Type: integer.'
            is_scheduled:
                type: boolean
                description: >-
                    Boolean. If true, the broadcast is queued for future delivery; if false, it sends immediately.
                    Default false.
    createContact:
        type: object
        required:
            - contacts
            - group_id
        properties:
            contacts:
                type: array
                description: 'Array of contact objects to be created. Type: array of object.'
                minItems: 1
                items:
                    type: object
                    required:
                        - phone_number
                    properties:
                        contact_name:
                            type: string
                            description: 'Name of the contact. Type: string.'
                            example: John Doe
                        phone_number:
                            type: string
                            description: Phone number as a string of digits. Typically 10 digits for US numbers.
                            example: '1234567890'
                            pattern: '^\d{10}$'
                            minLength: 10
                            maxLength: 10
                        country_code:
                            type: string
                            description: 'Country code for the phone number (must be +1). Type: string.'
                            example: '+1'
                            pattern: ^\+1$
            group_id:
                type: integer
                description: >-
                    Organization unit (group) ID the call/record belongs to. Integer. Used to scope data; see
                    /group/list for available group IDs.
    updateContact:
        type: object
        properties:
            contact_name:
                type: string
                description: 'Updated name of the contact. Type: string.'
                example: John Doe
            phone_number:
                type: string
                description: Phone number as a string of digits. Typically 10 digits for US numbers.
                example: '1234567890'
                pattern: '^\d{10}$'
                minLength: 10
                maxLength: 10
            country_code:
                type: string
                description: 'Updated country code for the phone number (must be +1). Type: string.'
                example: '+1'
                pattern: ^\+1$
            status:
                type: string
                description: 'Updated status of the contact. Type: enum (string); Allowed values: active, inactive, deleted.'
                enum:
                    - active
                    - inactive
                    - deleted
    updateContactNumbers:
        type: array
        description: Array body for contact updates.
        items:
            $ref: '#/definitions/updateContactNumbersItem'
    updateContactNumbersItem:
        type: object
        properties:
            contact_name:
                type: string
                description: 'Updated name of the contact. Type: string.'
                example: John Doe
            phone_number:
                type: string
                description: Phone number as a string of digits. Typically 10 digits for US numbers.
                example: '1234567890'
                pattern: '^\d{10}$'
                minLength: 10
                maxLength: 10
    updateContactResponse:
        type: object
        properties:
            status:
                type: string
                description: 'Status of the operation. Type: string.'
                example: success
            message:
                type: string
                description: >-
                    SMS message body. String. Max length set by carrier (typically 160 chars for single-segment, up to
                    1600 for concatenated).
                example: Contact updated successfully
            error:
                type: string
                description: 'Error message if operation failed. Type: string.'
                example: Invalid contact ID
parameters:
    idParam:
        name: id
        in: query
        description: Identification ID of the record to be returned. Required integer.
        required: true
        type: integer
        format: int32
    location_idParam:
        name: location_id
        in: query
        description: Geo-location ID. Required integer. Identifies the geo-location record.
        required: true
        type: integer
        format: int32
        minimum: 0
    callflowIdParam:
        name: id
        in: query
        description: Callflow ID for the end point record to be returned
        required: true
        type: integer
        format: int32
    deleteCallflowId:
        name: id
        in: query
        description: Callflow ID for the end point record to be deleted
        required: true
        type: integer
        format: int32
    campaignIdParam:
        name: id
        in: query
        description: Campaing ID for the end point record to be returned
        required: true
        type: integer
        format: int32
    deleteCampaignId:
        name: id
        in: query
        description: Campaing ID for the end point record to be deleted
        required: true
        type: integer
        format: int32
    forced_delete:
        name: forced_delete
        in: query
        description: >-
            Boolean toggle. If true, force-deletes all records (including associated tracking numbers) linked to the
            target. Default false.
        required: false
        type: boolean
        default: false
    idGroupDni:
        name: id
        in: query
        description: Comma separated group Ids for the dni snippet to be returned
        required: true
        type: string
    pageParam:
        name: page
        in: query
        description: >-
            1-based page number for paginated results. Integer, default 1, min 1. Alternative to offset; used by SMS
            Broadcast endpoints.
        required: false
        type: integer
        format: int32
        default: 1
        minimum: 1
    limitParam:
        name: limit
        in: query
        description: 'Maximum number of records to return per page. Integer, default 100, max 2000, min 1.'
        required: false
        type: integer
        format: int32
        default: 100
        maximum: 2000
        minimum: 1
    offsetParam:
        name: offset
        in: query
        description: >-
            Number of records to skip from the start of the result set. Integer, default 0, max 100000, min 0. Use with
            limit for pagination.
        required: false
        type: integer
        format: int32
        default: 0
        maximum: 100000
        minimum: 0
    filterParam:
        name: filter
        in: query
        description: >-
            URL-encoded comma-separated list of filter conditions in the form '<field> <op> <value>' where op is one of
            =, !=, <=, >=, >, <, like (spaces required around 'like'). Example: 'call_started > 2024-01-01'. Max 10
            conditions. Filterable fields vary by endpoint.
        required: false
        type: array
        collectionFormat: csv
        items:
            type: string
            maxItems: 10
            minItems: 1
    blfilterParam:
        name: filter
        in: query
        description: >-
            Comma separated list of field column name with conditional (=, !=, <=, >=, >, <, like) followed by the value
            to compare against, Please make sure to add spaces after and before while using "like" operator example
            "agent_name like test_name". Filterable fields include agent_name, status, broadcast_name. e.g.
            "broadcast_name like test", "status = scheduled", "agent_name != John Doe"
        required: false
        type: array
        collectionFormat: csv
        items:
            type: string
            maxItems: 10
            minItems: 1
    filterParams:
        name: filter
        in: query
        description: >-
            Comma separated list of field column name with conditional (=, !=, <=, >=, >, <, like) followed by the value
            to compare against, Please make sure to add spaces after and before  while using "like" operator example
            "call_flow_name like test_name". Can be any field included in the set of returned fields except
            group_access. All definitions as a whole must be URL encoded
        required: false
        type: array
        collectionFormat: csv
        items:
            type: string
            maxItems: 10
            minItems: 1
    clfilterParams:
        name: filter
        in: query
        description: >
            Comma separated list of field column name with conditional (=, !=, <=, >=, >, <, like) followed by the value
            to compare against, Please make sure to add spaces after and before while using "like" operator example
            "first_name like test_name". Filterable fields include phone_number, first_name, created_at.
        required: false
        type: array
        collectionFormat: csv
        items:
            type: string
            maxItems: 10
            minItems: 1
    contactListfilterParams:
        name: filter
        in: query
        description: >
            Comma separated list of field column name with conditional (=, !=, <=, >=, >, <, like) followed by the value
            to compare against, Please make sure to add spaces after and before while using "like" operator example
            "contact_list_name like test_name". Filterable fields include contact_count, contact_list_name, created_at.
        required: false
        type: array
        collectionFormat: csv
        items:
            type: string
            maxItems: 10
            minItems: 1
    contactFilterParams:
        name: filter
        in: query
        description: >
            Comma separated list of field column name with conditional (=, !=, <=, >=, >, <, like) followed by the value
            to compare against, Please make sure to add spaces after and before while using "like" operator example
            "first_name like test_name". Filterable fields include first_name, phone_number, country_code, created_at.
        required: false
        type: array
        collectionFormat: csv
        items:
            type: string
            maxItems: 10
            minItems: 1
    gaFilterParam:
        name: filter
        in: query
        description: >-
            Comma separated list of field column name with conditional (=, !=, <=, >=, >, <, like) followed by the value
            to compare against, Please make sure to add spaces after and before while using "like" operator example
            "call_flow_name like test_name". Filterable fields include call_started, group_name, group_id, disposition,
            duration, caller_id, tracking_number, ring_to, campaign_name, call_flow_name and repeat_call.
        required: false
        type: array
        collectionFormat: csv
        items:
            type: string
            maxItems: 10
            minItems: 1
    gscrfilterParams:
        name: filter
        in: query
        description: >-
            Comma separated list of field column name with conditional (=, !=, <=, >=, >, <, like) followed by the value
            to compare against, Please make sure to add spaces after and before while using "like" operator example
            "call_flow_name like test_name". Filterable fields include call_started, group_name, group_id, scorecard_id,
            scorecard_name, scored_on, and reviewed_on.
        required: false
        type: array
        collectionFormat: csv
        items:
            type: string
            maxItems: 10
            minItems: 1
    gaSecondaryParam:
        name: secondary
        in: query
        description: Parmameter to specify the secondary grouping for the result. Allowed values&#58; "campaign" or "call_flow"
        required: false
        type: string
        format: string
    gaTimezoneParam:
        name: timezone
        in: query
        description: >-
            To be used in conjunction with the filter param call_started field. Allows the user to specify which
            timezone is being used for the call_started filter value. Example value&#58; "America/New_York"
        required: false
        type: string
        format: string
    ouId:
        name: ouId
        in: query
        description: Organization unit (group) ID. Required integer. Scopes the request to this org unit.
        required: true
        type: integer
        format: int32
    recordURL:
        name: recordURL
        in: query
        description: 'Boolean toggle. If true, include a signed URL to download the call recording. Default false.'
        required: false
        type: boolean
        default: false
    fetchComment:
        name: fetchComment
        in: query
        description: 'Boolean toggle. If true, include all comments associated with the call in the response. Default false.'
        required: false
        type: boolean
        default: false
    recordingFile:
        name: recordingFile
        in: query
        description: 'Boolean toggle. If true, include the recording filename as ''recording_file'' in the response. Default false.'
        required: false
        type: boolean
        default: false
    show_all_calls:
        name: show_all_calls
        in: query
        description: >-
            Boolean toggle. If true, include calls with or without indicator data. Default false (only calls with
            indicators).
        required: false
        type: boolean
        default: false
    display_referral:
        name: display_referral
        in: query
        description: 'Boolean toggle. If true, include referral service data in the response. Default false.'
        required: false
        type: boolean
        default: false
    idOptionalParam:
        name: id
        in: query
        description: Identification ID for the end point record to be returned
        required: false
        type: integer
        format: int32
    formatParam:
        name: format
        in: query
        description: >-
            Response serialization format. Accepts 'json' or 'xml'. Default is 'xml' for /call/webhook (all other
            endpoints use JSON by default).
        required: false
        type: string
        enum:
            - xml
            - json
        default: xml
    scorecardIdParam:
        name: scorecard_id
        in: query
        description: Scorecard ID for the end point record to be returned
        required: true
        type: integer
        format: int32
    deleteContactListId:
        name: list_id
        in: query
        description: Contact List for the end point record to be deleted
        required: true
        type: integer
        format: int32
    deleteContactId:
        name: contact_id
        in: query
        description: Contact ID for the end point record to be deleted
        required: true
        type: integer
        format: int32
