openapi: 3.0.3
info:
  title: Alianza Public API
  version: '2'
  description: |-
    Welcome to the Alianza Public API documentation, based on the OpenAPI 3.0 specification.

    _If you need the Swagger 2.0/OAS 2.0 version of the Alianza Public API, click [here](https://api.alianza.com/v2/apidocs/)._

    Authentication for most API endpoints requires the use of an <a href="data.html#xauthtoken" hidden>X-AUTH-TOKEN</a> X-AUTH-TOKEN header. Please reach out to your account manager for login credentials.
    To obtain an X-AUTH-TOKEN, use the POST /v2/authorize endpoint under the <a href="#/~operation/Authorize/">Authorize</a> group, which will return an authToken value. 
    Click the Authorize button below and provide the returned token. 

    <div hidden>
    Some useful links:
    - [Brief introduction to Alianza components](data.html) such as Partitions, Accounts and Users
    </div>
servers:
  - url: https://api.d2.alianza.com
    description: Development
  - url: https://api.q2.alianza.com
    description: QA
  - url: https://api.b2.alianza.com
    description: Beta
  - url: https://api.alianza.com
    description: Production
security:
  - X-Auth-Token: []
tags:
  - name: Account
    description: An account is the basic unit of telephone service for a business or home.
  - name: Account Device
    description: A device is an equipment, such as a VoIP or a soft phone, associated to an account.
  - name: Account Device Line
    description: A device line helps define the different features available, depending on the equipment type being used.
  - name: Account Prevalidate
    description: Operations for validating voice service of an account.
  - name: Account User
    description: An Account User (also known as an account manager) does not have a device on the system and has access to manage an account.
  - name: Address
    description: Search and validate addresses.
  - name: Asynchronous JOB Tracker
    description: Operations for managing asynchronous jobs
  - name: Authorize
    description: Retrieves authorization tokens and login info.
  - name: Brand Settings
    description: Brand settings toggles
  - name: Bulk Operation Collection
    description: Manage collections used in the bulk process.
  - name: Bulk Operation Job
    description: Manage jobs used in the bulk process.
  - name: Business Line
    description: Operations for managing business lines.
  - name: Business Line Hunt Group
    description: Operations for managing business line hunt groups
  - name: Call Group
    description: Call groups are the call destinations of <a href="#/~operation/Paging%20Group/">Paging</a> and <a href="#/~operation/Pickup%20Group/">Pickup</a> groups.
  - name: Calling Plan
    description: Calling plans allow you to control where your customers are allowed to call and what, if any, the cost should be for those calls.  Each of your plans can be set up with a number of included minutes or a per-minute rate, depending on how you want to charge for services.  The calling plans created at the partition level can be assigned to individual accounts and users based on their needs or the bundle they purchased.
  - name: Calling Plan Product
    description: Operations for managing calling plan products.
  - name: Call Parking Spot
    description: Operations for managing call parking spot.
  - name: CDRs
    description: A call detail record (CDR) documents the details of a telephone call.
  - name: Cymbus User Product
    description: Operations for managing Cymbus User Product
  - name: Device
    description: Convenience operations related to devices
  - name: Device (Deprecated)
    description: These endpoints are all deprecated. Use the Account Device and Account Device Lines instead.
  - name: Device Inventory Management
    description: Operations for managing device inventories.
  - name: Document Repository
    description: Operations for managing documents
  - name: Dynamic Inventory
    description: Operations for managing dynamic inventories of telephone numbers.
  - name: Edge Node
    description: Operations for managing edge nodes
  - name: Emergency Notification
    description: These endpoints manage extra notifications which occur when a 911 call is made on the Alianza switch, in compliance with Kari's law.
  - name: End User
    description: End Users may have one or more devices and telephone numbers assigned to them.
  - name: Inbound Rate Plan Product
    description: Operations for managing inbound rate plan products.
  - name: IVR
    description: An IVR is a menu system that allows callers to navigate through a series of options to reach a destination.
  - name: Language Reference
    description: Get language information.
  - name: Local Calling Areas
    description: Operations for managing local calling areas.
  - name: M2M Authentication
    description: Machine-to-Machine authentication operations using OAuth 2.0 Client Credentials Grant.
  - name: Management User
    description: Management users are employees of a service provider who can setup and administrate their partition.
  - name: Media
    description: Operations for managing audio files which are used for hold music or interactive voice recording prompts.
  - name: Paging Group
    description: Paging groups contain <a href="#/~operation/Call%20Group/">call groups</a> as destinations for a one way broadcast communication.
  - name: Partition
    description: A partition is the logical separation between Alianza customers in the platform. Each partition has its own ID, which is required for every API interaction.
  - name: Pickup Group
    description: Pickup groups contain <a href="#/~operation/Call%20Group/">call groups</a> as destinations for a call that will ring simultaneously to all members of the groups.
  - name: Port
    description: Telephone number port requests are not initiated by any of these endpoints, but the ongoing management of an existing port request is handled here.
  - name: Rate Center Inventory
    description: Operations for managing rate centers. A rate center is a geographical area used to determine the boundaries for local calling, billing, and assigning specific phone numbers, which can encompass multiple area codes.
  - name: Reference Resources
    description: Retrieve a list of the resources supported by Alianza.
  - name: Report
    description: Operations for managing reports.
  - name: Security Groups
    description: Security groups (also called roles) are assigned to management users. These assignments control more granular access to the Alianza API.
  - name: Service Activation
    description: Operations for managing service activation.
  - name: SIP Trunk
    description: Operations for managing SIP trunks
  - name: Sip Trunk Caller ID Mapping
    description: Operations for managing Sip Trunk Caller ID mappings
  - name: SIP Trunk Group
    description: Operations for managing SIP trunk groups
  - name: Single Sign On - SSO
    description: Operations for managing SSO
  - name: SSO Authentication
    description: Operations for managing SSO authentication flows and callbacks
  - name: SSO Configuration
    description: Operations for managing SSO configurations for accounts and partitions
  - name: SSO Exemptions
    description: Operations for managing SSO exemptions for accounts and partitions
  - name: Specialty Line
    description: Managed Specialty Lines uses carefully curated CPE (Customer Premises Equipment) that can replace virtually any specialty use hardline for critical business and life safety systems.
  - name: Supported Rate Centers
    description: A rate center is a geographical area used to determine the boundaries for local calling, billing, and assigning specific phone numbers, which can encompass multiple area codes.
  - name: Telephone Number
    description: Operations for managing telephone numbers.
  - name: User Groups
    description: Operations for managing user groups.
  - name: Voicemail Box
    description: Operations for managing voicemail boxes.
  - name: Virtual Fax Line
    description: Operations for managing virtual fax lines.
  - name: Virtual Fax
    description: Operations for managing virtual fax.
  - name: Voicemail Message
    description: Operations for managing voicemail messages.
paths:
  /v2/address/state/{state}/city/{city}/zipcode:
    get:
      tags:
        - Address
      summary: Retrieves a zip code list for US cities
      description: Use to retrieve a set of ZipCodeX objects for the given city and state in the US.
      operationId: getZipCodeByCityAndState
      parameters:
        - name: city
          in: path
          required: true
          schema:
            type: string
        - name: state
          in: path
          description: A two-letter state abbreviation in the US
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ZipcodeX'
                uniqueItems: true
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Zipcodes not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/address/typeahead:
    get:
      tags:
        - Address
      summary: Retrieves a list of addresses
      description: Retrieves a list of strings containing addresses. Use to build features like autocomplete search. As an address is typed in a list of potential addresses will be returned. A partial address can be used, for example, for zipcode 13905, just inputting the number 135 will bring back several addresses in the zipcode that begin with 135. If 135 F is input several addresses are brought back, including Front St.
      operationId: typeAhead
      parameters:
        - name: address
          in: query
          description: Address to parse.
          required: true
          schema:
            type: string
        - name: country
          in: query
          description: Alianza supports accounts in the USA and Canada. If not sure, use UNK (unknown).
          required: true
          schema:
            type: string
            enum:
              - USA
              - CAN
              - UNK
        - name: postalCode
          in: query
          description: Postal / Zip code of address
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Zipcodes not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/address/validate:
    get:
      tags:
        - Address
      summary: Parses and validates an address
      description: Use to parse an address line into an AddressValidationX object and validate it.  Address format should be in the form of number, street name, street suffix, ie 135 Front St.  Please note that the <a href="#/~schema/AddressValidationX">addressValidation.customerServiceRecordX.country</a> is not currently being populated in the response.
      operationId: validateAddress
      parameters:
        - name: address
          in: query
          description: Address to parse
          required: true
          schema:
            type: string
        - name: country
          in: query
          description: Alianza supports accounts in the USA and Canada. If not sure, use UNK (unknown).
          required: true
          schema:
            type: string
            enum:
              - USA
              - CAN
              - UNK
        - name: postalCode
          in: query
          description: Postal / Zip code of address
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddressValidationX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Zipcodes not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/app-branding/brand-settings:
    get:
      tags:
        - Brand Settings
      summary: Retrieve the general settings for all app brands of a partition.
      operationId: getBrandSettingsByPartitionId
      parameters:
        - name: partition
          in: query
          description: PartitionId for brands being retrieved.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BrandSettingsDTO'
        '400':
          description: Invalid Partition ID supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BrandErrorResponse'
        '404':
          description: Partition not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BrandErrorResponse'
    post:
      tags:
        - Brand Settings
      summary: Provision general settings associated to app branding for a new brand.
      operationId: createBrandByPartitionId
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateBrandSettings'
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BrandSettingsDTO'
        '400':
          description: Invalid Partition ID supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BrandErrorResponse'
        '404':
          description: Partition not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BrandErrorResponse'
        '409':
          description: 'Conflict: Brand already exists for the partition'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BrandErrorResponse'
  /v2/app-branding/brand-settings/{brandId}:
    get:
      tags:
        - Brand Settings
      summary: Retrieve the general settings associated to a specific brand.
      operationId: getBrandSettingsById
      parameters:
        - name: brandId
          in: path
          description: ID of brand to return
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BrandSettingsDTO'
        '400':
          description: Invalid ID supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BrandErrorResponse'
        '404':
          description: Brand not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BrandErrorResponse'
    put:
      tags:
        - Brand Settings
      summary: Provision the general settings associated to a specific brand.
      operationId: updateBrandSettingsById
      parameters:
        - name: brandId
          in: path
          description: ID of brand whose settings are being updated
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BrandSettingsDTO'
      responses:
        '200':
          description: Settings updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BrandSettingsDTO'
        '404':
          description: Brand not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BrandErrorResponse'
        '409':
          description: Modification of brandingCompleted is not allowed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BrandErrorResponse'
  /v2/authorize:
    put:
      tags:
        - Authorize
      summary: Update password
      description: Used to update an existing password
      operationId: changePassword
      requestBody:
        description: Login credentials with new password
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Login'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LoginTokenX'
        '400':
          description: FailedToUpdate, when new password doesn't satisfy the password requirements
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      security: []
      x-codegen-request-body-name: body
    post:
      tags:
        - Authorize
      summary: Login with login credentials
      description: 'Takes login credentials and returns token if successfully validates '
      operationId: logUserIn
      requestBody:
        description: Login credentials
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Login'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LoginTokenX'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      security: []
      x-codegen-request-body-name: body
  /v2/authorize/jwt:
    post:
      tags:
        - Authorize
      summary: Login with token
      description: Takes a jwt and returns login token if successfully validates. For validating a jwt, Alianza needs your public key, please contact your account manager.
      operationId: loginWithJWT
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              type: string
        required: false
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LoginTokenX'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      security: []
      x-codegen-request-body-name: body
  /v2/authorize/logout:
    put:
      tags:
        - Authorize
      summary: Log out a user
      description: Log out user for the given token in the header
      operationId: logOut
      responses:
        '200':
          description: Logout completed successfully
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/authorize/sso:
    get:
      tags:
        - Single Sign On - SSO
      summary: Get SSO data
      description: Returns data needed for the UI to initiate Single Sign On
      operationId: getClientId
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SsoDataX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      security: []
    post:
      tags:
        - Single Sign On - SSO
      summary: Authorization Code Exchange
      description: Pass the SSO response authorization code here to exchange it for an API authorization token
      operationId: getLoginInfo_1
      parameters:
        - name: code
          in: query
          schema:
            type: string
        - name: redirect_uri
          in: query
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LoginTokenX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      security: []
  /v2/authn/sso-config/accounts/{accountId}:
    get:
      tags:
        - SSO Configuration
      summary: List SSO configurations for account
      description: Retrieves all SSO configurations associated with a specific account.
      operationId: listSSOConfigsByAccountId
      parameters:
        - name: accountId
          in: path
          required: true
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          schema:
            type: string
      responses:
        '200':
          description: SSO configurations retrieved successfully
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SSOConfigResponse'
        '401':
          description: Unauthorized - Invalid or missing X-Auth-Token
        '404':
          description: Not Found - Account not found or no SSO configurations exist
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '500':
          description: Internal Server Error - Failed to retrieve configurations
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    put:
      tags:
        - SSO Configuration
      summary: Update SSO configuration
      description: Updates an existing SSO configuration for an account.
      operationId: updateSSOConfig
      parameters:
        - name: accountId
          in: path
          required: true
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          schema:
            type: string
      requestBody:
        required: true
        description: Updated SSO configuration details
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CompleteSSOConfigRequest'
          multipart/form-data:
            schema:
              type: object
              required:
                - ssoName
                - identityProviderSignInUrl
                - externalIdAttributeFieldMapping
                - identityProviderSigningCertificate
              properties:
                ssoName:
                  type: string
                  description: SSO configuration name
                identityProviderSignInUrl:
                  type: string
                  format: uri
                  description: Identity provider sign-in endpoint URL
                externalIdAttributeFieldMapping:
                  type: string
                  description: External ID attribute field mapping in SAML response
                externalEmailAttributeFieldMapping:
                  type: string
                  description: External email attribute field mapping in SAML response
                identityProviderSigningCertificate:
                  type: string
                  format: binary
                  description: IdP signing certificate file (PEM or CER format)
                samlRequestProtocolBinding:
                  $ref: '#/components/schemas/SAMLRequestProtocolBinding'
      responses:
        '200':
          description: SSO configuration updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SSOConfigResponse'
        '400':
          description: Bad Request - Invalid request parameters or validation failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized - Invalid or missing X-Auth-Token
        '404':
          description: Not Found - SSO configuration not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '500':
          description: Internal Server Error - Failed to update configuration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/authn/sso-config/accounts/{accountId}/{ssoName}/status:
    post:
      tags:
        - SSO Configuration
      summary: Enable SSO configuration
      description: Enables or disables the SSO configuration for an account.
      operationId: enableSSO
      parameters:
        - name: accountId
          in: path
          required: true
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          schema:
            type: string
        - name: ssoName
          in: path
          required: true
          description: SSO configuration name
          schema:
            type: string
        - name: enabled
          in: query
          required: false
          description: Set true to enable SSO config
          schema:
            type: boolean
            default: false
      responses:
        '200':
          description: SSO configuration enabled successfully
        '400':
          description: Bad Request - Invalid status transition or configuration incomplete
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized - Invalid or missing X-Auth-Token
        '404':
          description: Not Found - SSO configuration not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '500':
          description: Internal Server Error - Failed to enable configuration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/authn/sso-config/accounts/{accountId}/signing-certificate:
    get:
      tags:
        - SSO Configuration
      summary: Download signing certificate
      description: Downloads the service provider signing certificate for SAML configuration.
      operationId: downloadSigningCertificate
      parameters:
        - name: accountId
          in: path
          required: true
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          schema:
            type: string
        - name: format
          in: query
          required: false
          description: Certificate format
          schema:
            type: string
            enum:
              - pem
              - cer
            default: pem
      responses:
        '200':
          description: Certificate downloaded successfully
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
        '401':
          description: Unauthorized - Invalid or missing X-Auth-Token
        '404':
          description: Not Found - Account or certificate not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '500':
          description: Internal Server Error - Failed to retrieve certificate
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/authn/sso-config/accounts/{accountId}/user-validation:
    get:
      tags:
        - SSO Configuration
      summary: Validate user against account SSO configuration
      description: Validates the user context for the account-level SSO configuration.
      operationId: getUserValidation
      parameters:
        - name: accountId
          in: path
          required: true
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          schema:
            type: string
        - name: partitionId
          in: query
          required: true
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          schema:
            type: string
        - name: userId
          in: query
          required: false
          description: ID of end-user
          schema:
            type: string
      responses:
        '200':
          description: User validation result
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserValidationResponse'
        '400':
          description: Bad Request - Invalid request parameters or validation failed
        '404':
          description: Not Found
        '500':
          description: Internal Server Error
  /v2/authn/sso-config/accounts:
    post:
      tags:
        - SSO Configuration
      summary: Create account SSO configuration
      description: Creates a new SSO configuration for an account to enable SAML-based authentication.
      operationId: createSSOConfig
      requestBody:
        required: true
        description: SSO configuration details
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SSOConfigCreateRequest'
      responses:
        '201':
          description: SSO configuration created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SSOConfigCreateResponse'
        '400':
          description: Bad Request - Invalid request parameters or validation failed
        '401':
          description: Unauthorized - Invalid or missing X-Auth-Token
        '404':
          description: Not Found - Account or partition not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/authn/sso-config/accounts/{accountId}/{ssoName}:
    get:
      tags:
        - SSO Configuration
      summary: Get specific SSO configuration
      description: Retrieves a specific SSO configuration by name for an account.
      operationId: getSSOConfig
      parameters:
        - name: accountId
          in: path
          required: true
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          schema:
            type: string
        - name: ssoName
          in: path
          required: true
          description: SSO configuration name
          schema:
            type: string
      responses:
        '200':
          description: SSO configuration found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SSOConfigResponse'
        '400':
          description: Bad Request - Invalid request parameters or validation failed
        '401':
          description: Unauthorized - Invalid or missing X-Auth-Token
        '404':
          description: Not Found - Account or partition not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    delete:
      tags:
        - SSO Configuration
      summary: Delete SSO configuration
      description: Removes an SSO configuration from an account.
      operationId: deleteSSOConfig
      parameters:
        - name: accountId
          in: path
          required: true
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          schema:
            type: string
        - name: ssoName
          in: path
          required: true
          description: SSO configuration name
          schema:
            type: string
      responses:
        '204':
          description: SSO configuration deleted successfully
        '401':
          description: Unauthorized - Invalid or missing X-Auth-Token
        '404':
          description: Not Found - SSO configuration not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '500':
          description: Internal Server Error - Failed to delete configuration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/authn/sso-config/partitions/enforced:
    post:
      tags:
        - SSO Configuration
      summary: Create partition enforced SSO configuration
      description: Creates a new Partition Enforced SSO (PESSO) configuration.
      operationId: createSSOConfigPartitionEnforced
      requestBody:
        required: true
        description: SSO configuration details
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SSOConfigCreateRequest'
      responses:
        '201':
          description: SSO configuration created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SSOConfigCreateResponse'
              example:
                scope: PARTITION_ENFORCED_SSO
                scopeId: partition-123
                ssoName: enterprise-sso-def456
                assertionConsumerResponseUrl: https://api.alianza.com/v2/sso/callback
                serviceProviderEntityId: urn:amazon:cognito:sp:us-east-1_ABC123
                serviceProviderSigningCertificate: -----BEGIN CERTIFICATE-----...
                createdAt: '2025-10-01T12:00:00Z'
        '400':
          description: Bad Request - Invalid request parameters or validation failed
        '401':
          description: Unauthorized - Invalid or missing X-Auth-Token
        '404':
          description: Not Found - Partition not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/authn/sso-config/partitions/enforced/{partitionId}:
    get:
      tags:
        - SSO Configuration
      summary: List partition SSO configurations
      description: Retrieves all SSO configurations for a specific partition.
      operationId: listSSOConfigsByPartitionIdPartitionEnforced
      parameters:
        - name: partitionId
          in: path
          required: true
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          schema:
            type: string
      responses:
        '200':
          description: SSO configurations retrieved successfully
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SSOConfigResponse'
        '401':
          description: Unauthorized - Invalid or missing X-Auth-Token
        '404':
          description: Not Found - Partition not found or no SSO configurations exist
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '500':
          description: Internal Server Error - Failed to retrieve configurations
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    put:
      tags:
        - SSO Configuration
      summary: Update SSO configuration
      description: |
        Updates an existing Partition Enforced SSO configuration with Identity Provider details.
      operationId: updateSSOConfigPartitionEnforced
      parameters:
        - name: partitionId
          in: path
          required: true
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          schema:
            type: string
      requestBody:
        required: true
        description: Updated SSO configuration details
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CompleteSSOConfigRequest'
          multipart/form-data:
            schema:
              type: object
              required:
                - ssoName
                - identityProviderSignInUrl
                - externalIdAttributeFieldMapping
                - identityProviderSigningCertificate
                - userIdAttributeFieldMapping
              properties:
                ssoName:
                  type: string
                  description: SSO configuration name
                identityProviderSignInUrl:
                  type: string
                  format: uri
                  description: Identity provider sign-in endpoint URL
                externalIdAttributeFieldMapping:
                  type: string
                  description: External ID attribute field mapping in SAML response
                externalEmailAttributeFieldMapping:
                  type: string
                  description: External email attribute field mapping in SAML response
                userIdAttributeFieldMapping:
                  type: string
                  description: Alianza user id attribute field mapping in SAML response
                identityProviderSigningCertificate:
                  type: string
                  format: binary
                  description: IdP signing certificate file (PEM or CER format)
                samlRequestProtocolBinding:
                  $ref: '#/components/schemas/SAMLRequestProtocolBinding'
                idpLogoutUrl:
                  type: string
                  format: uri
                  description: Identity Provider logout URL where SAML logout requests are sent (optional)
      responses:
        '200':
          description: SSO configuration updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SSOConfigResponse'
        '400':
          description: Bad Request - Invalid request parameters or validation failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized - Invalid or missing X-Auth-Token
        '404':
          description: Not Found - SSO configuration not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '500':
          description: Internal Server Error - Failed to update configuration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/authn/sso-config/partitions/enforced/{partitionId}/{ssoName}:
    get:
      tags:
        - SSO Configuration
      summary: Get specific SSO configuration
      description: Retrieves a specific SSO configuration by name for a partition.
      operationId: getSSOConfigPartitionEnforced
      parameters:
        - name: partitionId
          in: path
          required: true
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          schema:
            type: string
        - name: ssoName
          in: path
          required: true
          description: SSO configuration name
          schema:
            type: string
      responses:
        '200':
          description: SSO configuration found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SSOConfigResponse'
        '401':
          description: Unauthorized - Invalid or missing X-Auth-Token
        '404':
          description: Not Found - SSO configuration not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '500':
          description: Internal Server Error - Failed to retrieve configuration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    delete:
      tags:
        - SSO Configuration
      summary: Delete SSO configuration
      description: Permanently removes an SSO configuration from a partition.
      operationId: deleteSSOConfigPartitionEnforced
      parameters:
        - name: partitionId
          in: path
          required: true
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          schema:
            type: string
        - name: ssoName
          in: path
          required: true
          description: SSO configuration name
          schema:
            type: string
      responses:
        '204':
          description: SSO configuration deleted successfully
        '401':
          description: Unauthorized - Invalid or missing X-Auth-Token
        '404':
          description: Not Found - SSO configuration not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '500':
          description: Internal Server Error - Failed to delete configuration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/authn/sso-config/partitions/enforced/sub-partitions/{ssoName}:
    put:
      tags:
        - SSO Configuration
      summary: Update enforced sub-partitions
      description: Updates the list of sub-partitions enforced by a PESSO configuration (merge/add-only).
      operationId: updateSubPartitionsList
      parameters:
        - name: ssoName
          in: path
          required: true
          description: SSO configuration name
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateSubPartitionsRequest'
            example:
              enforcedSubPartitions:
                - sub-partition-1
                - sub-partition-2
              allowAlianzaAuthentication: false
              allowSpInitiatedAuthenticationFlow: true
      responses:
        '204':
          description: Sub-partitions updated successfully
        '400':
          description: Bad Request - Invalid sub-partition provided or validation failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized - Invalid or missing X-Auth-Token
        '404':
          description: Not Found - SSO configuration not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/authn/sso-config/partitions/enforced/{partitionId}/{ssoName}/status:
    post:
      tags:
        - SSO Configuration
      summary: Enable SSO configuration
      description: Enables or disables the SSO configuration for a partition.
      operationId: enableSSOPartitionEnforced
      parameters:
        - name: partitionId
          in: path
          required: true
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          schema:
            type: string
        - name: ssoName
          in: path
          required: true
          description: SSO configuration name
          schema:
            type: string
        - name: enabled
          in: query
          required: false
          description: Enables SSO config
          schema:
            type: boolean
            default: false
      responses:
        '200':
          description: SSO configuration enabled successfully
        '400':
          description: Bad Request - Invalid status transition or configuration incomplete
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized - Invalid or missing X-Auth-Token
        '404':
          description: Not Found - SSO configuration not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '500':
          description: Internal Server Error - Failed to enable configuration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/authn/sso-config/partitions/enforced/{partitionId}/signing-certificate:
    get:
      tags:
        - SSO Configuration
      summary: Download signing certificate
      description: Downloads the service provider signing certificate for SAML configuration.
      operationId: downloadSigningCertificatePartitionEnforced
      parameters:
        - name: partitionId
          in: path
          required: true
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          schema:
            type: string
        - name: format
          in: query
          required: false
          description: Certificate format
          schema:
            type: string
            enum:
              - pem
              - cer
            default: pem
      responses:
        '200':
          description: Certificate downloaded successfully
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
        '401':
          description: Unauthorized - Invalid or missing X-Auth-Token
        '404':
          description: Not Found - Partition or certificate not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '500':
          description: Internal Server Error - Failed to retrieve certificate
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/authn/sso-config/accounts/{accountId}/exemptions:
    post:
      tags:
        - SSO Exemptions
      summary: Add SSO exemption
      description: |
        Creates an SSO exemption for specific users or groups in an account.

        Exemptions allow designated users or groups to bypass SSO requirements
        and use traditional authentication.
      operationId: addSSOExemption
      parameters:
        - name: accountId
          in: path
          required: true
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          schema:
            type: string
      requestBody:
        required: true
        description: Exemption details
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SSOExemptionRequest'
      responses:
        '201':
          description: Exemption created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SSOExemptionResponse'
              example:
                exemptionId: exempt-abc-123
                partitionId: partition-789
                accountId: account-456
                accountName: Acme Corporation
                exemptionName: emergency-admins
                exemptionType: USER
                exemptions:
                  - user-123
                  - api-service-account
        '400':
          description: Bad Request - Invalid exemption data or validation failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized - Invalid or missing X-Auth-Token
        '404':
          description: Not Found - Account or SSO configuration not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '500':
          description: Internal Server Error - Failed to create exemption
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    get:
      tags:
        - SSO Exemptions
      summary: List SSO exemptions
      description: Retrieves all SSO exemptions for an account.
      operationId: getSSOExemptionsByAccount
      parameters:
        - name: accountId
          in: path
          required: true
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          schema:
            type: string
      responses:
        '200':
          description: Exemptions retrieved successfully
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SSOExemptionResponse'
              example:
                - exemptionId: exempt-abc-123
                  partitionId: partition-789
                  accountId: account-456
                  accountName: Acme Corporation
                  exemptionName: emergency-admins
                  exemptionType: USER
                  exemptions:
                    - user-123
                    - api-service-account
                - exemptionId: exempt-def-456
                  partitionId: partition-789
                  accountId: account-456
                  accountName: Acme Corporation
                  exemptionName: contractor-group
                  exemptionType: GROUP
                  exemptions:
                    - group-external-contractors
        '401':
          description: Unauthorized - Invalid or missing X-Auth-Token
        '404':
          description: Not Found - No exemptions found for the account
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '500':
          description: Internal Server Error - Failed to retrieve exemptions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/authn/sso-config/accounts/{accountId}/exemptions/{exemptionId}:
    get:
      tags:
        - SSO Exemptions
      summary: Get SSO exemption
      description: Retrieves a specific SSO exemption by ID.
      operationId: getSSOExemptionById
      parameters:
        - name: accountId
          in: path
          required: true
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          schema:
            type: string
        - name: exemptionId
          in: path
          required: true
          description: Exemption identifier
          schema:
            type: string
      responses:
        '200':
          description: Exemption found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SSOExemptionResponse'
        '401':
          description: Unauthorized - Invalid or missing X-Auth-Token
        '404':
          description: Not Found - Exemption not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '500':
          description: Internal Server Error - Failed to retrieve exemption
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    put:
      tags:
        - SSO Exemptions
      summary: Update SSO exemption
      description: Updates an existing SSO exemption.
      operationId: updateSSOExemption
      parameters:
        - name: accountId
          in: path
          required: true
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          schema:
            type: string
        - name: exemptionId
          in: path
          required: true
          description: Exemption identifier
          schema:
            type: string
      requestBody:
        required: true
        description: Updated exemption details
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SSOExemptionRequest'
      responses:
        '200':
          description: Exemption updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SSOExemptionResponse'
              example:
                exemptionId: exempt-abc-123
                partitionId: partition-789
                accountId: account-456
                exemptionName: emergency-admins
                exemptionType: USER
                exemptions:
                  - user-123
                  - user-456
                  - new-admin-789
        '400':
          description: Bad Request - Invalid exemption data or validation failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized - Invalid or missing X-Auth-Token
        '404':
          description: Not Found - Exemption not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '500':
          description: Internal Server Error - Failed to update exemption
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    delete:
      tags:
        - SSO Exemptions
      summary: Delete SSO exemption
      description: Removes an SSO exemption.
      operationId: deleteSSOExemption
      parameters:
        - name: accountId
          in: path
          required: true
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          schema:
            type: string
        - name: exemptionId
          in: path
          required: true
          description: Exemption identifier
          schema:
            type: string
      responses:
        '204':
          description: Exemption deleted successfully - no content returned
        '401':
          description: Unauthorized - Invalid or missing X-Auth-Token
        '404':
          description: Not Found - Exemption not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '500':
          description: Internal Server Error - Failed to delete exemption
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/authn/sso-config/partitions/enforced/{partitionId}/exemptions:
    post:
      tags:
        - SSO Exemptions
      summary: Add enforced SSO exemption
      description: |
        Creates an SSO exemption for entire accounts in a partition with enforced SSO.
      operationId: addSSOExemptionPartitionEnforced
      parameters:
        - name: partitionId
          in: path
          required: true
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          schema:
            type: string
      requestBody:
        required: true
        description: Exemption configuration details
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SSOExemptionRequest'
      responses:
        '201':
          description: Exemption created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SSOExemptionResponse'
              example:
                exemptionId: exempt-pesso-789
                partitionId: partition-123
                exemptionName: pilot-accounts
                exemptionType: ACCOUNT
                exemptions:
                  - acc-pilot-dept
                  - acc-test-group
        '400':
          description: Bad Request - Invalid exemption data or validation failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized - Invalid or missing X-Auth-Token
        '404':
          description: Not Found - Partition or SSO configuration not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '409':
          description: Conflict - One or more accounts/users/groups already exempted by another exemption
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '500':
          description: Internal Server Error - Failed to create exemption
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    get:
      tags:
        - SSO Exemptions
      summary: List enforced SSO exemptions
      description: Retrieves all SSO exemptions for a partition with enforced SSO.
      operationId: getSSOExemptionsByPartition
      parameters:
        - name: partitionId
          in: path
          required: true
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          schema:
            type: string
      responses:
        '200':
          description: Exemptions retrieved successfully
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SSOExemptionResponse'
              example:
                - exemptionId: exempt-pesso-789
                  partitionId: partition-123
                  exemptionName: pilot-accounts
                  exemptionType: ACCOUNT
                  exemptions:
                    - acc-pilot-dept
                    - acc-test-group
                - exemptionId: exempt-pesso-456
                  partitionId: partition-123
                  exemptionName: emergency-admins
                  exemptionType: USER
                  exemptions:
                    - user-emergency-1
                    - api-service-account
                - exemptionId: exempt-pesso-123
                  partitionId: partition-123
                  exemptionName: contractor-teams
                  exemptionType: GROUP
                  exemptions:
                    - group-external-contractors
        '401':
          description: Unauthorized - Invalid or missing X-Auth-Token
        '404':
          description: Not Found - No exemptions found for the partition
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '500':
          description: Internal Server Error - Failed to retrieve exemptions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/authn/sso-config/partitions/enforced/{partitionId}/exemptions/{exemptionId}:
    get:
      tags:
        - SSO Exemptions
      summary: Get specific enforced SSO exemption
      description: Retrieves a specific SSO exemption by ID for enforced SSO.
      operationId: getSSOExemptionByIdPartitionEnforced
      parameters:
        - name: partitionId
          in: path
          required: true
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          schema:
            type: string
        - name: exemptionId
          in: path
          required: true
          description: Exemption identifier
          schema:
            type: string
      responses:
        '200':
          description: Exemption found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SSOExemptionResponse'
        '401':
          description: Unauthorized - Invalid or missing X-Auth-Token
        '404':
          description: Not Found - Exemption not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    put:
      tags:
        - SSO Exemptions
      summary: Update enforced SSO exemption
      description: Updates an existing SSO exemption for enforced SSO.
      operationId: updateSSOExemptionPartitionEnforced
      parameters:
        - name: partitionId
          in: path
          required: true
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          schema:
            type: string
        - name: exemptionId
          in: path
          required: true
          description: Exemption identifier
          schema:
            type: string
      requestBody:
        required: true
        description: Updated exemption configuration
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SSOExemptionRequest'
      responses:
        '200':
          description: Exemption updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SSOExemptionResponse'
              example:
                exemptionId: exempt-pesso-789
                partitionId: partition-123
                exemptionName: pilot-accounts
                exemptionType: ACCOUNT
                exemptions:
                  - acc-pilot-dept
                  - acc-test-group
                  - acc-new-pilot
        '400':
          description: Bad Request - Invalid exemption data or validation failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized - Invalid or missing X-Auth-Token
        '404':
          description: Not Found - Exemption not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    delete:
      tags:
        - SSO Exemptions
      summary: Delete enforced SSO exemption
      description: Removes an SSO exemption from enforced SSO configuration.
      operationId: deleteSSOExemptionPartitionEnforced
      parameters:
        - name: partitionId
          in: path
          required: true
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          schema:
            type: string
        - name: exemptionId
          in: path
          required: true
          description: Exemption identifier
          schema:
            type: string
      responses:
        '204':
          description: Exemption deleted successfully - no content returned
        '401':
          description: Unauthorized - Invalid or missing X-Auth-Token
        '404':
          description: Not Found - Exemption not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/authn/sso/{emailAddress}:
    post:
      tags:
        - SSO Authentication
      summary: Initiate SSO Authentication (Service Provider-Initiated Flow)
      description: |
        Initiates the SSO authentication process by redirecting the user to their configured Identity Provider (IdP).

        What this endpoint does:
        1. Looks up the SSO configuration based on the user's email domain
        2. Generates a SAML authentication request
        3. Returns the SAML request in a 200 or 303 response depending on request parameters

        Note: This does not authenticate the user directly. It starts the redirect flow to the IdP.
      operationId: spInitiatedAuthn
      parameters:
        - name: emailAddress
          in: path
          required: true
          description: The user's email address, used to identify the SSO configuration by email domain
          schema:
            type: string
            format: email
        - name: redirect
          in: query
          required: false
          description: |
            When true, returns HTTP 303 and may include a Location header.
            When false, returns HTTP 200 with the redirect URL in the response body.
          schema:
            type: boolean
            default: true
        - name: X-AUTH-REDIRECT-OVERRIDE
          in: header
          required: false
          description: |
            Optional redirect URL override for specific applications.
            If provided, the user will be redirected to this URL after successful authentication instead of the default callback URL.
          schema:
            type: string
            format: uri
      responses:
        '200':
          description: Redirect URI generated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RedirectResponse'
              example:
                redirectUri: https://idp.example.com/login?SAMLRequest=abc123
        '303':
          description: |
            See Other - redirect URL returned in the response body and optionally in the Location header.
          headers:
            Location:
              description: |
                Optional redirect URL to SSO provider login page.
                Present when `redirect=true` and User-Agent is not AUCA.
              required: false
              schema:
                type: string
                format: uri
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RedirectResponse'
              example:
                redirectUri: https://idp.example.com/login?SAMLRequest=abc123
        '400':
          description: Bad Request - Invalid email or request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationErrorResponse'
              example:
                errors:
                  - path param emailAddress must be a well-formed email address
        '404':
          description: Not Found - SSO configuration not found for email domain
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '500':
          description: Internal Server Error - Failed to build Auth0 URL
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/authn/sso/login-callback:
    post:
      tags:
        - SSO Authentication
      summary: Complete SSO Authentication (IdP Callback)
      description: |
        Completes the SSO authentication flow after the user has authenticated with their Identity Provider.

        Flow:
        1. User authenticates at the IdP
        2. IdP sends SAML assertion to Auth0
        3. Auth0 exchanges it for an authorization code
        4. This endpoint receives the code and exchanges it for user tokens
        5. Returns a LoginTokenX object for authenticated API use
      operationId: finishSSO
      parameters:
        - name: code
          in: query
          required: true
          description: Authorization code from Auth0 after successful IdP authentication
          schema:
            type: string
        - name: redirect_uri
          in: query
          required: true
          description: Must exactly match the URI used in the initial authentication request
          schema:
            type: string
            format: uri
        - name: state
          in: query
          required: true
          description: |
            State token for session tracking and CSRF protection.
            Contains the SSO configuration scope level.
          schema:
            type: string
            enum:
              - ACCOUNT_LEVEL_SSO
              - PARTITION_ENFORCED_SSO
              - PARTITION_SSO
      responses:
        '200':
          description: Authentication successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LoginTokenX'
        '400':
          description: Bad Request - Invalid or malformed parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OAuthErrorResponse'
              examples:
                invalidAuthorizationCode:
                  summary: Invalid Authorization Code
                  value:
                    code: INVALID_AUTHORIZATION_CODE
                    message: Authorization code is invalid or has expired
                    details:
                      code: eyJhbGci...
                redirectUriMismatch:
                  summary: Redirect URI Mismatch
                  value:
                    code: REDIRECT_URI_MISMATCH
                    message: Redirect URI does not match the original request
                    details:
                      provided: https://wrong.alianza.com/callback
                      expected: https://app.alianza.com/auth/callback
        '401':
          description: Authentication failed - Invalid state or code verification failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OAuthErrorResponse'
              example:
                code: INVALID_STATE
                message: State token validation failed - possible CSRF attack
                details:
                  state: ACCOUNT_LEVEL_SSO
        '404':
          description: State not found or session expired
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OAuthErrorResponse'
              example:
                code: SESSION_EXPIRED
                message: Authentication session has expired. Please initiate SSO login again.
                details:
                  maxSessionAge: 15 minutes
  /v2/authn/sso/sso-linkage:
    delete:
      tags:
        - SSO Authentication
      summary: Unlink SSO for a user
      description: Removes the SSO linkage for a specific user.
      operationId: unlinkSSO
      parameters:
        - name: partitionId
          in: query
          required: true
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          schema:
            type: string
        - name: accountId
          in: query
          required: true
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          schema:
            type: string
        - name: userId
          in: query
          required: true
          description: ID of end-user to unlink
          schema:
            type: string
      responses:
        '204':
          description: SSO linkage removed successfully
        '401':
          description: Unauthorized
        '403':
          description: Forbidden - insufficient permissions
        '404':
          description: SSO linkage not found
    get:
      tags:
        - SSO Authentication
      summary: Get SSO linkages
      description: Retrieves SSO linkage information for specified SSO configurations.
      operationId: getSSOLinkages
      parameters:
        - name: partitionId
          in: query
          required: true
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          schema:
            type: string
        - name: accountId
          in: query
          required: true
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          schema:
            type: string
      responses:
        '200':
          description: SSO linkages retrieved successfully
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SSOLinkage'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden - insufficient permissions
  /v2/authorize/userinfo:
    get:
      tags:
        - Authorize
      summary: User Information
      description: Return user information for a given token in the header
      operationId: getLoginInfo
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LoginTokenX'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/bulk-user-operation/collection:
    post:
      tags:
        - Bulk Operation Collection
      summary: Create new collection
      description: Create a new collection. This endpoint can take two content types -- application/json and multipart/form-data. Please see the request body examples for the content type you will be using.
      operationId: create_collection
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CollectionDTO'
            examples:
              collectionRequest:
                $ref: '#/components/examples/CreateCollectionWithJsonRequestExample'
          multipart/form-data:
            schema:
              type: object
              properties:
                transformObjectType:
                  type: string
                transformObjectsFile:
                  type: string
                  format: binary
                columnTypes:
                  type: string
                jobTypeId:
                  type: string
            examples:
              collectionRequest:
                $ref: '#/components/examples/CreateCollectionWithFileExample'
        required: true
      responses:
        '200':
          description: Collection created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CollectionDTO'
        '400':
          description: Invalid collection details supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkOperationErrorResponse'
        '403':
          description: Unauthorized access
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkOperationErrorResponse'
        '422':
          description: associated collection has pre-validation errors
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkOperationErrorResponse'
  /v2/bulk-user-operation/collection/{collectionId}:
    get:
      tags:
        - Bulk Operation Collection
      summary: Get collection details
      description: Get collection details by ID
      operationId: get_collection
      parameters:
        - name: collectionId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Collection retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CollectionDTO'
              examples:
                collectionResponse:
                  $ref: '#/components/examples/GetCollectionResponseExample'
        '403':
          description: Unauthorized access
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkOperationErrorResponse'
        '404':
          description: Invalid collectionId or Collection not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkOperationErrorResponse'
  /v2/bulk-user-operation/collection/{collectionId}/{extension}:
    get:
      tags:
        - Bulk Operation Collection
      summary: Get collection file
      description: Get collection file by ID and extension
      operationId: get_collection_file
      parameters:
        - name: collectionId
          in: path
          required: true
          schema:
            type: string
        - name: extension
          in: path
          required: true
          schema:
            type: string
            enum:
              - json
              - csv
      responses:
        '200':
          description: Collection file retrieved successfully
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
        '403':
          description: Unauthorized access
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkOperationErrorResponse'
        '404':
          description: Invalid collectionId or Collection not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkOperationErrorResponse'
  /v2/bulk-user-operation/job:
    post:
      tags:
        - Bulk Operation Job
      summary: Create new job
      description: Create a new job. This endpoint can take two content types -- application/json and multipart/form-data. Please see the request body examples for the content type you will be using.
      operationId: create_job
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JobDTO'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/JobFormDTO'
            examples:
              jobRequest:
                $ref: '#/components/examples/CreateJobExample'
        required: true
      responses:
        '200':
          description: Job created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JobDTO'
        '400':
          description: Invalid job details supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkOperationErrorResponse'
        '403':
          description: Unauthorized access
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkOperationErrorResponse'
        '422':
          description: Unprocessable Content
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkOperationErrorResponse'
  /v2/bulk-user-operation/job/{jobId}:
    get:
      tags:
        - Bulk Operation Job
      summary: Get job details
      description: Get job details by ID
      operationId: get_job
      parameters:
        - name: jobId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Job retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JobDTO'
        '403':
          description: Unauthorized access
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkOperationErrorResponse'
        '404':
          description: Job not found; Invalid JobId
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkOperationErrorResponse'
    put:
      tags:
        - Bulk Operation Job
      summary: Update existing job
      description: Update an existing job
      operationId: update_job
      parameters:
        - name: jobId
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JobDTO'
        required: true
      responses:
        '200':
          description: Job updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JobDTO'
        '400':
          description: Invalid job details supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkOperationErrorResponse'
        '403':
          description: Unauthorized access
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkOperationErrorResponse'
        '404':
          description: Job not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkOperationErrorResponse'
  /v2/ces/deviceGraph/{macaddress}:
    get:
      tags:
        - Device
      summary: Device Graph
      description: Use to search for a deviceGraph, which is defined as information about a specific physical phone interface, plus information about all of the phone numbers which ring that device.
      operationId: deviceGraph
      parameters:
        - name: limited
          in: query
          description: Whether the phone information is limited.<br/>If false, this returns a <a href="#/~schema/DeviceGraphUnlimited">DeviceGraphUnlimited</a> which contains extensive information about the telephone number and account.<br/>If true this returns a <a href="#/~schema/DeviceGraphLimited">DeviceGraphLimited</a> which only lists the phone numbers.
          schema:
            type: boolean
            default: false
        - name: macaddress
          in: path
          description: The mac address of the phone interface
          required: true
          schema:
            type: string
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/DeviceGraphLimited'
                  - $ref: '#/components/schemas/DeviceGraphUnlimited'
        '401':
          description: Expired Auth Token
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Device not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/cymbus/account-group:
    put:
      tags:
        - Cymbus User Product
      summary: Update Cymbus account group
      description: Use to update Cymbus account group
      operationId: updateCymbusAccountGroup
      requestBody:
        description: Stretto Device Line object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CymbusAccountGroup'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CymbusAccountGroup'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/cymbus/account-group/prevalidate:
    post:
      tags:
        - Cymbus User Product
      summary: Prevalidate Cymbus account name
      description: Use to verify that the chosen name is available
      operationId: prevalidateCymbusGroupName
      parameters:
        - name: groupName
          in: query
          schema:
            type: string
      responses:
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        default:
          description: Successful operation
          content: {}
  /v2/cymbus/account-group/{accountid}:
    get:
      tags:
        - Cymbus User Product
      summary: Retrieve Cymbus account group
      description: Use to retrieve the Cymbus group associated to an account
      operationId: retrieveStrettoDeviceLinesGroup
      parameters:
        - name: accountid
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CymbusAccountGroup'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/cymbus/partition-group:
    put:
      tags:
        - Cymbus User Product
      summary: Update Cymbus group
      description: Use to update specific Cymbus group (only support email and name
      operationId: updateCymbusPartitionGroup
      requestBody:
        description: Cymbus partition group object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CymbusPartitionGroup'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CymbusPartitionGroup'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/cymbus/partition-group/{partitionId}:
    get:
      tags:
        - Cymbus User Product
      summary: Retrieve Cymbus group
      description: Use to retrieve the Cymbus group associated to a partition
      operationId: retrieveCymbusPartitionGroup
      parameters:
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CymbusPartitionGroup'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/cymbus/{userid}/sipcredentials:
    get:
      tags:
        - Cymbus User Product
      summary: Retrieve SIP credentials for Cymbus user
      description: Use to retrieve SIP credentials for both lines associated to an account
      operationId: retrieveSipCredentialsForCymbusUser
      parameters:
        - name: userid
          in: path
          description: ID of end-user
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SipCredentialData'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/cymbus/{userid}/sipcredentials/change:
    put:
      tags:
        - Cymbus User Product
      summary: Change SIP password for Cymbus user
      description: Use to change SIP password for both Cymbus user lines
      operationId: changeSipCredentialsForCymbusUser
      parameters:
        - name: userid
          in: path
          description: ID of end-user
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SipCredentialData'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/enm/edge-node:
    get:
      tags:
        - Edge Node
      summary: Get Edge Nodes
      description: List edge nodes for a partition ID
      operationId: getPartitionNodes
      parameters:
        - name: partitionId
          in: query
          required: false
          schema:
            type: string
        - name: default
          in: query
          required: false
          schema:
            type: boolean
          description: If true, the list will contain only the partition's default node
        - name: pageSize
          in: query
          required: false
          schema:
            type: integer
          description: defaults to 100
        - name: pageNum
          in: query
          required: false
          schema:
            type: integer
          description: defaults to 0
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NodeQueryResult'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '422':
          description: Invalid pageSize; Invalid pageNum
    post:
      tags:
        - Edge Node
      summary: Create Edge Node
      description: Create Edge Node
      operationId: createNode
      parameters:
        - name: default
          in: query
          required: false
          schema:
            type: boolean
          description: Set node as default for new accounts. Defaults to false.
      requestBody:
        description: Create an Edge Node
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NodeUpsert'
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Node'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Partition not found
        '422':
          description: Body missing required fields
      x-codegen-request-body-name: body
  /v2/enm/edge-node/{nodeId}:
    delete:
      tags:
        - Edge Node
      summary: Delete Edge Node
      description: Delete edge node
      operationId: deleteNode
      parameters:
        - name: nodeId
          in: path
          description: ID of Edge Node
          required: true
          schema:
            type: string
      responses:
        '204':
          description: Successful operation
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Node not found
    get:
      tags:
        - Edge Node
      summary: Get Edge Node
      description: Get edge node by node ID
      operationId: getEdgeNode
      parameters:
        - name: nodeId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Node'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Partition not found
    put:
      tags:
        - Edge Node
      summary: Update Edge Node
      description: Update edge node
      operationId: updateNode
      parameters:
        - name: nodeId
          in: path
          description: ID of Edge Node
          required: true
          schema:
            type: string
      requestBody:
        description: Update an Edge Node
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NodeUpsert'
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Node'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Partition not found; Node not found
        '422':
          description: Body missing required fields
      x-codegen-request-body-name: body
  /v2/enm/edge-node-assignment:
    delete:
      tags:
        - Edge Node
      summary: Remove Edge Node configuration for a device
      description: Remove Edge Node configuration for a device
      operationId: removeDeviceEdgeNodeConfigByDeviceId
      parameters:
        - name: deviceId
          in: query
          description: ID of device
          required: true
          schema:
            type: string
      responses:
        '204':
          description: Successful operation
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Device not found
        '422':
          description: Device Id not provided
    get:
      tags:
        - Edge Node
      summary: Get device Edge Node
      description: Get device Edge Node
      operationId: getDeviceNode
      parameters:
        - name: deviceId
          in: query
          description: Return device assignment, (partitionId parameter must be blank)
          required: false
          schema:
            type: string
        - name: partitionId
          in: query
          description: Return all assignments on partition (deviceId parameter must be blank)
          required: false
          schema:
            type: string
        - name: pageSize
          in: query
          required: false
          schema:
            type: integer
          description: defaults to 100
        - name: pageNum
          in: query
          required: false
          schema:
            type: integer
          description: defaults to 0
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NodeAssignmentQueryResult'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '422':
          description: Missing deviceId/partitionId; deviceId and partitionId provided
    post:
      tags:
        - Edge Node
      summary: Configure Edge Node for a device
      description: Configure Edge Node for a device
      operationId: configureDeviceNode
      requestBody:
        description: Configure Edge Node for a device
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NodeAssignmentUpsert'
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NodeAssignment'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Device not found; Node not found
        '422':
          description: Body missing required fields
      x-codegen-request-body-name: body
  /v2/enm/edge-node-assignment/{nodeAssignmentId}:
    delete:
      tags:
        - Edge Node
      summary: Remove Edge Node configuration
      description: Remove Edge Node configuration
      operationId: removeDeviceEdgeNodeConfigById
      parameters:
        - name: nodeAssignmentId
          in: path
          description: Device node assignment id
          required: true
          schema:
            type: string
      responses:
        '204':
          description: Successful operation
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Device node assignment not found
        '422':
          description: Device node assignment Id not provided
    get:
      tags:
        - Edge Node
      summary: Get device Edge Node
      description: Get device Edge Node
      operationId: getDeviceNodeByAssignmentId
      parameters:
        - name: nodeAssignmentId
          in: path
          description: Return device assignment
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NodeAssignment'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Device Assignment not found
    put:
      tags:
        - Edge Node
      summary: Update Edge Node configuration for a device
      description: Update Edge Node configuration for a device
      operationId: updateDeviceNodeConfiguration
      parameters:
        - name: nodeAssignmentId
          in: path
          description: Device node assignment id
          required: true
          schema:
            type: string
      requestBody:
        description: Update Edge Node configuration for a device
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NodeAssignmentUpsert'
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NodeAssignment'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Device not found; Node not found
        '422':
          description: Body missing required fields
      x-codegen-request-body-name: body
  /v2/job/input:
    post:
      tags:
        - Asynchronous JOB Tracker
      summary: Get input url
      description: Get a pre-signed url to upload data to. Also gets a key needed to create the job after the data is uploaded.
      operationId: getJobInputUrl
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JobUpload'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found - when there is no job with the given Id
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/job/{jobId}:
    get:
      tags:
        - Asynchronous JOB Tracker
      summary: Job
      description: Return the specified job
      operationId: getJobById
      parameters:
        - name: jobId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Job'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found - when there is no job with the given Id
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/job/{jobId}/input:
    get:
      tags:
        - Asynchronous JOB Tracker
      summary: Job Input
      description: Download the job input
      operationId: getJobInput
      parameters:
        - name: jobId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found - when there is no job with the given Id or if the job has no input
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/job/{jobId}/output:
    get:
      tags:
        - Asynchronous JOB Tracker
      summary: Job Output
      description: Download the job results output
      operationId: getJobOutput
      parameters:
        - name: jobId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found - when there is no job with the given Id or if the job has no output
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/job/{jobId}/output-url:
    get:
      tags:
        - Asynchronous JOB Tracker
      summary: Job Output url
      description: Return the job download url
      operationId: getOutputUrl
      parameters:
        - name: jobId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JobOutputUrl'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found - when there is no job with the given Id or if the job has no output
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/language:
    get:
      tags:
        - Language Reference
      summary: Get the preferred language
      operationId: getLanguageFromHeader
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LanguageX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      security: []
  /v2/m2m/token:
    post:
      tags:
        - M2M Authentication
      summary: Request M2M access token.
      description: |-
        Public token endpoint using OAuth 2.0 Client Credentials Grant (RFC 6749).

        **Required**: `grant_type=client_credentials` as a form parameter.

        Supports two authentication methods (mutually exclusive):
        1. **HTTP Basic Auth (preferred)**: `Authorization` header with Base64-encoded `client_id:client_secret`
        2. **Form parameters (fallback)**: `client_id` and `client_secret` as form-urlencoded body parameters

        Returns 400 if credentials are provided via both methods simultaneously.
      operationId: requestM2MToken
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
                - grant_type
              properties:
                grant_type:
                  type: string
                  enum:
                    - client_credentials
                  description: OAuth 2.0 grant type. Must be 'client_credentials'.
                client_id:
                  type: string
                  description: Client ID. Required if not using HTTP Basic Auth.
                client_secret:
                  type: string
                  description: Client secret. Required if not using HTTP Basic Auth.
      responses:
        '200':
          description: Token successfully issued.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/M2MTokenResponse'
        '400':
          description: 'Invalid request. Returned when: grant_type is missing or not ''client_credentials'', credentials are provided via both Authorization header and form parameters, no credentials are provided, or the Basic Auth format is invalid.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Invalid client credentials.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      security: []
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}:
    get:
      tags:
        - Partition
      summary: Get partition data
      operationId: retrieve_2
      parameters:
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartitionX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account:
    get:
      tags:
        - Account
      summary: Retrieve all of the accounts associated with the supplied partitionId.
      operationId: getAccounts
      parameters:
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Account'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: PartitionId is not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '500':
          description: Returned in the event of an internal error or invalid characters supplied in partitionId.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    post:
      tags:
        - Account
      summary: Create account within the specified partition.
      description: Use to create an account. <span hidden><a href="account.html#create-account">Account Creation Documentation</a></span>
      operationId: createAccount
      parameters:
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      requestBody:
        description: Account object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Account'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Account'
        '400':
          description: Invalid account object supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/PublicApiException'
        '404':
          description: PartitionId not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/accounthistorysearch:
    get:
      tags:
        - Account
      summary: Account history record search
      description: Account history records can be queried to find out what happened to an account, at what time, and by whom.  Account history includes more than just fields directly on account. <span hidden>See also <a href ="/accountHistory.html">here</a></span>
      operationId: accountHistoryByAccountNumberSearch
      parameters:
        - name: accountHistoryType
          in: query
          description: Account history type
          style: form
          explode: true
          schema:
            type: array
            items:
              type: string
              enum:
                - PHONE_NUMBER
                - PROVISIONING
                - CALL_FORWARDING
                - CALL_SCREENING
                - ADDRESS
                - ADDRESS_CSR
                - ADDRESS_E911
                - ADDRESS_DIRECTORY_LISTING
                - ACCOUNT_STATUS
                - VOICEMAIL
                - CALLING_PLAN
                - INBOUND_CALLING_PLAN
                - IVR
                - SIP_TRUNK
                - SIP_TRUNK_FORWARD
                - SIP_TRUNK_GROUP
                - DEVICE
                - DEVICE_METADATA
                - USER
                - USER_API_AUTH
                - LINE_HUNTGROUP
                - ACCOUNT
                - LINE_APPEARANCE
                - LINE_HARDWARE
                - VFAX
                - PAGING_GROUP
                - PICKUP_GROUP
                - GROUP_OF_REFERENCES
                - CALL_PARKING_SPOT
                - ACCOUNT_USER
                - SIP_CREDENTIALS
                - BUSINESS_LINE
                - BUSINESS_LINE_HUNT_GROUP
                - CALL_GROUP
                - CALL_QUEUE
                - USER_DEVICE_LINE
                - EMERGENCY_NOTIFICATION
                - DYNAMIC_RESERVATION
                - SPECIALTY_LINE
                - AUTHORITY
                - AUTO_ATTENDANT
                - CONTACT
                - CONTACT_CENTER
                - CALL_RECORDING
                - ACCOUNT_CODE
                - SHORT_CODE
                - MEDIA_MANAGEMENT
                - SOUNDS
                - USER_GROUP
        - name: accountNumber
          in: query
          description: Account Number, refers to <a href="#/~schema/Account">account.number</a>
          required: true
          schema:
            type: string
        - name: endDate
          in: query
          description: End date, inclusive through the end of the day.  YYYY-MM-DD
          schema:
            type: string
            format: date
        - name: firstResultIndex
          in: query
          description: First result to display, defaults to 0
          schema:
            type: integer
            format: int32
            default: 0
        - name: maxResult
          in: query
          description: Maximum number to return, defaults to 20
          schema:
            type: integer
            format: int32
            default: 20
        - name: partitionId
          in: path
          description: ID of partition, refers to <a href="#/~schema/Account">account.partitionId</a>
          required: true
          schema:
            type: string
        - name: startDate
          in: query
          description: Start date, inclusive to the start of the day.  YYYY-MM-DD
          schema:
            type: string
            format: date
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountHistorySearchResponseX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/activation:
    post:
      tags:
        - Account
      summary: Account activation
      description: (DEPRECATED) Use to activate an account
      operationId: activation
      parameters:
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      requestBody:
        description: Account activation object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountActivationV2X'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountActivationV2X'
        '400':
          description: Invalid account activation object supplied
          content: {}
        '404':
          description: Account not found
          content: {}
      deprecated: true
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/activation/multiple:
    post:
      tags:
        - Account
      summary: Multiple account activation
      description: Use to activate multiple end users with telephone numbers in a single request. Supports up to 2 end users per request.
      operationId: multipleActivation
      parameters:
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      requestBody:
        description: Multiple activation object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MultipleActivationX'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  message:
                    type: string
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/bulkstatuschange:
    post:
      tags:
        - Account
      summary: Change account status in bulk
      description: Use to change multiple account statuses
      operationId: bulkStatusChange
      parameters:
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      requestBody:
        description: List of numbers
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/MultipartFormDataInput'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FileImportValidationErrorX'
        '400':
          description: Invalid information supplied
          content: {}
        '404':
          description: Not found
          content: {}
      deprecated: true
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/bulkstatuschange_2:
    post:
      tags:
        - Account
      summary: Change account status in bulk
      description: Use to change multiple account statuses. <span hidden>This endpoint is really just one step of a flow, which is documented <a href="bulkStatusChange.html">here</a></span>
      operationId: bulkStatusChange_2
      parameters:
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      requestBody:
        description: Use Jobs API to upload file
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JobUploadKey'
        required: false
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Job'
        '202':
          description: Use Jobs API to check status
          content: {}
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/e911/prevalidate:
    put:
      tags:
        - Account Prevalidate
      summary: Prevalidate an address for 911
      description: Use to prevalidate an address for 911
      operationId: preValidateAccountTn
      parameters:
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      requestBody:
        description: Telephone number activation object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TelephoneNumberActivationsV2X'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/E911PrevalidateResponseX'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/frequentlyaccessed:
    get:
      tags:
        - Account
      summary: Frequently accessed account search
      description: Use to list the 10 most frequently accessed accounts in the given partition, regardless of the acting user.
      operationId: frequentlyAccessed
      parameters:
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AccountViewX'
        '400':
          description: Invalid partition ID
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Zipcodes not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/prevalidate:
    post:
      tags:
        - Account Prevalidate
      summary: Prevalidate a phone number
      description: Use to prevalidate a telephone number
      operationId: preValidateAccount
      parameters:
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      requestBody:
        description: Telephone number activation object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TelephoneNumberActivationsV2X'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PortAvailabilityResponseV2X'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/recentlyaccessed:
    get:
      tags:
        - Account
      summary: Recently accessed account search
      description: Use to list up to 10 accounts that have been accessed by the acting user in the last 7 days.
      operationId: recentlyAccessed
      parameters:
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AccountViewX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/search:
    get:
      tags:
        - Account
      summary: Account search
      description: Use to search for an account that contains the search term. The term is searched through the account number, account name, email addresses, phone numbers and devices MAC addresses, with no need to indicate which field should be searched.
      operationId: accountSearch
      parameters:
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: q
          in: query
          description: Search term for account search
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AccountViewX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/validateproperties:
    get:
      tags:
        - Account
      summary: Pre-validate properties of objects which have not been saved
      description: This endpoint is used to validate that a proposed value is acceptable for a certain field.  For example, we use it to tell our enduser working in the ui, that the value they are currently entering into a field, does or does not pass uniqueness requirements. <p>The field to check is implicit in the queryparam you use.  See the possible queryparams and which fields they validate below.</p> <p>While this endpoint allows you to specify more than one queryparam, and a 200 response indicates that ALL of the proposed values are ok, a 400 response only indicates that there is a problem without fully disambiguating which proposals are invalid and which are not.  Therefore, it is suggested that you check one at a time.</p>
      operationId: validateAccountProperties
      parameters:
        - name: accountnumber
          in: query
          description: Value proposed for <a href="#/~schema/Account">account.number</a>. Value is unacceptable if another account in this partition has this accountNumber.
          schema:
            type: string
        - name: macaddress
          in: query
          description: Value proposed for <a href = "#/~schema/DeviceX">device.macAddress</a>.  Value is not acceptable if the mac is found in use elsewhere in the system (even in another partition).
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: sipusername
          in: query
          description: Value proposed for <a href = "#/~schema/DeviceX">device.sipUsername</a>.  Value is not acceptable if found in use anywhere else in the system (even in another partition).
          schema:
            type: string
        - name: username
          in: query
          description: Value proposed for <a href="#/~schema/EndUserV2X">enduser.username</a>.  Value is unacceptable if another user (even in another partition) has the same username.
          schema:
            type: string
      responses:
        '200':
          description: All of your proposed values are acceptable
          content:
            application/json:
              schema:
                type: boolean
        '400':
          description: One or more of your proposed values are NOT acceptable.  ONE of the problems will be further described in the messages array.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}:
    get:
      tags:
        - Account
      summary: Retrieve account by an ID.
      description: Though the accountId may be used to retrieve the account, it is not the only unique identifier for an account. Valid IDs are Id (accountId), AccountNumber, PhoneNumber, and MacAddress.  Use the 'accountIdType' query parameter designate the ID type.
      operationId: retrieveAccount
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: accountIdType
          in: query
          description: Indicates what kind of value has been put in the accountId path parameter.  Default is Id.
          schema:
            type: string
            default: Id
            enum:
              - Id
              - AccountNumber
              - PhoneNumber
              - MacAddress
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Account'
        '400':
          description: The supplied accountIdType parameter is malformed or not one of the valid options.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiSingleException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Account not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    put:
      tags:
        - Account
      summary: Update account
      description: Use to update an account.  <span hidden>Please refer to <a href="account.html#update-account">Updating Accounts</a> for more information about the requirements for updating an account.</span>
      operationId: updateAccount
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      requestBody:
        description: Account object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Account'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Account'
        '400':
          description: Supplied data has failed validation constraints.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Account or Partition not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
    patch:
      tags:
        - Account
      summary: Update account
      description: Supply a Json fragment of the Account object to update that portion of the account. <span hidden>Please see <a href="account.html#patch-account">Patch Account</a> for more details.</span>
      operationId: accountPatch
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      requestBody:
        description: Json object containing the fragment of the Account object to be updated.
        content:
          application/json:
            schema:
              type: object
              description: Json containing the fragment of the account object to be updated.
              additionalProperties: true
              example:
                callScreeningSettings:
                  anonymousCallScreen: Block
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Account'
        '400':
          description: Account cannot be updated due to data that has failed validation constraints.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Account or Partition not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '500':
          description: Patch was malformed and could not be parsed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
    delete:
      tags:
        - Account
      summary: Delete account
      description: Use to delete an account. An account that has telephonenumbers or in progress lifecycle events cannot be deleted. Refer to <a href="#/~operation/Telephone%20Number/">Telephone Numbers</a> for information on how to remove telephone numbers.
      operationId: deleteAccount
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
        '400':
          description: Account cannot be deleted due to in progress lifecycle events
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Account or Partition not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '500':
          description: Unknown issue has occurred.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/accounthistorysearch:
    get:
      tags:
        - Account
      summary: Account history record search
      description: Account history records can be queried to find out what happened to an account, at what time, and by whom.  Account history includes more than just fields directly on account.  <span hidden>see also <a href ="/accountHistory.html">here</a></span>
      operationId: accountHistoryByAccountIdSearch
      parameters:
        - name: accountHistoryType
          in: query
          description: Account history type
          style: form
          explode: true
          schema:
            type: array
            items:
              type: string
              enum:
                - PHONE_NUMBER
                - PROVISIONING
                - CALL_FORWARDING
                - CALL_SCREENING
                - ADDRESS
                - ADDRESS_CSR
                - ADDRESS_E911
                - ADDRESS_DIRECTORY_LISTING
                - ACCOUNT_STATUS
                - VOICEMAIL
                - CALLING_PLAN
                - INBOUND_CALLING_PLAN
                - IVR
                - SIP_TRUNK
                - SIP_TRUNK_FORWARD
                - SIP_TRUNK_GROUP
                - DEVICE
                - DEVICE_METADATA
                - USER
                - USER_API_AUTH
                - LINE_HUNTGROUP
                - ACCOUNT
                - LINE_APPEARANCE
                - LINE_HARDWARE
                - VFAX
                - PAGING_GROUP
                - PICKUP_GROUP
                - GROUP_OF_REFERENCES
                - CALL_PARKING_SPOT
                - ACCOUNT_USER
                - SIP_CREDENTIALS
                - BUSINESS_LINE
                - BUSINESS_LINE_HUNT_GROUP
                - CALL_GROUP
                - CALL_QUEUE
                - USER_DEVICE_LINE
                - EMERGENCY_NOTIFICATION
                - DYNAMIC_RESERVATION
                - SPECIALTY_LINE
                - AUTHORITY
                - AUTO_ATTENDANT
                - CONTACT
                - CONTACT_CENTER
                - CALL_RECORDING
                - ACCOUNT_CODE
                - SHORT_CODE
                - MEDIA_MANAGEMENT
                - SOUNDS
                - USER_GROUP
        - name: accountId
          in: path
          description: ID of account,  refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: endDate
          in: query
          description: End date, inclusive through the end of the day.  YYYY-MM-DD
          schema:
            type: string
            format: date
        - name: firstResultIndex
          in: query
          description: First result to display, defaults to 0
          schema:
            type: integer
            format: int32
            default: 0
        - name: maxResult
          in: query
          description: Maximum number to return, defaults to 20
          schema:
            type: integer
            format: int32
            default: 20
        - name: partitionId
          in: path
          description: ID of partition,  refers to <a href="#/~schema/Account">account.partitionId</a>
          required: true
          schema:
            type: string
        - name: startDate
          in: query
          description: Start date, inclusive to the start of the day.  YYYY-MM-DD
          schema:
            type: string
            format: date
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountHistorySearchResponseX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/accountuser:
    get:
      tags:
        - Account User
      summary: Get user list
      description: Use to retrieve a list of <a href="#/~schema/AccountUserX">Account Users </a>. The limitedData query parameter is provided to enable large result sets to be retrieved.
      operationId: getAccountUserList
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: limitedData
          in: query
          description: Set limitedData to true to enable the retrieval of all users in a single call. If set to false, a maximum of 1000 users will be retrieved.
          schema:
            type: boolean
        - name: partitionId
          in: path
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AccountUserX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    post:
      tags:
        - Account User
      summary: Create user
      operationId: createAccountUser
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      requestBody:
        description: End user object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountUserX'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountUserX'
        '400':
          description: Invalid AccountUserX object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Partition Id or Account Id not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/accountuser/{userId}:
    get:
      tags:
        - Account User
      summary: Retrieve a specific account user using an identifier.
      description: Multiple identifiers can be sent in the userId path parameter. The idType query parameter indicates which identifier is used.
      operationId: getAccountUser
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: idType
          in: query
          description: Defines if the Id is the userid for the username.  If not supplied, <a href="#/~schema/AccountUserX">AccountUserX.id</a> is assumed.
          schema:
            type: string
            enum:
              - Id
              - UserName
        - name: partitionId
          in: path
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
        - name: userId
          in: path
          description: Identifier of the account user.  Either  <a href="#/~schema/AccountUserX">AccountUserX.id</a> or <a href="#/~schema/AccountUserX">AccountUserX.username</a>.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountUserX'
        '400':
          description: idType query param is not correct
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Partition Id or Account Id not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    put:
      tags:
        - Account User
      summary: Update user
      operationId: updateAccountUser
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, reference to <a href="#/~schema/Account">account.partitionId</a>
          required: true
          schema:
            type: string
        - name: userId
          in: path
          description: ID of Account User
          required: true
          schema:
            type: string
      requestBody:
        description: Account user object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountUserX'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountUserX'
        '400':
          description: Invalid AccountUserX object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Partition Id or Account Id or Account User Id not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
    delete:
      tags:
        - Account User
      summary: Delete user
      description: Use to delete a user
      operationId: deleteAccountUser
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
        - name: userId
          in: path
          description: ID of the Account User, <a href="#/~schema/AccountUserX">AccountUserX.id</a>.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: string
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    patch:
      tags:
        - Account User
      summary: Patch Account User
      description: Use to patch update an account user. <span hidden>Refer to <a href="accountUser.html#/patch-account-user">Patching an Account User</a> for more information.</span>
      operationId: patchAccountUser
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
        - name: userId
          in: path
          description: ID of the Account User, <a href="#/~schema/AccountUserX">AccountUserX.id</a>.
          required: true
          schema:
            type: string
      requestBody:
        description: Json object containing the fragment of the <a href="#/~schema/AccountUserX">AccountUserX</a> object to be updated.
        content:
          application/json:
            schema:
              type: object
              description: Json containing the fragment of the account object to be updated.
              additionalProperties: true
              example:
                languageTag: fr-CA
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountUserX'
        '400':
          description: Invalid AccountUserX fragment
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Partition Id or Account Id or Account User Id not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/accountuser/{userId}/resetpassword:
    put:
      tags:
        - Account User
      summary: Reset user password
      description: Sets <a href="#/~schema/AccountUserX">AccountUserX.mustChangePassword</a> to true, sets <a href="#/~schema/AccountUserX">AccountUserX.password</a> to a random temporary password, and sends a password change email with the temporary password to the user.
      operationId: resetAccountUserPassword
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
        - name: userId
          in: path
          description: ID of the Account User, <a href="#/~schema/AccountUserX">AccountUserX.id</a>.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountUserX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/business-line:
    get:
      tags:
        - Business Line
      summary: Retrieve business line list
      description: Use to retrieve a list of business lines associated to an account
      operationId: retrieveBusinessLines
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BusinessLine'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    post:
      tags:
        - Business Line
      summary: Create a new business line
      description: Use to create a new business line on an account. This includes the physical device specifications, call handling rules, and SIP credentials.
      operationId: createBusinessLine
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      requestBody:
        description: Business line object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BusinessLine'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BusinessLine'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/business-line/views/expanded:
    get:
      tags:
        - Business Line
      summary: Retrieve business line list with lines in expanded view format
      description: Use to retrieve a list of business lines in expanded view format which is associated to an account
      operationId: retrieveBusinessLinesExpanded
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BusinessLineExpandedView'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/business-line/voicemail-box:
    get:
      tags:
        - Business Line
      summary: Retrieve all business line voicemail boxes on this account
      description: Use to retrieve a business line voicemail boxes on the specified account
      operationId: retrieveBusinessLineVoicemailBoxes
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties: {}
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    post:
      tags:
        - Business Line
      summary: Create business line voicemail box on account
      description: Use to create a business line voicemail box on the specified account
      operationId: createBusinessLineVoicemailBox
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      requestBody:
        description: Voicemail Box object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VoicemailBox'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VoicemailBox'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/business-line/voicemail-box/views/expanded:
    get:
      tags:
        - Business Line
      summary: Retrieve all business line voicemail boxes on this account including references
      description: Use to retrieve a business line voicemail boxes on the specified account including references
      operationId: retrieveBusinessLineVoicemailBoxesExpandedView
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties: {}
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/business-line/voicemail-box/{voicemailBoxId}:
    get:
      tags:
        - Business Line
      summary: Retrieve business line voicemail box
      description: Use to retrieve a business line voicemail box
      operationId: retrieveBusinessLineVoicemailBox
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: voicemailBoxId
          in: path
          description: ID of Voicemail Box
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VoicemailBox'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    put:
      tags:
        - Business Line
      summary: Update business line voicemail box
      description: Use to update a business line voicemail box
      operationId: updateBusinessLineVoicemailBox
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: voicemailBoxId
          in: path
          description: ID of Voicemail Box
          required: true
          schema:
            type: string
      requestBody:
        description: Business line Voicemail Box object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VoicemailBox'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VoicemailBox'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
    delete:
      tags:
        - Business Line
      summary: Delete business line voicemail box
      description: Use to delete a business line voicemail box
      operationId: deleteBusinessLineVoicemailBox
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: voicemailBoxId
          in: path
          description: ID of Voicemail Box
          required: true
          schema:
            type: string
      responses:
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        default:
          description: Successful operation
          content: {}
  /v2/partition/{partitionId}/account/{accountId}/business-line/voicemail-box/{voicemailBoxId}/greetings/{greetingType}/media:
    get:
      tags:
        - Voicemail Box
      summary: Retrieve Greeting media file
      description: Use to retrieve media file for a business-line voicemail box
      operationId: retrieveBusinessLineGreeting
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: greetingType
          in: path
          required: true
          schema:
            type: string
            enum:
              - Personal
              - PersonalNoAnswer
              - PersonalBusy
              - PersonalName
              - PrimaryGreeting
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: voicemailBoxId
          in: path
          description: ID of Voicemail Box
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/octet-stream:
              schema:
                type: array
                items:
                  pattern: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$
                  type: string
                  format: byte
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    put:
      tags:
        - Voicemail Box
      summary: Upload Business-Line Greeting media file
      description: Use to upload media file for a business-line voicemail box (wav, mp3, ogg)
      operationId: uploadBusinessLineGreeting
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: greetingType
          in: path
          required: true
          schema:
            type: string
            enum:
              - Personal
              - PersonalNoAnswer
              - PersonalBusy
              - PersonalName
              - PrimaryGreeting
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: voicemailBoxId
          in: path
          description: ID of Voicemail Box
          required: true
          schema:
            type: string
      requestBody:
        content:
          multipart/form-data:
            schema:
              properties:
                file:
                  type: string
                  format: binary
                  description: Media file
              required:
                - file
        required: true
      responses:
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        default:
          description: Successful operation
          content: {}
      x-codegen-request-body-name: body
    delete:
      tags:
        - Voicemail Box
      summary: Delete Greeting media file
      description: Use to delete media file for a business-line voicemail box
      operationId: deleteBusinessLineGreeting
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: greetingType
          in: path
          required: true
          schema:
            type: string
            enum:
              - Personal
              - PersonalNoAnswer
              - PersonalBusy
              - PersonalName
              - PrimaryGreeting
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: voicemailBoxId
          in: path
          description: ID of Voicemail Box
          required: true
          schema:
            type: string
      responses:
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        default:
          description: Successful operation
          content: {}
  /v2/partition/{partitionId}/account/{accountId}/business-line/voicemail-box/{voicemailBoxId}/message:
    get:
      tags:
        - Business Line
      summary: Retrieve business line voicemail messages
      description: Use to retrieve all messages in a business line voicemail box
      operationId: retrieveBusinessLineVoicemailMessages
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: voicemailBoxId
          in: path
          description: ID of Voicemail Box
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties: {}
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    delete:
      tags:
        - Business Line
      summary: Delete business line voicemail messages
      description: Use to delete all messages in a business line voicemail box
      operationId: deleteBusinessLineVoicemailMessages
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: voicemailBoxId
          in: path
          description: ID of Voicemail Box
          required: true
          schema:
            type: string
      responses:
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        default:
          description: Successful operation
          content: {}
  /v2/partition/{partitionId}/account/{accountId}/business-line/voicemail-box/{voicemailBoxId}/message/bulk-update:
    put:
      tags:
        - Business Line
      summary: Bulk update of voicemail messages
      description: Use to mark multiple voicemail messages at the same time to a READ, UNREAD, or DELETE status
      operationId: bulkVoicemailMessageUpdate
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: voicemailBoxId
          in: path
          description: ID of Voicemail Box
          required: true
          schema:
            type: string
      requestBody:
        description: Bulk Voicemail Action object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkVoicemailAction'
        required: true
      responses:
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        default:
          description: Successful operation
          content: {}
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/business-line/voicemail-box/{voicemailBoxId}/message/{messageId}:
    get:
      tags:
        - Business Line
      summary: Retrieve a business line voicemail message
      description: Use to retrieve a message in a business line voicemail box
      operationId: retrieveBusinessLineVoicemailMessage
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: messageId
          in: path
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: voicemailBoxId
          in: path
          description: ID of Voicemail Box
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VoicemailMessage'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    delete:
      tags:
        - Business Line
      summary: Delete a business line voicemail message
      description: Use to delete a message in a business line voicemail box
      operationId: deleteBusinessLineVoicemailMessage
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: messageId
          in: path
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: voicemailBoxId
          in: path
          description: ID of Voicemail Box
          required: true
          schema:
            type: string
      responses:
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        default:
          description: Successful operation
          content: {}
  /v2/partition/{partitionId}/account/{accountId}/business-line/voicemail-box/{voicemailBoxId}/message/{messageId}/media:
    get:
      tags:
        - Business Line
      summary: Retrieve a business line voicemail message media
      description: Use to retrieve the audio message for a business line voicemail message
      operationId: retrieveBusinessLineVoicemailMessageMedia
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: messageId
          in: path
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: voicemailBoxId
          in: path
          description: ID of Voicemail Box
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            audio/mpeg:
              schema:
                type: array
                items:
                  pattern: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$
                  type: string
                  format: byte
            audio/wave:
              schema:
                type: array
                items:
                  pattern: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$
                  type: string
                  format: byte
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/business-line/voicemail-box/{voicemailBoxId}/message/{messageId}/set-read-status:
    post:
      tags:
        - Business Line
      summary: Update business line voicemail message read flag
      description: Use to update if a voicemail message should be marked as read
      operationId: updateBusinessLineVoicemailMessageRead
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: messageId
          in: path
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: voicemailBoxId
          in: path
          description: ID of Voicemail Box
          required: true
          schema:
            type: string
      requestBody:
        description: Voicemail Message Read object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReadMessage'
        required: true
      responses:
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        default:
          description: Successful operation
          content: {}
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/business-line/voicemail-box/{voicemailBoxId}/rpc/check-pin-status:
    post:
      tags:
        - Business Line
      summary: Check business line voicemail box PIN status
      description: Use to check a business line voicemail box PIN status
      operationId: checkBusinessLineVoicemailBoxPinStatus
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: voicemailBoxId
          in: path
          description: ID of Voicemail Box
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PinStatusResponse'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/business-line/voicemail-box/{voicemailBoxId}/rpc/reset-pin:
    post:
      tags:
        - Business Line
      summary: Reset the PIN for a business line voicemail box
      description: Use to reset a PIN for a business line voicemail box
      operationId: resetBusinessLineVoicemailBoxPinStatus
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: voicemailBoxId
          in: path
          description: ID of Voicemail Box
          required: true
          schema:
            type: string
      responses:
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        default:
          description: Successful operation
          content: {}
  /v2/partition/{partitionId}/account/{accountId}/business-line/voicemail-box/{voicemailBoxId}/views/expanded:
    get:
      tags:
        - Business Line
      summary: Retrieve business line voicemail box including references
      description: Use to retrieve a business line voicemail box including references
      operationId: retrieveBusinessLineVoicemailBoxExpandedView
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: voicemailBoxId
          in: path
          description: ID of Voicemail Box
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VoicemailBoxExpandedView'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/business-line/{businessLineId}:
    get:
      tags:
        - Business Line
      summary: Retrieve business line
      description: Use to retrieve a business line
      operationId: retrieveBusinessLine
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: businessLineId
          in: path
          description: ID of Business Line
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BusinessLine'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    put:
      tags:
        - Business Line
      summary: Update business line
      description: Use to update a business line
      operationId: updateBusinessLine
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: businessLineId
          in: path
          description: ID of Business Line
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      requestBody:
        description: Business line object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BusinessLine'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BusinessLine'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
    delete:
      tags:
        - Business Line
      summary: Delete business line
      description: Use to delete a business line
      operationId: deleteBusinessLine
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: businessLineId
          in: path
          description: ID of Business Line
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        default:
          description: Successful operation
          content: {}
  /v2/partition/{partitionId}/account/{accountId}/business-line/{businessLineId}/call-handling:
    get:
      tags:
        - Business Line
      summary: Retrieve business line call handling
      description: Use to get the call handling specifications for a business line
      operationId: getBusinessLineCallHandling
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: businessLineId
          in: path
          description: ID of Business Line
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallHandling'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    put:
      tags:
        - Business Line
      summary: Update business line call handling
      description: Use to update the call handling specifications for a business line
      operationId: putBusinessLineCallHandling
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: businessLineId
          in: path
          description: ID of Business Line
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      requestBody:
        description: Business line call handling object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CallHandling'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallHandling'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/business-line/{businessLineId}/port-assignment:
    get:
      tags:
        - Business Line
      summary: Retrieve business line port assignment
      description: Use to get the physical port assignment specifications for a business line
      operationId: getBusinessLinePortAssignment
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: businessLineId
          in: path
          description: ID of Business Line
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PortAssignment'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    put:
      tags:
        - Business Line
      summary: Update business line port assignment
      description: Use to update the physical port assignment specifications for a business line
      operationId: updateBusinessLinePortAssignment
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: businessLineId
          in: path
          description: ID of Business Line
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      requestBody:
        description: Business line port assignment object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PortAssignment'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PortAssignment'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
    post:
      tags:
        - Business Line
      summary: Create business line port assignment
      description: Use to create the physical port assignment specifications for a business line
      operationId: createBusinessLinePortAssignment
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: businessLineId
          in: path
          description: ID of Business Line
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      requestBody:
        description: Business line port assignment object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PortAssignment'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PortAssignment'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
    delete:
      tags:
        - Business Line
      summary: Delete business line port assignment
      description: Use to delete the physical port assignment specifications for a business line
      operationId: deleteBusinessLinePortAssignment
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: businessLineId
          in: path
          description: ID of Business Line
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        default:
          description: Successful operation
          content: {}
  /v2/partition/{partitionId}/account/{accountId}/business-line/{businessLineId}/port-assignment/push-provisioning-logs:
    get:
      tags:
        - Business Line
      summary: Retrieve provisioning logs from third party notifications
      description: Used for port assignments utilizing a mac address. Pull logs from push provisioning
      operationId: getPushProvisioningLogs
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: businessLineId
          in: path
          description: ID of Business Line
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PortAssignment'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/business-line/{businessLineId}/port-assignment/rpc/swap:
    post:
      tags:
        - Business Line
      summary: Swap business line port assignment(s)
      description: Use to swap out the port assignments related to an existing port assignment mac address or id
      operationId: swapBusinessLinePortAssignment
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: businessLineId
          in: path
          description: ID of Business Line
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeviceSwap'
        required: false
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PortAssignment'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/business-line/{businessLineId}/registration:
    get:
      tags:
        - Business Line
      summary: Retrieve registration status for business line
      description: Use to retrieve registration status of business line
      operationId: businessLineRegistrationStatus
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: businessLineId
          in: path
          description: ID of Business Line
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegistrationStatus'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/business-line/{businessLineId}/sip-credentials:
    get:
      tags:
        - Business Line
      summary: Retrieve SIP credentials
      description: Use to retrieve SIP credentials for a business line
      operationId: getBusinessLineSipCredentials
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: businessLineId
          in: path
          description: ID of Business Line
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SipCredentialsView'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    put:
      tags:
        - Business Line
      summary: Update SIP credentials
      description: Use to update SIP credentials for a business line
      operationId: putBusinessLineSipCredentials
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: businessLineId
          in: path
          description: ID of Business Line
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      requestBody:
        description: SIP Credentials object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SipCredentials'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SipCredentialsView'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/business-line/{businessLineId}/sip-credentials/username-availability-check/{username}:
    get:
      tags:
        - Business Line
      summary: SIP Username Availability Check
      description: Use to determine if a SIP username is available to use
      operationId: isUsernameAvailable
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: businessLineId
          in: path
          description: ID of Business Line
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: username
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: boolean
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/business-line/{businessLineId}/views/expanded:
    get:
      tags:
        - Business Line
      summary: Retrieve business line in expanded view format
      description: Use to retrieve a business line in expanded view format
      operationId: retrieveBusinessLineExpanded
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: businessLineId
          in: path
          description: ID of Business Line
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BusinessLineExpandedView'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/business-line-hunt-group:
    get:
      tags:
        - Business Line Hunt Group
      summary: Retrieve business line hunt group list
      description: Use to retrieve a list of business lines hunt groups associated to an account
      operationId: retrieveBusinessLineHuntGroups
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/HuntGroup'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    post:
      tags:
        - Business Line Hunt Group
      summary: Create a new business line hunt group
      description: Use to create a new business line hunt group on an account.
      operationId: createBusinessLineHuntGroup
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      requestBody:
        description: Business line hunt group object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HuntGroup'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HuntGroup'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/business-line-hunt-group/{huntGroupId}:
    get:
      tags:
        - Business Line Hunt Group
      summary: Retrieve business line hunt group
      description: Use to retrieve a business line hunt group
      operationId: retrieveBusinessLineHuntGroup
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: huntGroupId
          in: path
          description: ID of Business Line Hunt Group
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HuntGroup'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    put:
      tags:
        - Business Line Hunt Group
      summary: Update business line hunt group
      description: Use to update a business line hunt group
      operationId: updateBusinessLineHuntGroup
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: huntGroupId
          in: path
          description: ID of Business Line Hunt Group
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      requestBody:
        description: Business line hunt group object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HuntGroup'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HuntGroup'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
    delete:
      tags:
        - Business Line Hunt Group
      summary: Delete business line hunt group
      description: Use to delete a business line hunt group
      operationId: deleteBusinessLineHuntGroup
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: huntGroupId
          in: path
          description: ID of Business Line Hunt Group
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '400':
          description: Invalid request parameters
          content: {}
        default:
          description: Successful operation
          content: {}
  /v2/partition/{partitionId}/account/{accountId}/business-line-hunt-group/{huntGroupId}/failover-action/{reason}:
    get:
      tags:
        - Business Line Hunt Group
      summary: Retrieve business line hunt group failover action for the specified reason
      description: Use to retrieve a failover action for a business lines hunt group
      operationId: getBusinessLineHuntGroupFailoverAction
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: huntGroupId
          in: path
          description: ID of Business Line Hunt Group
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: reason
          in: path
          required: true
          schema:
            type: string
            enum:
              - NO_ANSWER
              - BUSY
              - UNREGISTERED
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FailoverAction'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    put:
      tags:
        - Business Line Hunt Group
      summary: Update business line hunt group failover action for the specified reason
      description: Use to update the failover action for a business line hunt group
      operationId: updateBusinessLineHuntGroupFailoverAction
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: huntGroupId
          in: path
          description: ID of Business Line Hunt Group
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: reason
          in: path
          required: true
          schema:
            type: string
            enum:
              - NO_ANSWER
              - BUSY
              - UNREGISTERED
      requestBody:
        description: Business line hunt group failover action object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FailoverAction'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FailoverAction'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/business-line-hunt-group/{huntGroupId}/forward-configuration:
    get:
      tags:
        - Business Line Hunt Group
      summary: Retrieve business line hunt group forwarding configuration list
      description: Use to retrieve a list of forwarding configurations on a business lines hunt group
      operationId: getBusinessLineHuntGroupForwardingConfigurations
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: huntGroupId
          in: path
          description: ID of Business Line Hunt Group
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ForwardConfiguration'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    post:
      tags:
        - Business Line Hunt Group
      summary: Create a new business line hunt group forwarding configuration
      description: Use to create a new forwarding configuration on a business line hunt group.
      operationId: createBusinessLineHuntGroupForwardingConfiguration
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: huntGroupId
          in: path
          description: ID of Business Line Hunt Group
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      requestBody:
        description: Business line hunt group forwarding configuration object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ForwardConfiguration'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForwardConfiguration'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/business-line-hunt-group/{huntGroupId}/forward-configuration/{id}:
    get:
      tags:
        - Business Line Hunt Group
      summary: Retrieve business line hunt group forwarding configuration
      description: Use to get the forwarding configuration for a business line hunt group
      operationId: getBusinessLineHuntGroupForwardingConfiguration
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: huntGroupId
          in: path
          description: ID of Business Line Hunt Group
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForwardConfiguration'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    put:
      tags:
        - Business Line Hunt Group
      summary: Update business line hunt group forwarding configuration
      description: Use to update the forwarding configuration for a business line hunt group
      operationId: updateBusinessLineHuntGroupForwardingConfiguration
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: huntGroupId
          in: path
          description: ID of Business Line Hunt Group
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      requestBody:
        description: Business line hunt group forwarding configuration object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ForwardConfiguration'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForwardConfiguration'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
    delete:
      tags:
        - Business Line Hunt Group
      summary: Delete business line hunt group forwarding configuration
      description: Use to delete the forwarding configuration for a business line hunt group
      operationId: deleteBusinessLineHuntGroupForwardingConfiguration
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: huntGroupId
          in: path
          description: ID of Business Line Hunt Group
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        default:
          description: Successful operation
          content: {}
  /v2/partition/{partitionId}/account/{accountId}/business-line-hunt-group/{huntGroupId}/forward-configuration/{id}/constraints/star-code:
    get:
      tags:
        - Business Line Hunt Group
      summary: Retrieve a list of available star codes to forward the hunt group
      description: Use to retrieve a list of available star codes to assign to business line hunt group including the current star code assigned to this hunt group's forwarding configuration. Use '*' to search without a forward configuration id
      operationId: getAvailableStarCodes
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: huntGroupId
          in: path
          description: ID of Business Line Hunt Group
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartitionStarCodes'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/callingplan:
    get:
      tags:
        - Calling Plan
      summary: Get Calling Plans for a given reference
      description: will get a callingplan
      operationId: getPlans
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: referenceId
          in: query
          schema:
            type: string
        - name: referenceType
          in: query
          schema:
            type: string
            enum:
              - SIP_TRUNK
              - END_USER
              - IVR
              - ACCOUNT
              - SPECIALTY_LINE
              - CONTACT_CENTER
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CallingPlanX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    put:
      tags:
        - Calling Plan
      summary: Add Calling Plan for a given reference
      description: will add a callingplan
      operationId: addPlan
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ModifyCallingPlanX'
        required: false
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallingPlanX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
    delete:
      tags:
        - Calling Plan
      summary: Remove Calling Plan for a given reference
      description: will remove a callingplan
      operationId: removePlan
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ModifyCallingPlanX'
        required: false
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallingPlanX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/callingplanproduct/{callingPlanProductId}:
    put:
      tags:
        - Account
      summary: Change Calling Plan
      description: DEPRECATED USE account/{accountId}/callingplan INSTEAD -- Will add a pending calling plan.  If a pending calling plan already exists it will remove it and set the new calling plan
      operationId: changeCallingPlan
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: callingPlanProductId
          in: path
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CallingPlanX'
        '400':
          description: Invalid ID supplied
          content: {}
        '404':
          description: Account or Calling Plan Product not found
          content: {}
      deprecated: true
  /v2/partition/{partitionId}/account/{accountId}/callingplanswap:
    post:
      tags:
        - Account
      summary: Change Calling Plan Immediately
      description: DEPRECATED USE account/{accountId}/callingplan INSTEAD -- Will swap the active calling plan immediately for the specified calling plan
      operationId: swapCallingPlan
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CallingPlanSwapX'
        required: false
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CallingPlanX'
        '400':
          description: Invalid ID supplied
          content: {}
        '404':
          description: Account or Calling Plan Product not found
          content: {}
      deprecated: true
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/callpark:
    get:
      tags:
        - Call Parking Spot
      summary: Get call parking spot list
      description: Use to retrieve a list of call parking spots.
      operationId: getAllCallParkingSpots
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CallParkingSpotX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    post:
      tags:
        - Call Parking Spot
      summary: Create call parking spot
      description: Use to create a call parking spot
      operationId: createCallParkingSpot
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      requestBody:
        description: Call Parking Spot object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CallParkingSpotX'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallParkingSpotX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/callpark/{spotId}:
    get:
      tags:
        - Call Parking Spot
      summary: Retrieve call parking spot
      description: Use to retrieve a call parking spot
      operationId: getCallParkingSpot
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: spotId
          in: path
          description: ID of call parking spot
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallParkingSpotX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    put:
      tags:
        - Call Parking Spot
      summary: Update call parking spot
      description: Use to update a call parking spot
      operationId: updateCallParkingSpot
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: spotId
          in: path
          description: ID of call parking spot
          required: true
          schema:
            type: string
      requestBody:
        description: Call parking spot object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CallParkingSpotX'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallParkingSpotX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
    delete:
      tags:
        - Call Parking Spot
      summary: Delete call parking spot
      description: Use to delete a call parking spot
      operationId: deleteCallParkingSpot
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: spotId
          in: path
          description: ID of call parking spot
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: string
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    patch:
      tags:
        - Call Parking Spot
      summary: Update call parking spot
      description: Use to update a call parking spot
      operationId: patchCallParkingSpot
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: spotId
          in: path
          description: ID of call parking spot
          required: true
          schema:
            type: string
      requestBody:
        description: Call parking spot object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CallParkingSpotX'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallParkingSpotX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/cancelpendingcallingplan:
    delete:
      tags:
        - Account
      summary: ' Cancel Pending Callingplan'
      description: DEPRECATED USE account/{accountId}/callingplan INSTEAD -- Will cancel any pending calling plan
      operationId: cancelPendingCallingPlan
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CallingPlanX'
        '400':
          description: Invalid ID supplied
          content: {}
        '404':
          description: Account not found
          content: {}
      deprecated: true
  /v2/partition/{partitionId}/account/{accountId}/cdrsearch:
    get:
      tags:
        - CDRs
      summary: CDR record search
      description: Use to search for CDR records
      operationId: cdrSearch
      parameters:
        - name: accountId
          in: path
          description: ID of account. Must contain only alphanumeric values with hyphen or underscore.
          required: true
          schema:
            type: string
        - name: callCategory
          in: query
          description: Filter based on call category
          style: form
          explode: true
          schema:
            type: array
            items:
              type: string
              enum:
                - OffNet
                - OnNet
                - DirectoryAssistance
                - Emergency
                - Operator
                - PhoneSupport
                - TeleRelayService
                - NonEmergencyServices
                - Other
                - PublicServices
                - NotResolved
                - EmergencyServicesVerification
        - name: callFlagType
          in: query
          description: Filter based on call flag type.
          style: form
          explode: true
          schema:
            type: array
            items:
              type: string
              enum:
                - MISSED
                - VOICEMAIL
                - FORWARDED
                - BUSY
                - ANSWERED
                - OTHER
                - PICKUP
                - PICKED_UP
        - name: callType
          in: query
          description: Filter based on call type.
          style: form
          explode: true
          schema:
            type: array
            items:
              type: string
              enum:
                - INBOUND
                - OUTBOUND
        - name: dialedNumber
          in: query
          description: Filter based on dialed number
          schema:
            type: string
        - name: endDate
          in: query
          description: End date in the format yyyy-MM-dd.
          required: true
          schema:
            type: string
        - name: endTime
          in: query
          description: Filter based on end time
          schema:
            type: string
        - name: firstResultIndex
          in: query
          description: First result to display, defaults to 0.
          schema:
            type: integer
            format: int32
            default: 0
        - name: maxResult
          in: query
          description: Last result to display, defaults to 20.
          schema:
            type: integer
            format: int32
            default: 20
        - name: minCost
          in: query
          description: Specifies the minimum cost of the CDR.
          schema:
            type: number
            format: double
        - name: origNumber
          in: query
          description: Filter based on origination number
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: sort
          in: query
          description: Sort field
          schema:
            type: string
            enum:
              - COST
              - CALL_LENGTH
              - DATE
        - name: sortOrder
          in: query
          description: Sort order
          schema:
            type: string
            enum:
              - ASC
              - DESC
        - name: startDate
          in: query
          description: Start date in the format yyyy-MM-dd.
          required: true
          schema:
            type: string
        - name: startTime
          in: query
          description: Filter based on start time
          schema:
            type: string
        - name: termNumber
          in: query
          description: Filter based on termination number
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallDetailRecordSearchResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/CallDetailRecordSearchResponse'
            text/csv:
              schema:
                $ref: '#/components/schemas/CallDetailRecordSearchResponse'
        '400':
          description: Invalid Partition ID
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/cdrsearch/csv:
    get:
      tags:
        - CDRs
      summary: CDR record search
      description: Use to search for CDR records
      operationId: cdrSearchCSV
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: callCategory
          in: query
          description: Filter based on call category
          style: form
          explode: true
          schema:
            type: array
            items:
              type: string
              enum:
                - OffNet
                - OnNet
                - DirectoryAssistance
                - Emergency
                - Operator
                - PhoneSupport
                - TeleRelayService
                - NonEmergencyServices
                - Other
                - PublicServices
                - NotResolved
                - EmergencyServicesVerification
        - name: callFlagType
          in: query
          description: Filter based on call flag type
          style: form
          explode: true
          schema:
            type: array
            items:
              type: string
              enum:
                - MISSED
                - VOICEMAIL
                - FORWARDED
                - BUSY
                - ANSWERED
                - OTHER
                - PICKUP
                - PICKED_UP
        - name: callType
          in: query
          description: Filter based on call type [INBOUND|OUTBOUND]
          style: form
          explode: true
          schema:
            type: array
            items:
              type: string
              enum:
                - INBOUND
                - OUTBOUND
        - name: dialedNumber
          in: query
          description: Filter based on dialed number
          schema:
            type: string
        - name: endDate
          in: query
          description: End date
          required: true
          schema:
            type: string
        - name: endTime
          in: query
          description: Filter based on end time
          schema:
            type: string
        - name: firstResultIndex
          in: query
          description: First result to display, defaults to 0
          schema:
            type: integer
            format: int32
            default: 0
        - name: maxResult
          in: query
          description: Maximum number to return, defaults to 20
          schema:
            type: integer
            format: int32
            default: 20
        - name: minCost
          in: query
          description: Specifies the minimum cost of the CDR
          schema:
            type: number
            format: double
        - name: origNumber
          in: query
          description: Filter based on origination number
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: sort
          in: query
          description: Sort field
          schema:
            type: string
            enum:
              - COST
              - CALL_LENGTH
              - DATE
        - name: sortOrder
          in: query
          description: Sort order
          schema:
            type: string
            enum:
              - ASC
              - DESC
        - name: startDate
          in: query
          description: Start date
          required: true
          schema:
            type: string
        - name: startTime
          in: query
          description: Filter based on start time
          schema:
            type: string
        - name: termNumber
          in: query
          description: Filter based on termination number
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            text/csv:
              schema:
                type: string
        '400':
          description: Invalid
          content: {}
        '404':
          description: Not found
          content: {}
      deprecated: true
  /v2/partition/{partitionId}/account/{accountId}/cdrsearch/csv_2:
    get:
      tags:
        - CDRs
      summary: CDR record search
      description: Use to search for Call Details Records.
      operationId: cdrSearchCSV_2
      parameters:
        - name: accountId
          in: path
          description: ID of account. Must contain only alphanumeric values with hyphen or underscore.
          required: true
          schema:
            type: string
        - name: callCategory
          in: query
          description: Filter based on call category
          style: form
          explode: true
          schema:
            type: array
            items:
              type: string
              enum:
                - OffNet
                - OnNet
                - DirectoryAssistance
                - Emergency
                - Operator
                - PhoneSupport
                - TeleRelayService
                - NonEmergencyServices
                - Other
                - PublicServices
                - NotResolved
                - EmergencyServicesVerification
        - name: callFlagType
          in: query
          description: Filter based on call flag type.
          style: form
          explode: true
          schema:
            type: array
            items:
              type: string
              enum:
                - MISSED
                - VOICEMAIL
                - FORWARDED
                - BUSY
                - ANSWERED
                - OTHER
                - PICKUP
                - PICKED_UP
        - name: callType
          in: query
          description: Filter based on call type.
          style: form
          explode: true
          schema:
            type: array
            items:
              type: string
              enum:
                - INBOUND
                - OUTBOUND
        - name: dialedNumber
          in: query
          description: Filter based on dialed number
          schema:
            type: string
        - name: endDate
          in: query
          description: End date in the format yyyy-MM-dd.
          schema:
            type: string
        - name: endTime
          in: query
          description: Filter based on end time
          schema:
            type: string
        - name: firstResultIndex
          in: query
          description: First result to display, defaults to 0.
          schema:
            type: integer
            format: int32
            default: 0
        - name: maxResult
          in: query
          description: Last result to display, defaults to 20.
          schema:
            type: integer
            format: int32
            default: 20
        - name: minCost
          in: query
          description: Specifies the minimum cost of the CDR.
          schema:
            type: number
            format: double
        - name: origNumber
          in: query
          description: Filter based on origination number
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: sort
          in: query
          description: Sort field
          schema:
            type: string
            enum:
              - COST
              - CALL_LENGTH
              - DATE
        - name: sortOrder
          in: query
          description: Sort order
          schema:
            type: string
            enum:
              - ASC
              - DESC
        - name: startDate
          in: query
          description: Start date in the format yyyy-MM-dd.
          schema:
            type: string
        - name: startTime
          in: query
          description: Filter based on start time
          schema:
            type: string
        - name: termNumber
          in: query
          description: Filter based on termination number
          schema:
            type: string
      responses:
        '202':
          description: The asynchronous process has started. Use Asynchronous JOB Tracker API to check its status.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Job'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/device/{macAddress}:
    get:
      tags:
        - Account Device
      summary: List DeviceLines configured for the specified macAddress.
      operationId: listDeviceLinesForMac
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: macAddress
          in: path
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DeviceX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: PartitionId, AccountId, or MacAddress is not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    post:
      tags:
        - Account Device
      summary: Bulk Import Device Lines
      description: Used to import a configuration for the device specified by the supplied mac address. <span hidden>Refer to the <a href="deviceLineBulkImport.html"> Device Line Bulk Import Documentation </a> for more information on using this feature. For information on the Device Lines represented in the file, please refer to <a href="deviceLineTypes.html">Device Line Types</a></span>
      operationId: bulkImportDevice
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: macAddress
          in: path
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      requestBody:
        description: 'CSV list of device lines. Columns: LINE_NUMBER, LINE_TYPE, REFERENCE, REFERENCE_NAME'
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/MultipartFormDataInput'
        required: true
      responses:
        '201':
          description: An empty list is returned if there are no errors.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FileImportValidationErrorX'
        '400':
          description: Error within the file
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FileImportValidationErrorX'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: PartitionId, AccountId, or MacAddress is not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
    delete:
      tags:
        - Account Device
      summary: Delete all devicelines (by mac)
      description: Use to delete a device and all its lines using the macaddress
      operationId: deleteDeviceByMac
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: macAddress
          in: path
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: PartitionId, AccountId, or MacAddress is not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/device/{macAddress}/csv:
    get:
      tags:
        - Account Device
      summary: CSV export of device lines.
      operationId: listDevicesCSV
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: macAddress
          in: path
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: 'Csv with the following columns: LINE_NUMBER, LINE_TYPE, REFERENCE, REFERENCE_NAME'
          content:
            text/csv:
              schema:
                type: string
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: PartitionId, AccountId, or MacAddress is not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/device/{macAddress}/metadata:
    get:
      tags:
        - Account Device
      summary: Device (by mac) Metadata
      description: Use to retrieve device (mac) metadata
      operationId: getDeviceMetadata
      parameters:
        - name: accountId
          in: path
          description: ID of account,  refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: macAddress
          in: path
          description: The 48-bit hexadecimal address assigned to the device by the manufacturer.
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, reference to <a href="#/~schema/Account">account.partitionId</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceMetadataX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: PartitionId, AccountId, or MacAddress is not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    put:
      tags:
        - Account Device
      summary: Device (by mac) Metadata
      description: Use to update device (mac) metadata.  This endpoint is used primarily to add <a href="#/~operation/Reference%20Resources/getSideCarTypes">SideCars</a> to your device. MacAddress, partitionId, accountId, deviceTypeId, and id are all immutable fields. Changing the provisionerType is currently not supported. Updating the adminPassword will only have an effect if the partition's Device Configuration setting (DevCon) does not supply an adminPassword. The DevCon settings can only be altered by an Alianza Admin.
      operationId: updateDeviceMetadata
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: macAddress
          in: path
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      requestBody:
        description: Device Metadata
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeviceMetadataX'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceMetadataX'
        '400':
          description: Invalid update object supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: PartitionId, AccountId, or MacAddress is not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
    patch:
      tags:
        - Account Device
      summary: Device (by mac) Metadata
      description: Use to update device (mac) metadata.  <span hidden>Refer <a href="deviceMetaData.html#patch-device-metadata">here</a> for more information.</span>
      operationId: patchDeviceMetadata
      parameters:
        - name: accountId
          in: path
          description: ID of account. Reference to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: macAddress
          in: path
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition. Reference to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      requestBody:
        description: Json object containing the fragment of the DeviceMetadata object to be updated.
        content:
          application/json:
            schema:
              type: object
              description: Json containing the fragment of the DeviceMetadata object to be updated.
              additionalProperties: true
              example:
                numSideCars: '1'
                sideCarTypeId: VVXEXP
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceMetadataX'
        '400':
          description: Invalid fragment supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: PartitionId, AccountId, or MacAddress is not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/device/{macAddress}/metadata/generateadminpassword:
    post:
      tags:
        - Account Device
      summary: Generate admin password for the device identified by the mac address.
      description: Generates an admin password for the device. Device must support Unique Admin Password. To check device type support, refer to <a href="#/~operation/Reference%20Resources/getDeviceTypeById">GetDeviceType</a> and view <a href="#/~schema/DeviceTypeX">DeviceTypeX.enforceUniqueAdminPassword</a>. Please note that if there are partition level settings (Devcon - short for device configuration) the password generated by this endpoint will be ignored. The Devcon settings can only be altered by an Alianza admin.
      operationId: generateAdminPassword
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: macAddress
          in: path
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, reference to <a href="#/~schema/Account">account.partitionId</a>
          required: true
          schema:
            type: string
      responses:
        '201':
          description: Success and return of the generated password.
          content:
            application/json:
              schema:
                type: string
        '400':
          description: Device does not support unique admin password, or the macAddress is not all lower case.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: partitionId, accountId, or macAddress could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/device/{macAddress}/metadata/resetencryptionkey:
    post:
      tags:
        - Account Device
      summary: Reset the encryption key for the specified device.
      description: Use to reset the current encryption key as though the device has been factory reset and needs to start over.
      operationId: resetEncryptionKey
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: macAddress
          in: path
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, reference to <a href="#/~schema/Account">account.partitionId</a>
          required: true
          schema:
            type: string
      responses:
        '201':
          description: Encryption Key has been reset.
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: The device has never been provisioned before or the partitionId, accountId,  or macAddress could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/device/{macAddress}/provisioning:
    get:
      tags:
        - Account Device
      summary: Provisioning info for this device
      description: Provides data on the device's most recent provisioning attempt.
      operationId: getProvisoningRequest
      parameters:
        - name: accountId
          in: path
          description: ID of account,  refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: macAddress
          in: path
          description: The 48-bit hexadecimal address assigned to the device by the manufacturer.
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, reference to <a href="#/~schema/Account">account.partitionId</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProvisioningRequestX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: PartitionId, AccountId, or MacAddress is not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/device/{macAddress}/validateproperties:
    get:
      tags:
        - Account Device
      summary: Validate that a device is available to use.
      description: |
        Validates that the macAddress is not currently in use on the account.

        Or if the mac address is in use it validates that:
         * The device exists within the account or is available for use by the account.
         * The line number supplied is supported by the device.
         * The device is allowed on the partition.

         A successful validation for devices that do not exist on the account is not a guarantee that they are allowed for use by the account.
      operationId: validateDeviceProperties
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: lineno
          in: query
          description: Line Number
          required: true
          schema:
            type: integer
            format: int32
        - name: macAddress
          in: path
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, reference to <a href="#/~schema/Account">account.partitionId</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: boolean
                description: Did prevalidation pass or fail.
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: The partitionId or accountId could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/deviceline:
    get:
      tags:
        - Account Device Line
      summary: Retrieve device line list
      description: Use to retrieve a list of device lines associated to an account.  If the parameters filter and filterType are not set, the returned devices list will include either all of the device lines for the referred account, in case the acting user is an Account User, or the devices owned by the acting user only, otherwise. <span hidden>See more about <a href="accountDeviceLine.html">Account Device Lines</a> and <a href="accountUser.html">Account User</a>.</span>
      operationId: listDevices
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: filter
          in: query
          description: Required when filterType is set, used to return specific devices on the account.
          schema:
            type: string
        - name: filterType
          in: query
          description: Used in conjunction with filter to return specific devices on the account. If set to REFERENCED_USERID and the acting user is an End User, then the filter must be set to the End User ID or else  a NotPermitted error will be returned.
          schema:
            type: string
            enum:
              - MAC_ADDRESS
              - MAC_ADDRESS_INVENTORY
              - OWNING_USERID
              - REFERENCED_USERID
              - ACCOUNT
        - name: partitionId
          in: path
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DeviceX'
        '400':
          description: Invalid query parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Entity not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    post:
      tags:
        - Account Device Line
      summary: Create a new device line
      description: Use to create a new device on a user. <span hidden>See more about <a href="accountDeviceLine.html">Account Device Lines</a> and <a href="accountDeviceLine.html#create-deviceline">Creating an Account Device Line</a>.</span>
      operationId: createDevice
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      requestBody:
        description: Device object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeviceX'
        required: true
      responses:
        '201':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceX'
        '400':
          description: Invalid query parameters or invalid request body
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Entity not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/deviceline/{deviceId}:
    get:
      tags:
        - Account Device Line
      summary: Retrieve device
      description: Use to retrieve a device by deviceId.  <span hidden>See also <a href="accountDeviceLine.html#read-deviceline">here</a></span>
      operationId: getDevice
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: deviceId
          in: path
          description: ID of device line, reference to <a href="#/~schema/DeviceX">device.id</a>.
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceX'
        '400':
          description: Invalid partition, account or user ID supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: User not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    put:
      tags:
        - Account Device Line
      summary: Update device line
      description: Use to update a device line by device ID. To modify the MAC Address or the Device Type, we strongly recommend to use the <a href="#/~operation/Account%20Device%20Line/swapDevice">Device Line Swap</a> endpoint instead. <span hidden>See more about <a href="accountDeviceLine.html#update-deviceline">Updating an Account Device Line</a>.</span>
      operationId: putDevice
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: deviceId
          in: path
          description: ID of device line, reference to <a href="#/~schema/DeviceX">device.id</a>.
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      requestBody:
        description: DeviceX object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeviceX'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceX'
        '400':
          description: Invalid query parameters or invalid request body
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Entity not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
    delete:
      tags:
        - Account Device Line
      summary: Delete device
      description: Use to delete a device by ID
      operationId: removeDevice
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: deviceId
          in: path
          description: ID of device line, refers to <a href="#/~schema/DeviceX">device.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      responses:
        '204':
          description: Successful operation
        '400':
          description: Invalid partition, account or device ID supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Device not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    patch:
      tags:
        - Account Device Line
      summary: Update device
      description: Use to update a device line, while supplying only the fields you wish to change.
      operationId: updateDevice
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: deviceId
          in: path
          description: ID of device line, reference to <a href="#/~schema/DeviceX">device.id</a>.
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      requestBody:
        description: A json fragment of the <a href="#/~schema/DeviceX">DeviceX</a> object.
        content:
          application/json:
            schema:
              type: object
              description: Json containing the fragment of the account object to be updated.
              additionalProperties: true
              example:
                deviceName: newDeviceName
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/deviceline/{deviceId}/provisioning:
    get:
      tags:
        - Account Device Line
      summary: Retrieve provisioning information for the device line
      description: It is preferable you use the Account Device endpoint device/{macAddress}/provisioning to get this information. This endpoint supports only devices provisioned through Device Requested Provisioning (DRP).
      operationId: provisioningInfo
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: deviceId
          in: path
          description: ID of device, refers to <a href="#/~schema/DeviceX">device.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, reference to <a href="#/~schema/Account">account.partitionId</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation. Until the device reaches out for it’s first provisioning request, the API will return a null response body.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProvisioningRequestX'
        '400':
          description: Invalid partition, account or device ID supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Device or provisioning not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/deviceline/{deviceId}/provisioningstatus:
    get:
      tags:
        - Account Device Line
      summary: Retrieve device provisioning status
      description: Use to retrieve a device's provisioning status. This endpoint supports only physical devices provisioned through Third Party Provisioning (TPP). For Device Requested Provisioning (DRP) info, it is preferable you use the Account Device endpoint device/{macAddress}/provisioning.
      operationId: provisioningStatus
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: deviceId
          in: path
          description: ID of device, refers to <a href="#/~schema/DeviceX">device.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, reference to <a href="#/~schema/Account">account.partitionId</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceStatusX'
        '400':
          description: Invalid partition, account or device ID supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Device or provisioning not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/deviceline/{deviceId}/registrationstatus:
    get:
      tags:
        - Account Device Line
      summary: Retrieve device registration status
      description: Use to verify whether the device is registered in a SIP Registrar Server.
      operationId: registrationStatus
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: deviceId
          in: path
          description: ID of device, refers to <a href="#/~schema/DeviceX">device.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegistrationStatusX'
        '400':
          description: Invalid partition, account or device ID supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Device not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/deviceline/{deviceId}/swap:
    post:
      tags:
        - Account Device Line
      summary: Swap device
      description: Use to replace an existing device with a new one. Swapping is not allowed when  i) the existing device includes side cars,  ii) only one of the devices is an SMB phone,  iii) the existing device is enabled for SIP paging while the new device is not, or  iv) the existing device line number is greater than the new device line count. <span hidden>See more about <a href="accountDeviceLine.html">Account Device Lines</a>.</span>
      operationId: swapDevice
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: deviceId
          in: path
          description: ID of device
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      requestBody:
        description: DeviceSwap object containing the new macAddress, deviceTypeId, and deviceName
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeviceSwapX'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/deviceline/{deviceId}/swap/prevalidate:
    get:
      tags:
        - Account Device Line
      summary: Pre-validate a MAC address.
      description: Use to validate a certain MAC address for duplicates before swapping a device. <span hidden>See more about <a href="accountDeviceLine.html">Account Device Lines</a>.</span>
      operationId: swapPrevalidate
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: deviceId
          in: path
          description: ID of device line
          required: true
          schema:
            type: string
        - name: macaddress
          in: query
          description: Mac address
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: boolean
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/devices:
    get:
      tags:
        - Account
      summary: Devices on an Account
      description: Used to list all devices on an account, DEPRECATED use /v2/partition/{id}/account/{id}/deviceline endpoint instead
      operationId: listDevicesDeprecated
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DeviceX'
        '400':
          description: Invalid account id
          content: {}
      deprecated: true
  /v2/partition/{partitionId}/account/{accountId}/dynamic-inventory/orders:
    post:
      tags:
        - Dynamic Inventory
      summary: Creates Dynamic inventory orders, those orders eventually will activate telephone numbers received on a request
      operationId: createDynamicInventoryOrders
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      requestBody:
        description: Dynamic inventory order request object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DynamicTelephoneNumberActivationX'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DynamicInventoryOrderX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/dynamic-inventory/tn-search:
    get:
      tags:
        - Dynamic Inventory
      summary: Retrieve telephone number list matching query parameters from carrier's dynamic inventory
      operationId: retrieveTnsFromCarriersDynamicInventory
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: npa
          in: query
          description: The three-digit number that identifies the telephone service region
          schema:
            type: string
        - name: npa-nxx
          in: query
          description: A six-digit code that is used to identify telephone numbers
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: qty
          in: query
          description: Desired quantity of telephone numbers
          schema:
            type: integer
            format: int32
        - name: sequential
          in: query
          description: When true to returns sequential numbers
          schema:
            type: boolean
            default: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DynamicInventoryX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/emergency-notifications/events:
    get:
      tags:
        - Emergency Notification
      summary: Retrieve notification event list
      description: Use to retrieve all Emergency Notification Events for an account.  For accounts with Emergency Notification enabled, one of these is automatically generated anytime any enduser of the account places a 911 or 933 call.
      operationId: listEmergencyNotificationEvents
      parameters:
        - name: accountId
          in: path
          description: ID of account.  Refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition.  Refers to <a href="#/~schema/Account">account.partitionId</a>, which refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/EmergencyNotificationEvent'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/emergency-notifications/groups:
    get:
      tags:
        - Emergency Notification
      summary: Retrieve notification group list
      description: Use to retrieve a list of notification group associated to an account
      operationId: listNotificationGroups
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition which the account belongs to, which refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/NotificationGroup'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/emergency-notifications/groups/{type}/{groupId}:
    get:
      tags:
        - Emergency Notification
      summary: Retrieve notification group
      description: Use to retrieve a specific NotificationGroup (include Compliance & configurations) for id/type
      operationId: retrieveNotificationGroup
      parameters:
        - name: accountId
          in: path
          description: ID of account which the notification group belongs to, which refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: groupId
          in: path
          description: ID of notification group.  Refers to <a href="#/~schema/NotificationGroup">notificationGroup.id</a>.  For ACCOUNT type, this is the same as the <a href="#/~schema/Account">account.id</a>.
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition which the account belongs to, which refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
        - name: type
          in: path
          description: Type of notification group.  At this time, only ACCOUNT is supported.
          required: true
          schema:
            type: string
            enum:
              - ACCOUNT
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotificationGroup'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    put:
      tags:
        - Emergency Notification
      summary: Update notification group
      description: Use to update specific NotificationGroup (only Compliance & configurations) for id/type.  <span hidden>For more information, see <a href="emergencyNotification.html#updateNotificationGroup">here</a></span>
      operationId: updateNotificationGroup
      parameters:
        - name: accountId
          in: path
          description: ID of account which the notification group belongs to, which refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: groupId
          in: path
          description: ID of notification group.  Refers to <a href="#/~schema/NotificationGroup">notificationGroup.id</a>.  For ACCOUNT type, this is the same as the <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition which the account belongs to, which refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
        - name: type
          in: path
          required: true
          schema:
            type: string
            enum:
              - ACCOUNT
      requestBody:
        description: Notification Group object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NotificationGroup'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotificationGroup'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/emergency-notifications/groups/{type}/{groupId}/execute-test:
    post:
      tags:
        - Emergency Notification
      summary: Execute test
      description: Test notifications to all recipients associated with the specified NotificationGroup.<BR> The results returned by this test endpoint are likely not enough; the real value comes by having each recipient confirm receipt of the notification in their email or text messages.  (This is a manual process) <BR><BR> The notification which results from this endpoint does not exactly match the format of a real notification, since there is no caller id information available. <BR><BR> A much more realistic test can be initiated by placing a 933 call from an enduser of the account.
      operationId: executeEmergencyNotificationTest
      parameters:
        - name: accountId
          in: path
          description: ID of account, which refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: groupId
          in: path
          description: ID of notification group.  Refers to <a href="#/~schema/NotificationGroup">notificationGroup.id</a>.  For ACCOUNT type, this is the same as the <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition.  Refers to <a href="#/~schema/Account">account.partitionId</a>, which refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
        - name: type
          in: path
          required: true
          schema:
            type: string
            enum:
              - ACCOUNT
      responses:
        '200':
          description: Successful operation.  The resultant test notification event is returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmergencyNotificationEvent'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/group:
    get:
      tags:
        - Call Group
      summary: Get call group list
      description: Use to retrieve a list of call groups matching the supplied criteria. <span hidden>Refer <a href="callGroups.html#get-call-groups">here</a> for more information.</span>
      operationId: getAllCallGroups
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: memberId
          in: query
          description: Filter for member ID, requires member type selection
          required: false
          schema:
            type: string
        - name: memberType
          in: query
          description: Filter by member type
          required: false
          schema:
            type: string
            enum:
              - DEVICE
              - USER
        - name: partitionId
          in: path
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CallGroupX'
        '400':
          description: Invalid memberType
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Partition Id not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    post:
      tags:
        - Call Group
      summary: Create call group
      description: Use to create a call group. <span hidden>Refer to <a href="callGroups.html#creating-a-call-group">Creating a Call Group</a> for more information.</span>
      operationId: createCallGroup
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      requestBody:
        description: Call group object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CallGroupX'
        required: true
      responses:
        '201':
          description: Call group created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallGroupX'
        '400':
          description: Invalid Call Group object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Partition Id or Account Id not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '500':
          description: memberId list is null (empty list is OK)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/group/{callGroupId}:
    get:
      tags:
        - Call Group
      summary: Retrieve a call group
      description: Use to retrieve a call group. <span hidden>Refer <a href="callGroups.html#get-call-groups">here</a> for more information.</span>
      operationId: getCallGroup
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: callGroupId
          in: path
          description: ID of the Call Group, <a href="#/~schema/CallGroupX">callGroup.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallGroupX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    put:
      tags:
        - Call Group
      summary: Update call group
      description: Use to update a call group. <span hidden>Refer to <a href="callGroups.html#updating-a-call-group">Updating a Call Group</a> for more information.</span>
      operationId: updateCallGroup
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: callGroupId
          in: path
          description: ID of the Call Group, <a href="#/~schema/CallGroupX">callGroup.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      requestBody:
        description: Call group object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CallGroupX'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallGroupX'
        '400':
          description: Invalid Call Group object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Partition Id, Account Id, or Call Group Id not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '500':
          description: memberId list is null (empty list is OK)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
    patch:
      tags:
        - Call Group
      summary: Update call group
      description: Use to update a call group. <span hidden>Refer to <a href="callGroups.html#patching-a-call-group">Patching a Call Group</a> for more information.</span>
      operationId: patchCallGroup
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: callGroupId
          in: path
          description: ID of the Call Group, <a href="#/~schema/CallGroupX">callGroup.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      requestBody:
        description: Json fragment of a Call Group object
        content:
          application/json:
            schema:
              type: object
              description: Json containing the fragment of the call group object to be updated.
              additionalProperties: true
              example:
                memberIds:
                  - id1
                  - id2
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallGroupX'
        '400':
          description: Invalid Call Group fragment
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Partition Id, Account Id, or Call Group Id not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '500':
          description: memberId list is null (empty list is OK)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
    delete:
      tags:
        - Call Group
      summary: Delete call group
      description: Use to delete a call group. <span hidden>Refer to <a href="callGroups.html#deleting-a-call-group">Deleting a Call Group</a> for more information.</span>
      operationId: deleteCallGroup
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: callGroupId
          in: path
          description: ID of the Call Group, <a href="#/~schema/CallGroupX">callGroup.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      responses:
        '204':
          description: The Call Group was deleted successfully
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/grouppaging:
    get:
      tags:
        - Paging Group
      summary: Get paging group list
      description: Use to retrieve a list of paging groups.
      operationId: getAllPagingGroups
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PagingGroupX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    post:
      tags:
        - Paging Group
      summary: Create paging group
      description: Use to create a paging group. <span hidden>Refer to <a href="callGroups.html#creating-a-paging-group">Creating a Paging Group</a> for more information.</span>
      operationId: createPagingGroup
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      requestBody:
        description: Paging group object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PagingGroupX'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PagingGroupX'
        '400':
          description: Invalid paging group object, or invalid account Id in path
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Partition Id or call group Ids not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/grouppaging/{pagingGroupId}:
    get:
      tags:
        - Paging Group
      summary: Retrieve paging group
      description: Use to retrieve a paging group
      operationId: getPagingGroup
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: pagingGroupId
          in: path
          description: ID of paging group, refers to <a href="#/~schema/PagingGroupX">pagingGroupX.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PagingGroupX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    put:
      tags:
        - Paging Group
      summary: Update paging group
      description: Use to update a paging group. <span hidden>Refer to <a href="callGroups.html#updating-a-paging-group">Updating a Paging Group</a> for more information.</span>
      operationId: updatePagingGroup
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: pagingGroupId
          in: path
          description: ID of paging group, refers to <a href="#/~schema/PagingGroupX">pagingGroupX.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      requestBody:
        description: Paging group object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PagingGroupX'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PagingGroupX'
        '400':
          description: Invalid paging group object, or invalid account Id in path
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Partition Id or call group Ids not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
    patch:
      tags:
        - Paging Group
      summary: Patch update a paging group
      description: Use to update a paging group. <span hidden>Please refer to <a href="callGroups.html#patching-a-paging-group">Patching a Paging Group</a> for more information.</span>
      operationId: patchPagingGroup
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: pagingGroupId
          in: path
          description: ID of paging group, refers to <a href="#/~schema/PagingGroupX">pagingGroupX.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      requestBody:
        description: Json fragment of a paging group object
        content:
          application/json:
            schema:
              type: object
              description: Json containing the fragment of the paging group object to be updated.
              additionalProperties: true
              example:
                groupIds:
                  - id1
                  - id2
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PagingGroupX'
        '400':
          description: Invalid paging group Id or paging group object fragment
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Partition Id, account Id, paging group Id, or call group Ids not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '500':
          description: Unknown error or invalid type supplied
      x-codegen-request-body-name: body
    delete:
      tags:
        - Paging Group
      summary: Delete paging group
      description: Use to delete a paging group. <span hidden>Please refer to <a href="callGroups.html#deleting-a-paging-group">Deleting a Paging Group</a> for more information.</span>
      operationId: deletePagingGroup
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: pagingGroupId
          in: path
          description: ID of paging group, refers to <a href="#/~schema/PagingGroupX">pagingGroupX.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      responses:
        '204':
          description: Paging group deleted successfully
        '400':
          description: Invalid account Id in path
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Partition Id or call group Id not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/grouppickup:
    get:
      tags:
        - Pickup Group
      summary: Get pickup group list
      description: Use to retrieve a list of pickup groups. <span hidden>Refer <a href="callGroups.html#get-pickup-groups">here</a> for more information.</span>
      operationId: getAllPickupGroups
      parameters:
        - name: accountId
          in: path
          description: ID of account,  refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, reference to <a href="#/~schema/Account">account.partitionId</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PickupGroupX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    post:
      tags:
        - Pickup Group
      summary: Create pickup group
      description: Use to create a pickup group. <span hidden>Refer <a href="callGroups.html#post-pickup-groups">here</a> for more details.</span>
      operationId: createPickupGroup
      parameters:
        - name: accountId
          in: path
          description: ID of account.  Refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition.  Refers to <a href="#/~schema/Account">account.partitionId</a>, which refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      requestBody:
        description: Pickup group object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PickupGroupX'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PickupGroupX'
        '400':
          description: Invalid pickup group, invalid account id in path.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Partition Id not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/grouppickup/{pickupGroupId}:
    get:
      tags:
        - Pickup Group
      summary: Retrieve pickup group
      description: Use to retrieve a pickup group. <span hidden>Refer <a href="callGroups.html#get-pickup-groups">here</a> for more information.</span>
      operationId: getPickupGroup
      parameters:
        - name: accountId
          in: path
          description: ID of account,  refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, reference to <a href="#/~schema/Account">account.partitionId</a>
          required: true
          schema:
            type: string
        - name: pickupGroupId
          in: path
          description: ID of pickup group, refers to <a href="#/~schema/PickupGroupX">pickupGroupX.id</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PickupGroupX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    put:
      tags:
        - Pickup Group
      summary: Update pickup group
      description: Use to update a pickup group.  <span hidden>Refer <a href="callGroups.html#update-pickup-groups">here</a> for more details.</span>
      operationId: updatePickupGroup
      parameters:
        - name: accountId
          in: path
          description: ID of account.  Refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, reference to <a href="#/~schema/Account">account.partitionId</a>
          required: true
          schema:
            type: string
        - name: pickupGroupId
          in: path
          description: ID of pickup group, refers to <a href="#/~schema/PickupGroupX">pickupGroupX.id</a>
          required: true
          schema:
            type: string
      requestBody:
        description: Pickup group object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PickupGroupX'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PickupGroupX'
        '400':
          description: Invalid Pickup Group or invalid account id in path.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Partition Id or Pickup Group Id not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
    delete:
      tags:
        - Pickup Group
      summary: Delete pickup group
      description: Use to delete a pickup group. <span hidden>Refer <a href="callGroups.html#deleting-a-pickup-group">here</a> for more details.</span>
      operationId: deletePickupGroup
      parameters:
        - name: accountId
          in: path
          description: ID of account.  Refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, reference to <a href="#/~schema/Account">account.partitionId</a>
          required: true
          schema:
            type: string
        - name: pickupGroupId
          in: path
          description: ID of pickup group, refers to <a href="#/~schema/PickupGroupX">pickupGroupX.id</a>
          required: true
          schema:
            type: string
      responses:
        '204':
          description: Successful operation
        '400':
          description: Invalid account id in path.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Partition Id or Pickup Group Id not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    patch:
      tags:
        - Pickup Group
      summary: Update pickup group
      description: Use to update a pickup group. <span hidden>Refer <a href="callGroups.html#patch-pickup-groups">here</a> for more details.</span>
      operationId: patchPickupGroup
      parameters:
        - name: accountId
          in: path
          description: ID of account,  refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, reference to <a href="#/~schema/Account">account.partitionId</a>
          required: true
          schema:
            type: string
        - name: pickupGroupId
          in: path
          description: ID of pickup group, refers to <a href="#/~schema/PickupGroupX">pickupGroupX.id</a>
          required: true
          schema:
            type: string
      requestBody:
        description: Pickup group object
        content:
          application/json:
            schema:
              type: object
              description: Json containing the fragment of the pickup group object to be updated.
              additionalProperties: true
              example:
                name: myPickupGroup
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PickupGroupX'
        '400':
          description: Invalid pickup group fragment, invalid accountId in path.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Partition Id or Pickup Group Id not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/ivr:
    get:
      tags:
        - IVR
      summary: Retrieve all IVRs for account
      description: Use to retrieve a list of all IVRs for an account
      operationId: retrieveIvrList
      parameters:
        - name: accountId
          in: path
          description: ID of account.  Refers to <a href="#/~schema/IVRX">ivr.accountId</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition.  Refers to <a href="#/~schema/IVRX">ivr.partitionId</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IVRX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    post:
      tags:
        - IVR
      summary: Create IVR
      description: Use to create an IVR.  <span hidden>See <a href="ivr/ivr.html#createIvr">here</a> for details.</span>
      operationId: createIvr
      parameters:
        - name: accountId
          in: path
          description: ID of account.   Refers to <a href="#/~schema/IVRX">ivr.accountId</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition.  Refers to <a href="#/~schema/IVRX">ivr.partitionId</a>
          required: true
          schema:
            type: string
      requestBody:
        description: IVR object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IVRX'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IVRX'
        '400':
          description: Invalid IVR object supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Path error, probably bad partitionId or accountId
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/ivr/{ivrId}:
    get:
      tags:
        - IVR
      summary: Retrieve IVR
      description: Use to retrieve an IVR
      operationId: retrieveIvr
      parameters:
        - name: accountId
          in: path
          description: ID of account.  Refers to <a href="#/~schema/IVRX">ivr.accountId</a>
          required: true
          schema:
            type: string
        - name: ivrId
          in: path
          description: ID of IVR.  Refers to <a href="#/~schema/IVRX">ivr.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition.  Refers to <a href="#/~schema/IVRX">ivr.partitionId</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IVRX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    put:
      tags:
        - IVR
      summary: Update IVR
      description: Use to update an IVR.  <span hidden>See <a href="ivr/ivr.html#updateIvr">here</a> for details.</span>
      operationId: updateIvr
      parameters:
        - name: accountId
          in: path
          description: ID of account.   Refers to <a href="#/~schema/IVRX">IVRX.accountId</a>.
          required: true
          schema:
            type: string
        - name: ivrId
          in: path
          description: ID of IVR.    Refers to <a href="#/~schema/IVRX">IVRX.id</a>.
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition.  Refers to <a href="#/~schema/IVRX">IVRX.partitionId</a>.
          required: true
          schema:
            type: string
      requestBody:
        description: IVR object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IVRX'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IVRX'
        '400':
          description: Invalid IVR object supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: IVR not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
    delete:
      tags:
        - IVR
      summary: Delete IVR
      description: Use to delete an IVR.  <span hidden>See <a href="ivr/ivr.html#deleteIvr">here</a> for details.</span>
      operationId: deleteIvr
      parameters:
        - name: accountId
          in: path
          description: ID of account.  Refers to <a href="#/~schema/IVRX">IVRX.accountId</a>.
          required: true
          schema:
            type: string
        - name: ivrId
          in: path
          description: ID of IVR.  Refers to <a href="#/~schema/IVRX">IVRX.id</a>.
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition.  Refers to <a href="#/~schema/IVRX">IVRX.partitionId</a>.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: string
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/macaddress/{macAddress}:
    get:
      tags:
        - Account
      summary: Get device data by MAC address
      operationId: getDeviceDataForAccount
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: macAddress
          in: path
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountDeviceDataX'
        '400':
          description: Not in inventory, not available, in use
          content: {}
      deprecated: true
  /v2/partition/{partitionId}/account/{accountId}/macaddress/{macAddress}/inventory:
    get:
      tags:
        - Account
      summary: Determine which lines are available on a device/mac
      description: Uses to determine which lines are available on a device/mac, DEPRECATED use /v2/partition/{id}/account/{id}/deviceline?filterType=MAC_ADDRESS_INVENTORY&filter={mac} endpoint instead
      operationId: findAllAvailableDevicesByMacAddress
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: macAddress
          in: path
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DeviceX'
        '400':
          description: Not in inventory, not available, in use
          content: {}
        '404':
          description: Device type not found
          content: {}
      deprecated: true
  /v2/partition/{partitionId}/account/{accountId}/media:
    post:
      tags:
        - Media
      summary: Add IVR prompt
      description: Use to add an IVR prompt
      operationId: add
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      requestBody:
        description: Media file
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/MultipartFormDataInput'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: string
        '400':
          description: Invalid ID supplied
          content: {}
        '404':
          description: Account or IVR not found
          content: {}
      deprecated: true
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/media/{mediaId}:
    get:
      tags:
        - Media
      summary: Retrieve Media of type
      description: This endpoint is deprecated, please use <a href="#/Media/getMediaFile">getMediaFile</a> instead.
      operationId: deprecatedGetMedia
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: fileName
          in: query
          description: Name of media
          schema:
            type: string
        - name: mediaId
          in: path
          description: ID of media, returned when you upload an IVR prompt or custom hold music.
          required: true
          schema:
            type: string
        - name: mediaType
          in: query
          description: Type of Media
          required: true
          schema:
            type: string
            enum:
              - HoldMusic
              - IvrPrompt
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/octet-stream:
              schema:
                type: array
                items:
                  pattern: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$
                  type: string
                  format: byte
        '400':
          description: Invalid Media ID supplied
          content: {}
        '404':
          description: Account not found
          content: {}
      deprecated: true
  /v2/partition/{partitionId}/account/{accountId}/media_2:
    post:
      tags:
        - Media
      summary: Upload IVR Prompt or Account Hold Music
      description: 'This endpoint has two fairly distinct modes of operation.<br/> 1. IVR Prompts: requires a wav file and returns a Media object.<br/> 2. Hold Music: requires a jobUploadKey and returns a Job object.<span hidden><br/><br/> Please see <a href="media.html">here</a> for more information on how this endpoint is used for each case.</span>'
      operationId: uploadAccountMedia
      parameters:
        - name: accountId
          in: path
          description: ID of account.  Refer to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: jobUploadKey
          in: query
          description: (Use only for Hold Music) Provide an upload key which identifies music uploaded in a prior step.  Refers to <a href="#/~schema/JobUpload">jobUpload.key</a>
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition.  Refers to <a href="#/~schema/Account">account.partitionId</a> which refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      requestBody:
        description: (Use for IVR prompt) Provide the bytes of the wav file to upload in the "file" formdata.
        content:
          multipart/form-data:
            schema:
              properties:
                file:
                  type: string
                  format: binary
                  description: Bytes of wave File to upload.
      responses:
        '200':
          description: This response type pertains when the endpoint is used for IVR prompt, and is supplied a file in the body.  The provided audio file has been processed and uploaded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MediaX'
        '202':
          description: This response type pertains when the endpoint is used for hold music, and is provided a jobUploadKey. The key has been accepted and the asynchronous job has started
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Job'
        '400':
          description: File body not supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Path error, probably bad partitionId or accountId
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/media_2/type/holdmusic:
    get:
      tags:
        - Media
      summary: Retrieve Hold Music
      description: Use to retrieve Hold Music assigned to the account.  This returns the media id and a temporary preauthorized download url.  The return value corresponds to either account.customHoldMusicMediaId or account.holdMusicMediaId, depending on the "custom" query parameter.<br/><br/> Custom hold music refers to music uploaded by the user.  Normal hold music refers to standard choices provided by the system.
      operationId: getAccountHoldMusic
      parameters:
        - name: accountId
          in: path
          description: ID of account.  Refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: custom
          in: query
          description: If true, return information pertaining to <a href="#/~schema/Account">account.customHoldMusicMediaId</a>.  If false, return information pertaining to <a href="#/~schema/Account">account.holdMusicMediaId</a>
          schema:
            type: boolean
        - name: partitionId
          in: path
          description: ID of partition. Refers to <a href="#/~schema/Account">account.partitionId</a> which refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HoldMusicX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    delete:
      tags:
        - Media
      summary: Remove the hold music media selection for this account
      description: Used to unassign the hold music currently assigned to the account.<br/><br/> Until new hold music is assigned, a caller to this account, placed on hold, will hear a periodic beep.<br/><br/> This does not actually delete the media file, it only clears account.holdMusicMediaId.  On the one hand, standard hold musics are never deleted; and on the other, custom hold music is only deleted when the user uploads a different custom hold music.  This allows for easier rollback if the user regrets this API call.
      operationId: deleteAccountMusicOnHold
      parameters:
        - name: accountId
          in: path
          description: ID of account.  Refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition.  Refers to <a href="#/~schema/Account">account.partitionId</a> which refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content: {}
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Entity not found. This can be because the partition or account does not exist, but also because the account does not have any hold music assigned to it.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/media_2/type/holdmusic/{id}:
    put:
      tags:
        - Media
      summary: Set the hold music on this account to this media storage id.
      description: Used to set the hold music on this account to one of the standard hold music choices.<br/><br/> For a list of available standard hold music choices, use <a href="#/Reference%20Resources/listDefaultMedia">listDefaultMedia</a>, and to actually listen to the choices, use <a href="#/Media/getMediaFile">getMediaFile</a> with any of the return media ids. <span hidden><br/><br/> For custom hold music, please refer <a href="media.html#hold-music">here</a>.</span>
      operationId: updateAccountMusicOnHold
      parameters:
        - name: accountId
          in: path
          description: ID of account.  Refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: Hold Music storage id.  For valid values, refer to the description at the top of this API.
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition.  Refers to <a href="#/~schema/Account">account.partitionId</a> which refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HoldMusicX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/media_2/{id}:
    get:
      tags:
        - Media
      summary: Retrieve Media. Will return a 302 redirect to the actual file location
      description: Use to retrieve a media File, related to either HoldMusic or IVR, depending on the mediaType query parameter.<br/><br/> You will need the mediaId. <span hidden>For more info, see <a href="media.html#getMediaFile">here.</a></span>
      operationId: getMediaFile
      parameters:
        - name: accountId
          in: path
          description: ID of account.  Refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: ID of media.  Refers to <a href="#/~schema/MediaX">media.id</a>
          required: true
          schema:
            type: string
        - name: mediaType
          in: query
          description: Type of Media
          required: true
          schema:
            type: string
            enum:
              - HoldMusic
              - IvrPrompt
        - name: partitionId
          in: path
          description: ID of partition.  Refers to <a href="#/~schema/Account">account.partitionId</a> which refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/octet-stream:
              schema:
                type: array
                items:
                  pattern: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$
                  type: string
                  format: byte
        '400':
          description: Invalid Media Type supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Entity not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    put:
      tags:
        - Media
      summary: Choose hold music for an account
      description: This endpoint is deprecated, please use <a href="#/Media/updateAccountMusicOnHold">updateAccountMusicOnHold</a> instead.
      operationId: update_2
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '400':
          description: Invalid request parameters
          content: {}
        default:
          description: Successful operation
          content: {}
      deprecated: true
    delete:
      tags:
        - Media
      summary: Delete hold music
      description: This endpoint is deprecated, please use <a href="#/Media/deleteAccountMusicOnHold">deleteAccountMusicOnHold</a> instead.
      operationId: deleteHoldMusic
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: ID of Hold Music Media
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '400':
          description: Invalid request parameters
          content: {}
        default:
          description: Successful operation
          content: {}
      deprecated: true
  /v2/partition/{partitionId}/account/{accountId}/port/{portId}:
    get:
      tags:
        - Port
      summary: Get port data
      description: Retrieve the information of a previously submitted port.  In order to retrieve the port record, you need to know the partition, account, and id fields of the port. The port id will have been return when you submitted the port you now wish to query.
      operationId: retrievePort
      parameters:
        - name: accountId
          in: path
          description: ID of account. Reference to <a href="#/~schema/Account">account.id</a> via <a href="#/~schema/PortX">port.accountId</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition. Reference to <a href="#/~schema/PartitionX">partition.id</a> via <a href="#/~schema/PortX">port.partitionId</a>
          required: true
          schema:
            type: string
        - name: portId
          in: path
          description: Reference to <a href="#/~schema/PortX">port.id</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PortX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    put:
      tags:
        - Port
      summary: Update a port request
      description: Update a port request.  There are many reasons this can fail, many limitations, and some possible unintended consequences.  <span hidden>Please see <a href="porting2.html#update-port">here</a> for a detailed explanation.</span>
      operationId: updatePort
      parameters:
        - name: accountId
          in: path
          description: ID of account. Reference to <a href="#/~schema/Account">account.id</a> via <a href="#/~schema/PortX">port.accountId</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition. Reference to <a href="#/~schema/PartitionX">partition.id</a> via <a href="#/~schema/PortX">port.partitionId</a>
          required: true
          schema:
            type: string
        - name: portId
          in: path
          description: Reference to <a href="#/~schema/PortX">port.id</a>
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PortX'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PortX'
        '400':
          description: Port is in an incompatible or terminal state, Required field missing, field fails validation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Port not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    patch:
      tags:
        - Port
      summary: Patch a port request
      description: Update a port request, via patch.  There are many reasons this can fail, many limitations, and some possible unintended consequences.  <span hidden>Please see <a href="porting2.html#update-port">here</a> for a detailed explanation.</span>
      operationId: patchPort
      parameters:
        - name: accountId
          in: path
          description: ID of account. Reference to <a href="#/~schema/Account">account.id</a> via <a href="#/~schema/PortX">port.accountId</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition. Reference to <a href="#/~schema/PartitionX">partition.id</a> via <a href="#/~schema/PortX">port.partitionId</a>
          required: true
          schema:
            type: string
        - name: portId
          in: path
          description: Reference to <a href="#/~schema/PortX">port.id</a>
          required: true
          schema:
            type: string
      requestBody:
        description: Json object containing the fragment of the <a href="#/~schema/PortX">port</a> object to be updated.
        content:
          application/json:
            schema:
              type: object
              description: Json containing the fragment of the <a href="#/~schema/PortX">port</a> object to be updated.
              additionalProperties: true
              example:
                wirelessAccountNumber: correctedWirelessAccountNumber
                wirelessPin: correctedWirelessPin
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PortX'
        '400':
          description: Port is in an incompatible or terminal state, Required field missing, field fails validation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Port not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/port/{portId}/cancelport:
    delete:
      tags:
        - Port
      summary: Cancel a port request
      description: Cancel a port which is in progress.  <span hidden>See <a href="porting2.html#cancel-port">here</a> for important details.</span>
      operationId: cancelPort
      parameters:
        - name: accountId
          in: path
          description: ID of account. Reference to <a href="#/~schema/Account">account.id</a> via <a href="#/~schema/PortX">port.accountId</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition. Reference to <a href="#/~schema/PartitionX">partition.id</a> via <a href="#/~schema/PortX">port.partitionId</a>
          required: true
          schema:
            type: string
        - name: portId
          in: path
          description: Reference to <a href="#/~schema/PortX">port.id</a>
          required: true
          schema:
            type: string
      responses:
        '204':
          description: Successful operation
        '400':
          description: Port is in an incompatible or terminal state
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Port not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/port/{portId}/loa:
    get:
      tags:
        - Port
      summary: Get LOA
      description: (DEPRECATED) Until further notice, all LOA needs should be handled by submitting an LOA ticket to Alianza support
      operationId: findLoa
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: portId
          in: path
          required: true
          schema:
            type: string
      responses:
        '400':
          description: Invalid request parameters
          content: {}
        default:
          description: Successful operation
          content: {}
      deprecated: true
    post:
      tags:
        - Port
      summary: Upload LOA
      description: (DEPRECATED) Until further notice, all LOA needs should be handled by submitting an LOA ticket to Alianza support
      operationId: uploadLOA
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: portId
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/MultipartFormDataInput'
        required: false
      responses:
        '400':
          description: Invalid request parameters
          content: {}
        default:
          description: Successful operation
          content: {}
      deprecated: true
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/port/{portId}/loa/metadata:
    get:
      tags:
        - Port
      summary: Get LOA metadata
      description: (DEPRECATED) Until further notice, all LOA needs should be handled by submitting an LOA ticket to Alianza support
      operationId: getLoaMetadata
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: portId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LOAX'
        '400':
          description: Invalid request parameters
          content: {}
      deprecated: true
  /v2/partition/{partitionId}/account/{accountId}/port/{portId}/triggerport:
    put:
      tags:
        - Port
      summary: Updates a service activation event on an account and triggers the port with the carrier
      description: Use to update a specific service activation event on an account as a port request for the purpose of triggering a port with the carrier
      operationId: triggerPort
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: portId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/product/prevalidate:
    post:
      tags:
        - Account Prevalidate
      summary: Prevalidate an account product
      description: Use to prevalidate an account product
      operationId: prevalidate
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Account product validated successfully
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/reference/{referenceId}/type/{serviceType}:
    get:
      tags:
        - Service Activation
      summary: Retrieve service activation events on an account
      description: Use to retrieve details of a specific type of telephone service activation event on an account
      operationId: getServiceActivationEvents
      parameters:
        - name: accountId
          in: path
          description: ID of account, reference to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, reference to <a href="#/~schema/Account">account.partitionId</a>
          required: true
          schema:
            type: string
        - name: referenceId
          in: path
          description: The phone number to search for activation events
          required: true
          schema:
            type: string
        - name: serviceType
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/ServiceActivationEventTypeX'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceActivationEventX'
        '400':
          description: Invalid parameters supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Entity not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/send-welcome-email:
    post:
      tags:
        - Account
      summary: Send welcome email to all users who have not previously received a welcome email.
      description: Used to send a welcome email to all users in the account that have not received a welcome email, have an email address, and have portal access.  If the account was created with sendWelcomeEmail set to false, no welcome email will be sent.
      operationId: sendWelcomeEmailToAll
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/siptrunkgroup:
    get:
      tags:
        - SIP Trunk Group
      summary: Retrieve the groups on the account
      description: Use to retrieve the SIP trunk groups created for the specified account ID and partition ID
      operationId: listGroups
      parameters:
        - name: partitionId
          in: path
          description: ID of the partition
          required: true
          schema:
            type: string
        - name: accountId
          in: path
          description: ID of the account
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SipTrunkGroup'
        4XX:
          description: Bad request
    post:
      tags:
        - SIP Trunk Group
      summary: Create a new SIP trunk group
      description: Use to create a new SIP trunk group for the specified account ID and partition ID
      operationId: createGroup
      parameters:
        - name: partitionId
          in: path
          description: ID of the partition
          required: true
          schema:
            type: string
        - name: accountId
          in: path
          description: ID of the account
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SipTrunkGroup'
        required: true
      responses:
        '201':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SipTrunkGroup'
        '400':
          description: Bad Request
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/siptrunkgroup/{groupId}:
    delete:
      tags:
        - SIP Trunk Group
      summary: Delete a SIP trunk group
      description: Use to delete the SIP trunk group for the specified account ID, partition ID and group ID
      operationId: deleteGroup
      parameters:
        - name: partitionId
          in: path
          description: id of the partition
          required: true
          schema:
            type: string
        - name: accountId
          in: path
          description: id of the account
          required: true
          schema:
            type: string
        - name: groupId
          in: path
          description: id group
          required: true
          schema:
            type: string
      responses:
        '204':
          description: Successful operation
        '404':
          description: Not Found
    get:
      tags:
        - SIP Trunk Group
      summary: Retrieve a DIP trunk group
      description: Use to retrieve the SIP trunk group for the specified account ID, partition ID and group ID
      operationId: getGroup
      parameters:
        - name: partitionId
          in: path
          description: id of the partition
          required: true
          schema:
            type: string
        - name: accountId
          in: path
          description: id of the account
          required: true
          schema:
            type: string
        - name: groupId
          in: path
          description: id group
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SipTrunkGroup'
        '404':
          description: Not found
    put:
      tags:
        - SIP Trunk Group
      summary: Update a SIP trunk group
      description: Use to update a SIP trunk group created for the specified account ID, partition ID and group ID
      operationId: updateGroup
      parameters:
        - name: partitionId
          in: path
          description: id of the partition
          required: true
          schema:
            type: string
        - name: accountId
          in: path
          description: id of the account
          required: true
          schema:
            type: string
        - name: groupId
          in: path
          description: id group
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SipTrunkGroup'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SipTrunkGroup'
        '400':
          description: Bad Request
        '404':
          description: Not Found
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/siptrunkgroup/{groupId}/forward:
    get:
      tags:
        - SIP Trunk Group
      summary: Retrieves the forwarding rules
      description: Use to retrieve the SIP trunk group forwarding rules for the specified account ID, partition ID and group ID
      operationId: getFailover
      parameters:
        - name: partitionId
          in: path
          description: id of the partition
          required: true
          schema:
            type: string
        - name: accountId
          in: path
          description: id of the account
          required: true
          schema:
            type: string
        - name: groupId
          in: path
          description: id group
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SipTrunkGroupForwardRules'
        '404':
          description: Not found
    put:
      tags:
        - SIP Trunk Group
      summary: Updates the forwarding rules
      description: Use to update the SIP trunk group forwarding rules created for the specified account ID, partition ID and group ID
      operationId: updateFailover
      parameters:
        - name: partitionId
          in: path
          description: id of the partition
          required: true
          schema:
            type: string
        - name: accountId
          in: path
          description: id of the account
          required: true
          schema:
            type: string
        - name: groupId
          in: path
          description: id group
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SipTrunkGroupForwardRules'
        '404':
          description: Not found
  /v2/partition/{partitionId}/account/{accountId}/siptrunk_2:
    get:
      tags:
        - SIP Trunk
      summary: Retrieve list of SIP trunks
      description: Use to retrieve a list of all SIP trunks for the specified account ID and partition ID
      operationId: retrieveSipTrunkList
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition. Refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SipTrunk'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    post:
      tags:
        - SIP Trunk
      summary: Create a SIP trunk
      description: Use to create a SIP trunk. <span hidden>Refer <a href="sip_trunk.html#creating-sip-trunk">here</a> for more information</span>
      operationId: createSipTrunk
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition. Refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SipTrunk'
        required: false
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SipTrunk'
        '400':
          description: Invalid SIP trunk object supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '500':
          description: Error consuming JSON body, partition Id not correct, or account Id not correct
          content:
            text/plain:
              schema:
                type: string
                example: ErrorGettingAccount
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/siptrunk_2/shared-plan-lookup:
    get:
      tags:
        - SIP Trunk
      summary: Retrieve list of shareable calling plans
      description: Use to retrieve calling plans that can be shared between SIP trunks
      operationId: getShareableCallingPlans
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SipTrunk'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/siptrunk_2/validate:
    get:
      tags:
        - SIP Trunk
      summary: Pre-validate data
      description: Use to verify that a combination of IP address and Port number is unique
      operationId: validateSipTrunkIpPort
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: ip
          in: query
          description: IP address to validate
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition. Refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
        - name: port
          in: query
          description: Port number to validate
          required: true
          schema:
            type: string
        - name: trunkId
          in: query
          description: ID of the SIP trunk that will use this IP and Port to prevent false negative result
          required: false
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: boolean
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/siptrunk_2/{sipTrunkId}:
    get:
      tags:
        - SIP Trunk
      summary: Retrieve SIP trunk
      description: Used to retrieve a SIP trunk by the specified id
      operationId: retrieveSipTrunk
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition. Refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
        - name: sipTrunkId
          in: path
          description: ID of SIP trunk. Refers to <a href="#/~schema/SipTrunk">sipTrunk.id</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SipTrunk'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    put:
      tags:
        - SIP Trunk
      summary: Update SIP trunk
      description: Use to update a SIP trunk. <span hidden>Refer <a href="sip_trunk.html#update-sip-trunk">here</a> for more information</span>
      operationId: updateSipTrunk
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition. Refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
        - name: sipTrunkId
          in: path
          description: ID of SIP trunk. Refers to <a href="#/~schema/SipTrunk">sipTrunk.id</a>
          required: true
          schema:
            type: string
      requestBody:
        description: SIP trunk object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SipTrunk'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SipTrunk'
        '400':
          description: Invalid SipTrunk object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Partition Id, Account Id, or SipTrunk Id not found.
          content:
            text/plain:
              schema:
                type: string
                example: EntityNotFound
        '500':
          description: Error consuming JSON
          content:
            text/plain:
              schema:
                type: string
                example: ErrorUpdatingSipCredential
      x-codegen-request-body-name: body
    patch:
      tags:
        - SIP Trunk
      summary: Patch Update SIP trunk
      description: Use to update a SIP trunk. <span hidden>Refer <a href="sip_trunk.html#patching-sip-trunk">here</a> for more information</span>
      operationId: patchSipTrunk
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition. Refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
        - name: sipTrunkId
          in: path
          description: SIP trunk ID
          required: true
          schema:
            type: string
      requestBody:
        description: Json fragment of a SIP trunk object
        content:
          application/json:
            schema:
              type: object
              description: Json containing the fragment of the SIP trunk object to be updated.
              additionalProperties: true
              example:
                trunkName: new name
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SipTrunk'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '500':
          description: Error consuming JSON fragment, partition Id not correct, or account Id not correct
          content:
            text/plain:
              schema:
                type: string
                example: ErrorIsPasswordValid
      x-codegen-request-body-name: body
    delete:
      tags:
        - SIP Trunk
      summary: Delete SIP trunk
      description: Use to delete a SIP trunk
      operationId: deleteSipTrunk
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition. Refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
        - name: sipTrunkId
          in: path
          description: ID of SIP trunk. Refers to <a href="#/~schema/SipTrunk">sipTrunk.id</a>
          required: true
          schema:
            type: string
      responses:
        '204':
          description: The SIP trunk was deleted successfully
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/siptrunk_2/{sipTrunkId}/forward:
    get:
      tags:
        - SIP Trunk
      summary: Get Forward behavior for a SIP trunk
      description: Get Forward behavior for a SIP trunk
      operationId: retrieveSipTrunkForwardBehavior
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition. Refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
        - name: sipTrunkId
          in: path
          description: ID of SIP trunk. Refers to <a href="#/~schema/SipTrunk">sipTrunk.id</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SipTrunkForwardRules'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    put:
      tags:
        - SIP Trunk
      summary: Update Forward behavior for a SIP trunk
      description: Update Forward behavior for a SIP trunk. <span hidden>For more information, please refer to <a href="sip_trunk.html#update-forward-behavior">Updating Forward Behavior</a></span>
      operationId: updateSipTrunkForwardBehavior
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition. Refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
        - name: sipTrunkId
          in: path
          description: ID of SIP trunk. Refers to <a href="#/~schema/SipTrunk">sipTrunk.id</a>
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SipTrunkForwardRules'
        required: false
      responses:
        '204':
          description: The forward rules were updated successfully
        '400':
          description: Invalid SipTrunkForwardRules object or invalid settings.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Partition Id or Account Id not found.
          content:
            text/plain:
              schema:
                type: string
                example: EntityNotFound
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/siptrunk_2/{sipTrunkId}/registrationstatus:
    get:
      tags:
        - SIP Trunk
      summary: Retrieve SIP trunk registration status
      description: Use to retrieve SIP trunk registration status
      operationId: getRegistrationStatus
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition. Refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
        - name: sipTrunkId
          in: path
          description: ID of SIP trunk. Refers to <a href="#/~schema/SipTrunk">sipTrunk.id</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegistrationStatus'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/siptrunk_2/{sipTrunkId}/unlock:
    put:
      tags:
        - SIP Trunk
      summary: Unlock SIP trunk
      description: Use to unlock a SIP trunk
      operationId: unlockSipTrunk
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition. Refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
        - name: sipTrunkId
          in: path
          description: ID of SIP trunk. Refers to <a href="#/~schema/SipTrunk">sipTrunk.id</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SipTrunk'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/siptrunk_2/cid/fromnumber:
    get:
      tags:
        - Sip Trunk Caller ID Mapping
      summary: Retrieve list of all Custom FROM Numbers
      description: Use to retrieve a list of all Custom FROM Numbers for the specified account ID and partition ID.
      operationId: listCustomFromNumbers
      parameters:
        - name: partitionId
          in: path
          description: ID of the partition
          required: true
          schema:
            type: string
        - name: accountId
          in: path
          description: ID of the account
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FromTelephoneNumber'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '403':
          description: User does not have enough permissions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    post:
      tags:
        - Sip Trunk Caller ID Mapping
      summary: Create a FROM Number
      description: Use to create a FROM Number for the specified account ID and partition ID.
      operationId: createFromNumber
      parameters:
        - name: partitionId
          in: path
          description: ID of the partition
          required: true
          schema:
            type: string
        - name: accountId
          in: path
          description: ID of the account
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FromTelephoneNumber'
        required: true
      responses:
        '201':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FromTelephoneNumber'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '403':
          description: User does not have enough permissions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/siptrunk_2/cid/fromnumber/{fromNumber}:
    delete:
      tags:
        - Sip Trunk Caller ID Mapping
      summary: Delete a FROM Number
      description: Use to delete the FROM Number for the specified account ID, partition ID and FROM Number.
      operationId: deleteFromNumber
      parameters:
        - name: partitionId
          in: path
          description: ID of the partition
          required: true
          schema:
            type: string
        - name: accountId
          in: path
          description: ID of the account
          required: true
          schema:
            type: string
        - name: fromNumber
          in: path
          description: exact FROM Telephone Number or wildcard
          required: true
          schema:
            type: string
      responses:
        '204':
          description: Successful operation
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '403':
          description: User does not have enough permissions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/siptrunk_2/cid/mapping:
    get:
      tags:
        - Sip Trunk Caller ID Mapping
      summary: Retrieve list of all FROM Number to Caller ID mappings
      description: Use to retrieve a list of all FROM Number to Caller ID mappings for the specified account ID and partition ID.
      operationId: listCallerIdMappings
      parameters:
        - name: partitionId
          in: path
          description: ID of the partition
          required: true
          schema:
            type: string
        - name: accountId
          in: path
          description: ID of the account
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FromTelephoneNumber'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '403':
          description: User does not have enough permissions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    put:
      tags:
        - Sip Trunk Caller ID Mapping
      summary: Update a FROM Number to Caller ID mapping
      description: Use to update a FROM Number to Caller ID mapping by setting Custom Caller ID Number or set it to null to remove mapping for the specified account ID and partition ID.
      operationId: updateFromNumber
      parameters:
        - name: partitionId
          in: path
          description: ID of the partition
          required: true
          schema:
            type: string
        - name: accountId
          in: path
          description: ID of the account
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FromTelephoneNumber'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FromTelephoneNumber'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '403':
          description: User does not have enough permissions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/siptrunk_2/cid/callerid:
    get:
      tags:
        - Sip Trunk Caller ID Mapping
      summary: Retrieve list of all Caller IDs
      description: Use to retrieve a list of all Caller IDs for the specified account ID and partition ID.
      operationId: listCallerIds
      parameters:
        - name: partitionId
          in: path
          description: ID of the partition
          required: true
          schema:
            type: string
        - name: accountId
          in: path
          description: ID of the account
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CustomCallerId'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '403':
          description: User does not have enough permissions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    post:
      tags:
        - Sip Trunk Caller ID Mapping
      summary: Create a Caller ID
      description: Use to create a Caller ID for the specified account ID and partition ID.
      operationId: createCallerId
      parameters:
        - name: partitionId
          in: path
          description: ID of the partition
          required: true
          schema:
            type: string
        - name: accountId
          in: path
          description: ID of the account
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomCallerId'
        required: true
      responses:
        '201':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomCallerId'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '403':
          description: User does not have enough permissions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/siptrunk_2/cid/callerid/{callerId}:
    delete:
      tags:
        - Sip Trunk Caller ID Mapping
      summary: Delete a Caller ID
      description: Use to delete the Caller ID for the specified account ID, partition ID and Custom Caller ID Number with automatic cleanup of related mappings.
      operationId: deleteCallerId
      parameters:
        - name: partitionId
          in: path
          description: ID of the partition
          required: true
          schema:
            type: string
        - name: accountId
          in: path
          description: ID of the account
          required: true
          schema:
            type: string
        - name: callerId
          in: path
          description: Custom Caller ID Number
          required: true
          schema:
            type: string
      responses:
        '204':
          description: Successful operation
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '403':
          description: User does not have enough permissions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/specialty-line:
    get:
      tags:
        - Specialty Line
      summary: Retrieve specialty lines by account
      description: Use to retrieve a list of specialty lines associated with an account
      operationId: retrieve_specialty_line_by_account
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SpecialtyLinesX'
        '403':
          description: Partition or account not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SpecialtyLineErrorResponseDto'
    post:
      tags:
        - Specialty Line
      summary: Create a specialty line
      description: Use to create a new specialty line on an account
      operationId: create_specialty_line
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      requestBody:
        description: Specialty Line object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SpecialtyLineRequestDto'
        required: true
      responses:
        '201':
          description: Line created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SpecialtyLineResponseDto'
        '400':
          description: Invalid Specialty Line object supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SpecialtyLineErrorResponseDto'
        '403':
          description: Partition or account not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SpecialtyLineErrorResponseDto'
        '409':
          description: 'Device already exists: MAC and Port combination must be unique'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SpecialtyLineErrorResponseDto'
  /v2/partition/{partitionId}/account/{accountId}/specialty-line/{lineId}:
    get:
      tags:
        - Specialty Line
      summary: Retrieve a specialty line by id
      description: Use to retrieve a specialty line by id
      operationId: retrieve_specialty_line_by_id
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: lineId
          in: path
          description: ID of specialty line, refers to <a href="#/~schema/SpecialtyLineResponseDto">specialityLineX.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SpecialtyLineResponseDto'
        '403':
          description: Partition or account not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SpecialtyLineErrorResponseDto'
        '404':
          description: Specialty line not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SpecialtyLineErrorResponseDto'
    put:
      tags:
        - Specialty Line
      summary: Update a specialty line
      description: Use to update a specialty line
      operationId: update_specialty_line
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: lineId
          in: path
          description: ID of specialty line, refers to <a href="#/~schema/SpecialtyLineResponseDto">specialityLineX.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      requestBody:
        description: Specialty Line object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SpecialtyLineRequestDto'
        required: true
      responses:
        '200':
          description: Line updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SpecialtyLineResponseDto'
        '400':
          description: Invalid Specialty Line object supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SpecialtyLineErrorResponseDto'
        '403':
          description: Partition or account not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SpecialtyLineErrorResponseDto'
        '404':
          description: Specialty line not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SpecialtyLineErrorResponseDto'
        '409':
          description: 'Device already exists: MAC and Port combination must be unique'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SpecialtyLineErrorResponseDto'
    delete:
      tags:
        - Specialty Line
      summary: Delete a specialty line
      description: Use to delete a specialty line
      operationId: delete_specialty_line
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: lineId
          in: path
          description: ID of specialty line, refers to <a href="#/~schema/SpecialtyLineResponseDto">specialityLineX.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      responses:
        '204':
          description: Line deleted successfully
        '403':
          description: Partition or account not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SpecialtyLineErrorResponseDto'
        '404':
          description: Specialty line not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SpecialtyLineErrorResponseDto'
  /v2/partition/{partitionId}/account/{accountId}/status:
    get:
      tags:
        - Account
      summary: Account status
      description: Use to retrieve the status of an account.
      operationId: getStatus
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: string
        '400':
          description: Invalid partition ID
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Account not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '500':
          description: Unknown issue has occurred.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/telephonenumber:
    get:
      tags:
        - Telephone Number
      summary: Retrieve all telephone numbers on an account
      description: Use to retrieve all telephone numbers on an account. limitedData is provided to enable large result sets to be retrieved without long retrieval times
      operationId: retrieveAccountTelephoneNumbers
      parameters:
        - name: accountId
          in: path
          description: ID of account,  refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: limitedData
          in: query
          description: Set to true to enable large result sets to be returned.
          schema:
            type: boolean
        - name: partitionId
          in: path
          description: ID of partition, reference to <a href="#/~schema/Account">account.partitionId</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/TelephoneNumberAccountV2X'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    post:
      tags:
        - Telephone Number
      summary: Create a telephone number, initiate a port, or add telephone number to an account
      description: Use to create a new telephone number or add an existing number to an account. Unit field in the CSR Address should be no greater than 10 character, anything more than 10 characters is ignored.
      operationId: createOrAddTelephoneNumberToAccount
      parameters:
        - name: accountId
          in: path
          description: ID of account,  refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, reference to <a href="#/~schema/Account">account.partitionId</a>
          required: true
          schema:
            type: string
      requestBody:
        description: Telephone number activation object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TelephoneNumberActivationsV2X'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TelephoneNumberActivationsV2X'
        '400':
          description: Invalid carrierId
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Partition Id or Account Id not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/telephonenumber/external:
    post:
      tags:
        - Telephone Number
      summary: Create or updates already activated telephone number to an account
      description: Use to create a new telephone number or update an existing number to an account. Unit field in the CSR Address should be no greater than 10 characters, anything more than 10 characters is ignored.
      operationId: createOrUpdateExternalTelephoneNumberToAccount
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      requestBody:
        description: Narrow telephone number object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExternalTnX'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExternalTnX'
        '400':
          description: Invalid account ID or telephone number information supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Telephone number not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/telephonenumber/groupid/{groupId}:
    get:
      tags:
        - Telephone Number
      summary: Retrieve all telephone number for end users
      description: Use to retrieve all telephone numbers on an account for user groups. If group is provided only the numbers for the users on this group will be returned
      operationId: retrieveTelephoneNumbersByUserGroups
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: groupId
          in: path
          description: Group ID
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/TelephoneNumberAccountV2X'
        '400':
          description: Invalid account ID supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Telephone numbers not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/telephonenumber/tn-requests:
    get:
      tags:
        - Telephone Number
      summary: Retrieves a list of dynamic inventory orders for the specified account.
      description: Retrieves a list of dynamic inventory orders for the specified account and query parameters. <span hidden>For more information refer <a href="dynamicInventory.html#retrieving-di-orders">here</a></span>
      operationId: retrieveDynamicInventoryActivations
      parameters:
        - name: accountId
          in: path
          description: ID of account,  refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: archived
          in: query
          description: Indicates whether archived records should be returned.
          schema:
            type: boolean
        - name: getAll
          in: query
          description: Setting getAll to true will override the limit of 100 records and return all records.
          schema:
            type: boolean
        - name: partitionId
          in: path
          description: ID of partition, reference to <a href="#/~schema/Account">account.partitionId</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DynamicTelephoneNumberActivationX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    post:
      tags:
        - Telephone Number
      summary: Activate a tn that will be requested dynamically from carrier. TN is not known at the moment of initiating of activation
      description: Creates an order for telephone numbers from a Carrier's inventory. <span hidden>For more information refer <a href="dynamicInventory.html#creating-di-order">here</a>.</span>
      operationId: createOrAddTelephoneNumberToAccountWithDynamicInventory
      parameters:
        - name: accountId
          in: path
          description: ID of account,  refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, reference to <a href="#/~schema/Account">account.partitionId</a>
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DynamicTelephoneNumberActivationX'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DynamicTelephoneNumberActivationX'
        '400':
          description: Invalid carrierId
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: PartitionId, AccountId, or MacAddress is not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/telephonenumber/tn-requests/actions/cancel:
    post:
      tags:
        - Telephone Number
      summary: Cancel and archive reservation object
      description: Cancel a dynamic number order.  Only orders in the status "ON_HOLD" or "REJECTED" can be cancelled, and there's nothing you can do to facilitate this for an order which is "IN_PROGRESS".  Only the inbound carrier can decide to hold or reject an IN_PROGRESS order.<span hidden><br/><br/> See <a href="dynamicInventory.html#cancelAndRemoveDynamicInventoryReservation">here</a> for more information.</span>
      operationId: cancelAndRemoveDynamicInventoryReservation
      parameters:
        - name: accountId
          in: path
          description: ID of account.  Refers to <a href="#/~schema/DynamicTelephoneNumberActivationX">dynamicTelephoneNumberActivation.accountId</a>, which refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition.  Refers to <a href="#/~schema/DynamicTelephoneNumberActivationX">dynamicTelephoneNumberActivation.partitionId</a>, which refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      requestBody:
        description: Cancel action object, set the reservationId to the orderId of the reservation you want to cancel
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CancelActionX'
        required: true
      responses:
        '204':
          description: Successful operation
        '400':
          description: Invalid dynamic reservation object activation status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: PartitionId, AccountId, or MacAddress is not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/telephonenumber/tn-requests/actions/resubmit:
    post:
      tags:
        - Telephone Number
      summary: Revise and resubmit dynamic reservation object
      description: Convenience method that cancels the order specified by the orderId and submits a new order with the object supplied. <span hidden>For more information refer <a href="dynamicInventory.html#reviseAndResubmitDynamicInventoryReservation">here</a></span>
      operationId: reviseAndResubmitDynamicInventoryReservation
      parameters:
        - name: accountId
          in: path
          description: ID of account,  refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, reference to <a href="#/~schema/Account">account.partitionId</a>
          required: true
          schema:
            type: string
      requestBody:
        description: Dynamic reservation object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DynamicTelephoneNumberActivationX'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DynamicTelephoneNumberActivationX'
        '400':
          description: Invalid carrierId
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: PartitionId, AccountId, or MacAddress is not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/telephonenumber/tn-requests/{orderId}:
    get:
      tags:
        - Telephone Number
      summary: Get activation with dynamic inventory regardless of status
      description: Retrieves a dynamic inventory order.  <span hidden>For more information refer <a href="dynamicInventory.html#retrieving-di-order">here</a></span>
      operationId: getDynamicInventoryActivation
      parameters:
        - name: accountId
          in: path
          description: ID of account,  refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: orderId
          in: path
          description: <a href="#/~schema/DynamicTelephoneNumberActivationX">DynamicTelephoneNumberActivationX.orderId</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, reference to <a href="#/~schema/Account">account.partitionId</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DynamicTelephoneNumberActivationX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    put:
      tags:
        - Telephone Number
      summary: Updates dynamic reservation object
      description: Updates dynamic reservation object.  This has very limited utility.  <span hidden>For more information refer <a href="dynamicInventory.html#updateTelephoneNumberToAccountWithDynamicInventory">here</a></span>
      operationId: updateTelephoneNumberToAccountWithDynamicInventory
      parameters:
        - name: accountId
          in: path
          description: ID of account.  Refers to <a href="#/~schema/DynamicTelephoneNumberActivationX">dynamicTelephoneNumberActivation.accountId</a>
          required: true
          schema:
            type: string
        - name: orderId
          in: path
          description: Dynamic reservation order id.  Refers to <a href="#/~schema/DynamicTelephoneNumberActivationX">dynamicTelephoneNumberActivation.orderId</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition.  Refers to <a href="#/~schema/DynamicTelephoneNumberActivationX">dynamicTelephoneNumberActivation.partitionId</a>, which refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      requestBody:
        description: Dynamic tn reservation object.  There are many limitations on what can be updated.  <span hidden>For more information refer <a href="dynamicInventory.html#updateTelephoneNumberToAccountWithDynamicInventory">here</a></span>
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DynamicTelephoneNumberActivationX'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DynamicTelephoneNumberActivationX'
        '400':
          description: Invalid dynamic reservation object supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Reservation not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/telephonenumber/tn-requests/{orderId}/refresh:
    post:
      tags:
        - Telephone Number
      summary: Refresh dynamic activation status
      description: Refresh dynamic activation status.  This endpoint should not be needed in a normal workflow, because the activation status is pushed to us via a webhook.  This is only useful if the webhook fails, which is something you should not count on.<br/><br/> Furthermore, this endpoint only works for orders that were placed with LEVEL_3 as the inboundCarrier.carrierType.<br/><br/> This endpoint does not return the new status.  Query the activation object to get the new status.  <span hidden>Information about checking the order status is <a href="dynamicInventory.html">here</a></span>
      operationId: refreshDynamicInventoryActivation
      parameters:
        - name: accountId
          in: path
          description: ID of account.  Refers to <a href="#/~schema/DynamicTelephoneNumberActivationX">dynamicTelephoneNumberActivation.accountId</a>, which refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: orderId
          in: path
          description: Dynamic reservation order id.  Refers to <a href="#/~schema/DynamicTelephoneNumberActivationX">dynamicTelephoneNumberActivation.orderId</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition.  Refers to <a href="#/~schema/DynamicTelephoneNumberActivationX">dynamicTelephoneNumberActivation.partitionId</a>, which refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content: {}
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/telephonenumber/{tn}:
    get:
      tags:
        - Telephone Number
      summary: Retrieve a telephone number on an account
      description: Use to retrieve a specific telephone number on an account.  <span hidden>Refer <a href="tnAccount.html#get-telephonenumber-account">here</a> for more details.</span>
      operationId: retrieveTelephoneNumberOnAccount
      parameters:
        - name: accountId
          in: path
          description: ID of account,  refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, reference to <a href="#/~schema/Account">account.partitionId</a>
          required: true
          schema:
            type: string
        - name: tn
          in: path
          description: Telephone number, refers to <a href="#/~schema/TelephoneNumberAccountV2X">telephoneNumberAccount.id</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TelephoneNumberAccountV2X'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    put:
      tags:
        - Telephone Number
      summary: Update telephone number on an account
      description: Use to update a telephone number on an account. <span hidden>Refer <a href="tnAccount.html#update-telephonenumber-account">here</a> for more details.</span>
      operationId: updateTelephoneNumberOnAccount
      parameters:
        - name: accountId
          in: path
          description: ID of account,  refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, reference to <a href="#/~schema/Account">account.partitionId</a>
          required: true
          schema:
            type: string
        - name: tn
          in: path
          description: Telephone number, refers to <a href="#/~schema/TelephoneNumberAccountV2X">telephoneNumberAccount.id</a>
          required: true
          schema:
            type: string
      requestBody:
        description: Telephone number account object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TelephoneNumberAccountV2X'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TelephoneNumberAccountV2X'
        '400':
          description: Required field missing, field fails validation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Partition Id, Account Id, or Telephone Number not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
    delete:
      tags:
        - Telephone Number
      summary: Delete telephone number on an account
      description: Use to delete a telephone number on an account.<br/><br/> This is not possible if the telephone number has any outstanding activation events.<br/><br/> The phone number is placed in "cooldown" for the number of days specified in <a href="#/~schema/PartitionX">partition.tnDeleteCooldownDays</a>, after which it is returned the inbound carrier unless reclaimed to inventory first.  Cooldown is intended to give the customer time to regret their decision and get their number back.<span hidden><br/><br/> See <a href="tnAccount.html#deleteTelephoneNumberOnAccount">here</a> for more information.</span>
      operationId: deleteTelephoneNumberOnAccount
      parameters:
        - name: accountId
          in: path
          description: ID of account.  Refers to <a href="#/~schema/TelephoneNumberAccountV2X">telephoneNumberAccount.accountId</a>, which refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition.  Refers to <a href="#/~schema/TelephoneNumberAccountV2X">telephoneNumberAccount.partitionId</a>, which refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
        - name: tn
          in: path
          description: Telephone number, 11 digits no spaces or dashes (include country code).  Refers to <a href="#/~schema/TelephoneNumberAccountV2X">telephoneNumberAccount.phoneNumber</a>
          required: true
          schema:
            type: string
      responses:
        '204':
          description: Telephone account successfully deleted
        '400':
          description: Cannot delete now due to unterminated serviceActivationEvent, or port in progress<br/><br/> Data array will explain the specific reason(s) why the telephone number cannot be deleted.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Telephone account not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    patch:
      tags:
        - Telephone Number
      summary: Update telephone number on an account
      description: Use to update a telephone number on an account. <span hidden>Refer <a href="tnAccount.html#patch-telephonenumber-account">here</a> for more details.</span>
      operationId: patchTelephoneNumberOnAccount
      parameters:
        - name: accountId
          in: path
          description: ID of account,  refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, reference to <a href="#/~schema/Account">account.partitionId</a>
          required: true
          schema:
            type: string
        - name: tn
          in: path
          description: Telephone number, refers to <a href="#/~schema/TelephoneNumberAccountV2X">telephoneNumberAccount.id</a>
          required: true
          schema:
            type: string
      requestBody:
        description: Json object containing the fragment of the <a href="#/~schema/TelephoneNumberAccountV2X">telephoneNumberAccountV2X</a> object to be updated.
        content:
          application/json:
            schema:
              type: object
              description: Json object containing the fragment of the <a href="#/~schema/TelephoneNumberAccountV2X">telephoneNumberAccountV2X</a> object to be updated
              additionalProperties: true
              example:
                referenceType: END_USER
                referenceId: someId
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TelephoneNumberAccountV2X'
        '400':
          description: Invalid JSON fragment
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: PartitionId, AccountId, or MacAddress is not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/telephonenumber/{tn}/911-address/correction:
    get:
      tags:
        - Telephone Number
      summary: Get adjusted E911 address
      operationId: getE911Correction
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: tn
          in: path
          description: Telephone number
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/E911AddressX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/telephonenumber/{tn}/911-address/correction/accept:
    put:
      tags:
        - Telephone Number
      summary: Accept adjusted E911 address
      operationId: acceptE911Correction
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: tn
          in: path
          description: Telephone number
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TelephoneNumberAccountV2X'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/telephonenumber/{tn}/911-address/original/accept:
    put:
      tags:
        - Telephone Number
      summary: Accept original E911 address
      operationId: acceptOriginalE911
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: latitude
          in: query
          description: E911 address latitude
          schema:
            type: string
        - name: longitude
          in: query
          description: E911 address latitude
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: tn
          in: path
          description: Telephone number
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TelephoneNumberAccountV2X'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/telephonenumber/{tn}/911-address/usages:
    get:
      tags:
        - Telephone Number
      summary: Retrieve information about what users on an account are using the specified telephone number.
      description: Use to retrieve usages of a specific telephone number on an account. <span hidden>Refer to <a href="tnInventory.html#retrieve-tn-usages">Search Partition for Telephone Number</a> for more information.</span>
      operationId: retrieveTelephoneNumberUsages
      parameters:
        - name: accountId
          in: path
          description: ID of account,  refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, reference to <a href="#/~schema/Account">account.partitionId</a>
          required: true
          schema:
            type: string
        - name: tn
          in: path
          description: 11-digit telephone number
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TelephoneNumberUsagesX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/telephonenumber/{tn}/destination:
    put:
      tags:
        - Telephone Number
      summary: Update destination of telephone number
      description: Update the destination that gets calls from this telephone number.<br/><br/> One example destination is an END_USER, which results in the user's devices ringing and potentially connecting a call. Another potential destination is one of our automated systems handling the incoming call.<br/><br/> If an END_USER is the destination, and the assignAsCallerId value is "true", this call also updates the enduser calleridConfig with the phone number and sets the visibility to true.<br/><br/> This is just a convenience method, the same thing can be accomplished using <a href="#/~operation/Telephone%20Number/updateTelephoneNumberOnAccount">updateTelephoneNumberOnAccount</a>, but which requires the full telephone number account object.
      operationId: destination
      parameters:
        - name: accountId
          in: path
          description: ID of account. Refers to <a href="#/~schema/TelephoneNumberAccountV2X">telephoneNumberAccount.accountId</a>, which refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition. Refers to <a href="#/~schema/TelephoneNumberAccountV2X">telephoneNumberAccount.partitionId</a>, which refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
        - name: tn
          in: path
          description: Telephone number, 11 digits no spaces or dashes (include country code). Refers to <a href="#/~schema/TelephoneNumberAccountV2X">telephoneNumberAccount.phoneNumber</a>
          required: true
          schema:
            type: string
      requestBody:
        description: Destination object.  Specifies the destination that is used when the phone number is called, and whether to assign the telephone number as the callerid of an enduser destination.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TelephoneNumberDestinationX'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TelephoneNumberDestinationX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/user:
    get:
      tags:
        - End User
      summary: Get end user list
      description: Use to retrieve a list of end users.
      operationId: retrieveEndUserList
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: limitedData
          in: query
          description: Set limitedData to TRUE to enable the retrieval of all users in a single call. If set to FALSE, a maximum of 1000 users will be retrieved.
          schema:
            type: boolean
        - name: partitionId
          in: path
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/EndUserV2X'
        '400':
          description: Invalid partition or account ID supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Entity not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    post:
      tags:
        - End User
      summary: Create end user
      description: Use to create a end user.  <span hidden>Refer <a href="endUser.html#create-end-user">here</a> for information on how to create an end user.</span>
      operationId: createEndUser
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      requestBody:
        description: End user object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EndUserV2X'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EndUserV2X'
        '400':
          description: Invalid user object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Partition Id or Account Id not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/user/activation:
    post:
      tags:
        - End User
      summary: End User activation
      description: (DEPRECATED) Use to create a new end user/device/csr to an existing account
      operationId: activation_1
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      requestBody:
        description: Account activation object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EndUserActivationV2X'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EndUserActivationV2X'
        '400':
          description: Invalid end user activation object(s) supplied
          content: {}
        '404':
          description: Account not found
          content: {}
      deprecated: true
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/user/prevalidate/email/{email}:
    get:
      tags:
        - End User
      summary: Prevalidate the end user's email address before saving the end user
      description: Use to prevalidate the email address. If the user hasn't been created yet, use as is. If the User already exists, provide qualified query param `userId`.
      operationId: prevalidateEmailAddress
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: email
          in: path
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
        - name: userId
          in: query
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
        '400':
          description: Invalid partition or account ID supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Entity not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/user/{userId}:
    get:
      tags:
        - End User
      summary: Retrieve end user
      description: Use to retrieve an end user
      operationId: retrieveEndUser
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: idType
          in: query
          description: Defines if the Id is the userid for the username
          schema:
            type: string
            enum:
              - ID
              - UserName
        - name: partitionId
          in: path
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
        - name: userId
          in: path
          description: ID of end user, refers to <a href="#/~schema/EndUserV2X">endUserV2X.id</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EndUserV2X'
        '400':
          description: Invalid partition or account ID supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Entity not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    put:
      tags:
        - End User
      summary: Update end user
      description: Use to update a end user. <span hidden>Refer to <a href="endUser.html#update-end-user">updating an end user</a> for more details.</span>
      operationId: updateEndUser
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
        - name: userId
          in: path
          description: ID of end user, refers to <a href="#/~schema/EndUserV2X">endUserV2X.id</a>
          required: true
          schema:
            type: string
      requestBody:
        description: End user object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EndUserV2X'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EndUserV2X'
        '400':
          description: Invalid end user ID or user object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Partition Id, Account Id, or User Id not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
    patch:
      tags:
        - End User
      summary: Patch end user
      description: Use to update a end user.  <span hidden>Refer to <a href="endUser.html#patch-end-user">patching an end user</a> for details.</span>
      operationId: patchEndUser
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
        - name: userId
          in: path
          description: ID of end user, refers to <a href="#/~schema/EndUserV2X">endUserV2X.id</a>
          required: true
          schema:
            type: string
      requestBody:
        description: End user object
        content:
          application/json:
            schema:
              type: object
              description: Json containing the fragment of the end user object to be updated.
              additionalProperties: true
              example:
                languageTag: fr-CA
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EndUserV2X'
        '400':
          description: Invalid end user fragment
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Partition Id, Account Id, or End User Id not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
    delete:
      tags:
        - End User
      summary: Delete end user
      description: Use to delete an end user
      operationId: deleteEndUser
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
        - name: userId
          in: path
          description: ID of end user, refers to <a href="#/~schema/EndUserV2X">endUserV2X.id</a>
          required: true
          schema:
            type: string
      responses:
        '204':
          description: Successful operation
        '400':
          description: Invalid partition or account ID supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Entity not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/user/{userId}/callingplanproduct/{callingPlanProductId}:
    put:
      tags:
        - End User
      summary: Change Calling Plan
      description: DEPRECATED USE account/{accountId}/callingplan INSTEAD -- Will add a pending calling plan.  If a pending calling plan already exists it will remove it and set the new calling plan
      operationId: changeCallingPlan_2
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: callingPlanProductId
          in: path
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: userId
          in: path
          description: ID of end-user
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CallingPlanX'
        '400':
          description: Invalid request parameters
          content: {}
      deprecated: true
  /v2/partition/{partitionId}/account/{accountId}/user/{userId}/callingplanswap:
    post:
      tags:
        - End User
      summary: Change Calling Plan Immediately
      description: DEPRECATED USE account/{accountId}/callingplan INSTEAD -- Will swap the active calling plan immediately for the specified calling plan
      operationId: swapCallingPlan_2
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: userId
          in: path
          description: ID of end-user
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CallingPlanSwapX'
        required: false
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CallingPlanX'
        '400':
          description: Invalid request parameters
          content: {}
      deprecated: true
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/user/{userId}/cancelpendingcallingplan:
    delete:
      tags:
        - End User
      summary: ' Cancel Pending Callingplan'
      description: DEPRECATED USE account/{accountId}/callingplan INSTEAD -- Will cancel any pending calling plan
      operationId: cancelPendingCallingPlan_2
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: userId
          in: path
          description: ID of end-user
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CallingPlanX'
        '400':
          description: Invalid request parameters
          content: {}
      deprecated: true
  /v2/partition/{partitionId}/account/{accountId}/user/{userId}/device:
    get:
      tags:
        - Device (Deprecated)
      summary: Retrieve device list
      description: Use to retrieve a list of devices associated to an account and a user, DEPRECATED use /v2/partition/{id}/account/{id}/deviceline endpoint instead
      operationId: listDeviceByUser
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: userId
          in: path
          description: ID of end-user
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DeviceX'
        '400':
          description: Invalid partition, account or user ID supplied
          content: {}
        '404':
          description: User not found
          content: {}
      deprecated: true
    post:
      tags:
        - Device (Deprecated)
      summary: Create a new device
      description: Use to create a new device on a user, DEPRECATED use /v2/partition/{id}/account/{id}/deviceline endpoint instead
      operationId: createDevice_1
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: userId
          in: path
          description: ID of end-user
          required: true
          schema:
            type: string
      requestBody:
        description: Device object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeviceX'
        required: true
      responses:
        '201':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceX'
        '400':
          description: Invalid device object supplied
          content: {}
        '404':
          description: Not found
          content: {}
      deprecated: true
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/user/{userId}/device/validateproperties:
    get:
      tags:
        - Device (Deprecated)
      summary: Pre-validate property on the Device object
      description: DEPRECATED use /v2/partition/{id}/account/{id}/device/{macaddress}/validateproperties endpoint instead
      operationId: validateProperties_3
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: lineno
          in: query
          description: Line Number
          required: true
          schema:
            type: integer
            format: int32
        - name: macaddress
          in: query
          description: Mac Address
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: userId
          in: path
          description: ID of end-user
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: boolean
        '400':
          description: Invalid request parameters
          content: {}
      deprecated: true
  /v2/partition/{partitionId}/account/{accountId}/user/{userId}/device/{deviceId}:
    get:
      tags:
        - Device (Deprecated)
      summary: Retrieve device
      description: Use to retrieve a device, DEPRECATED use /v2/partition/{id}/account/{id}/deviceline/{id} endpoint instead
      operationId: getDevice_1
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: deviceId
          in: path
          description: DeviceId
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: userId
          in: path
          description: ID of end-user
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceX'
        '400':
          description: Invalid partition, account or user ID supplied
          content: {}
        '404':
          description: User not found
          content: {}
      deprecated: true
    put:
      tags:
        - Device (Deprecated)
      summary: Update device
      description: Use to update a device, DEPRECATED use /v2/partition/{id}/account/{id}/deviceline/{id} endpoint instead
      operationId: updateDevice_1
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: deviceId
          in: path
          description: DeviceId
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: userId
          in: path
          description: ID of end-user
          required: true
          schema:
            type: string
      requestBody:
        description: Device object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeviceX'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceX'
        '404':
          description: Device not found
          content: {}
      deprecated: true
      x-codegen-request-body-name: body
    delete:
      tags:
        - Device (Deprecated)
      summary: Delete device
      description: Use to delete a device, DEPRECATED use /v2/partition/{id}/account/{id}/deviceline/{id} endpoint instead
      operationId: removeDevice_1
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: deviceId
          in: path
          description: DeviceId
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: userId
          in: path
          description: ID of end-user
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: string
        '404':
          description: Device not found
          content: {}
      deprecated: true
    patch:
      tags:
        - Device (Deprecated)
      summary: Update device
      description: Use to update a device, DEPRECATED use /v2/partition/{id}/account/{id}/deviceline/{id} endpoint instead
      operationId: patchDevice
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: deviceId
          in: path
          description: DeviceId
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: userId
          in: path
          description: ID of end-user
          required: true
          schema:
            type: string
      requestBody:
        description: Device object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeviceX'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceX'
        '404':
          description: Device not found
          content: {}
      deprecated: true
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/user/{userId}/device/{deviceId}/provisioningstatus:
    get:
      tags:
        - Device (Deprecated)
      summary: Retrieve device provisioning status
      description: Use to retrieve a device's provisioning status, DEPRECATED use /v2/partition/{id}/account/{id}/deviceline/{id}/provisioningstatus endpoint instead
      operationId: getProvisioningStatus
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: deviceId
          in: path
          description: DeviceId
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: userId
          in: path
          description: ID of end-user
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceStatusX'
        '404':
          description: Device not found
          content: {}
      deprecated: true
  /v2/partition/{partitionId}/account/{accountId}/user/{userId}/device/{deviceId}/registrationstatus:
    get:
      tags:
        - Device (Deprecated)
      summary: Retrieve device registration status
      description: Use to retrieve a device's registration status, DEPRECATED use /v2/partition/{id}/account/{id}/deviceline/{id}/registrationstatus endpoint instead
      operationId: getRegistrationStatus_2
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: deviceId
          in: path
          description: DeviceId
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: userId
          in: path
          description: ID of end-user
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegistrationStatusX'
        '404':
          description: Device not found
          content: {}
      deprecated: true
  /v2/partition/{partitionId}/account/{accountId}/user/{userId}/device/{deviceId}/swap:
    post:
      tags:
        - Device (Deprecated)
      summary: Swap device
      description: Use to replace an existing device with a new device, DEPRECATED use /v2/partition/{id}/account/{id}/deviceline/{id}/swap endpoint instead
      operationId: swapDevice_1
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: deviceId
          in: path
          description: DeviceId
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: userId
          in: path
          description: ID of end-user
          required: true
          schema:
            type: string
      requestBody:
        description: DeviceSwap object containing the new macAddress and deviceTypeId
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeviceSwapX'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceX'
        '400':
          description: Invalid MAC or device type supplied
          content: {}
      deprecated: true
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/user/{userId}/repurpose:
    put:
      tags:
        - End User
      summary: Repurpose an existing user to be a different user (end user swap)
      description: Use this endpoint to reuse an end user, along with their existing devices, telephone numbers and calling plans, for a new  person.  <BR> A new voicemail box is created, and call handling and call screening settings are reset. <BR> The new user's password is set to null. To reset the user password go <a href="#/~operation/End%20User/resetPassword_2">here.</a> <BR> Please note that the acting user cannot repurpose themselves.
      operationId: repurposeEndUser
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
        - name: userId
          in: path
          description: ID of end user, refers to <a href="#/~schema/EndUserV2X">endUserV2X.id</a>
          required: true
          schema:
            type: string
      requestBody:
        description: End user data to overwrite existing user data
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReassignEndUserX'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EndUserV2X'
        '400':
          description: Invalid partition or account ID supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Entity not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/user/{userId}/resetpassword:
    put:
      tags:
        - End User
      summary: Reset end user password
      description: Use to reset the password of an end user. <BR> Not allowed for end users with no access to the Voice Portal. <BR> If the account platform type is CPE2, or if the end user has an email address, an email for password reset is automatically sent.
      operationId: resetEndUserPassword
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
        - name: userId
          in: path
          description: ID of end user, refers to <a href="#/~schema/EndUserV2X">endUserV2X.id</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EndUserV2X'
        '400':
          description: Invalid partition or account ID supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Entity not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/user/{userId}/send-welcome-email:
    post:
      tags:
        - End User
      summary: Send welcome email to user
      description: Use to send a new welcome email to the user
      operationId: sendWelcomeEmail
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
        - name: userId
          in: path
          description: ID of end user, refers to <a href="#/~schema/EndUserV2X">endUserV2X.id</a>
          required: true
          schema:
            type: string
      responses:
        '204':
          description: Successful operation
        '400':
          description: Invalid partition or account ID supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Entity not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/user/{userId}/unlockvm:
    put:
      tags:
        - End User
      summary: Unlock end user voicemail
      description: Use to unlock an end user's voicemail
      operationId: unlockVm
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
        - name: resetPin
          in: query
          description: When reset, the PIN will change to 1234. The next time the voicemail box is accessed, the caller will be asked to change the Voicemail Box PIN.
          schema:
            type: boolean
        - name: userId
          in: path
          description: ID of end user, refers to <a href="#/~schema/EndUserV2X">endUserV2X.id</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EndUserV2X'
        '400':
          description: Invalid partition or account ID supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Entity not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/user/{userId}/voicemail:
    get:
      tags:
        - End User
      summary: Retrieve end user voicemail
      description: Use to retrieve a end user's voicemail
      operationId: getVoicemailData
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
        - name: userId
          in: path
          description: ID of end user, refers to <a href="#/~schema/EndUserV2X">endUserV2X.id</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/VoicemailMessageX'
        '400':
          description: Invalid partition or account ID supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Entity not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/user-product-plans:
    get:
      tags:
        - Account
      summary: Returns User Product Plans that are available to the specified account.
      operationId: getAvailableUserProductPlans
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UserProductPlanX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/vfax:
    get:
      tags:
        - Virtual Fax Line
      summary: Retrieve list of Virtual Fax Lines
      description: Use to retrieve a list of all Virtual Fax Lines on an account
      operationId: retrieveVFaxList
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/VirtualFaxLineX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    post:
      tags:
        - Virtual Fax Line
      summary: Create a Virtual Fax Line
      description: Use to create a VirtualFaxLine
      operationId: createVFax
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VirtualFaxLineX'
        required: false
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualFaxLineX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/vfax/outbound:
    get:
      tags:
        - Virtual Fax
      summary: Retrieve Outbound Virtual Fax Configuration
      description: Use to retrieve the outbound VFax configuration on an account
      operationId: retrieveOutboundVFax
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, refers to <a href="#/~schema/Account">account.partitionId</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VfaxOutbound'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    put:
      tags:
        - Virtual Fax
      summary: Update Outbound Virtual Fax Configuration
      description: Use to configure outbound VFax for an account
      operationId: updateOutboundVFax
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, refers to <a href="#/~schema/Account">account.partitionId</a>
          required: true
          schema:
            type: string
      requestBody:
        description: Outbound VFax configuration
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VfaxOutbound'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VfaxOutbound'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/vfax/{id}:
    get:
      tags:
        - Virtual Fax Line
      summary: Retrieve Virtual Fax Line
      description: Use to retrieve a Virtual Fax Line
      operationId: retrieveVFax
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: VirtualFaxLineID
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualFaxLineX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    put:
      tags:
        - Virtual Fax Line
      summary: Update Virtual Fax Line
      description: Use to update a Virtual Fax Line
      operationId: updateVFax
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: VirtualFaxLineID
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      requestBody:
        description: Virtual Fax Line object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VirtualFaxLineX'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualFaxLineX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
    delete:
      tags:
        - Virtual Fax Line
      summary: Delete Virtual Fax Line
      description: Use to delete a Virtual Fax Line
      operationId: deleteVFax
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: VirtualFaxLineID
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: string
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    patch:
      tags:
        - Virtual Fax Line
      summary: Update Virtual Fax Line
      description: Use to update a Virtual Fax Line
      operationId: patchVFax
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: VirtualFaxLineID
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      requestBody:
        description: Virtual Fax Line object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VirtualFaxLineX'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualFaxLineX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/voicemailbox:
    get:
      tags:
        - Voicemail Box
      summary: Retrieve voicemail box list
      description: Use to retrieve a list of voicemail boxes for an account
      operationId: retrieveVoicemailBoxList
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: parentId
          in: query
          description: ID of the parent VoicemailBox, refers to <a href="#/~schema/VoicemailBoxX">voicemailBox.id</a>
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, refers to <a href="#/~schema/Account">account.partitionId</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/VoicemailBoxX'
        '400':
          description: Invalid parameters supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Entity not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    post:
      tags:
        - Voicemail Box
      summary: Create voicemail box
      description: Use to create a new voicemail box. <span hidden>Refer <a href="voicemail.html#create-voicemail-box">here</a> for more information.</span>
      operationId: createVoicemailBox
      parameters:
        - name: accountId
          in: path
          description: ID of account.  Refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, reference to <a href="#/~schema/Account">account.partitionId</a>
          required: true
          schema:
            type: string
      requestBody:
        description: voicemail message object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VoicemailBoxX'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VoicemailBoxX'
        '400':
          description: Invalid voicemail box object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: PartitionId or AccountId not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/voicemailbox/{voicemailBoxId}:
    get:
      tags:
        - Voicemail Box
      summary: Get voicemail box
      description: Use to retrieve a voicemail box
      operationId: retrieveVoicemailBox
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: voicemailBoxId
          in: path
          description: ID of Voicemail Box
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VoicemailBoxX'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    put:
      tags:
        - Voicemail Box
      summary: Update voicemail box
      description: Use to update a voicemail box
      operationId: updateVoicemailBox
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: voicemailBoxId
          in: path
          description: ID of Voicemail Box
          required: true
          schema:
            type: string
      requestBody:
        description: voicemail message object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VoicemailBoxX'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VoicemailBoxX'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
    delete:
      tags:
        - Voicemail Box
      summary: Delete voicemail box
      description: Use to delete a voicemail box.
      operationId: deleteVoicemailBox
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: voicemailBoxId
          in: path
          description: ID of Voicemail Box
          required: true
          schema:
            type: string
      responses:
        '204':
          description: Successful operation
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    patch:
      tags:
        - Voicemail Box
      summary: Update voicemail box
      description: Use to update a voicemail box
      operationId: patchVoicemailBox
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: voicemailBoxId
          in: path
          description: ID of Voicemail Box
          required: true
          schema:
            type: string
      requestBody:
        description: voicemail message object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VoicemailBoxX'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VoicemailBoxX'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/voicemailbox/{voicemailBoxId}/greetings/{greetingType}/media:
    get:
      tags:
        - Voicemail Box
      summary: Retrieve User Greeting media file by specified greeting type.
      description: Use to retrieve media file for a users voicemail box. <span hidden>Refer <a href="voicemail.html#retrieve-greeting">here</a> for more information.</span>
      operationId: retrieveGreeting
      parameters:
        - name: accountId
          in: path
          description: ID of account.  Refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: greetingType
          in: path
          required: true
          schema:
            type: string
            enum:
              - Personal
              - PersonalNoAnswer
              - PersonalBusy
              - PersonalName
              - PrimaryGreeting
        - name: partitionId
          in: path
          description: ID of partition, reference to <a href="#/~schema/Account">account.partitionId</a>
          required: true
          schema:
            type: string
        - name: voicemailBoxId
          in: path
          description: ID of Voicemail Box.  Refers to <a href="#/~schema/VoicemailBoxX">VoicemailBoxX.id</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/octet-stream:
              schema:
                type: array
                items:
                  pattern: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$
                  type: string
                  format: byte
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    put:
      tags:
        - Voicemail Box
      summary: Upload User Greeting media file
      description: Use to upload media file for a users voicemail box (wav, mp3, ogg).  <span hidden>Refer <a href="voicemail.html#upload-greeting">here</a> for more information.</span>
      operationId: uploadGreeting
      parameters:
        - name: accountId
          in: path
          description: ID of account.  Refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: greetingType
          in: path
          required: true
          schema:
            type: string
            enum:
              - Personal
              - PersonalNoAnswer
              - PersonalBusy
              - PersonalName
              - PrimaryGreeting
        - name: partitionId
          in: path
          description: ID of partition, reference to <a href="#/~schema/Account">account.partitionId</a>
          required: true
          schema:
            type: string
        - name: voicemailBoxId
          in: path
          description: ID of Voicemail Box, refers to <a href="#/~schema/VoicemailBoxX">voicemailBox.id</a>
          required: true
          schema:
            type: string
      requestBody:
        content:
          multipart/form-data:
            schema:
              properties:
                file:
                  type: string
                  format: binary
                  description: Media file
              required:
                - file
        required: true
      responses:
        '202':
          description: Successful operation
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
    delete:
      tags:
        - Voicemail Box
      summary: Delete User Greeting media file
      description: Use to delete media file for a users voicemail box
      operationId: deleteGreeting
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: greetingType
          in: path
          required: true
          schema:
            type: string
            enum:
              - Personal
              - PersonalNoAnswer
              - PersonalBusy
              - PersonalName
              - PrimaryGreeting
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: voicemailBoxId
          in: path
          description: ID of Voicemail Box
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/voicemailbox/{voicemailBoxId}/pin:
    put:
      tags:
        - Voicemail Box
      summary: Set a PIN for a reference using a voicemail box
      operationId: setPin
      parameters:
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: voicemailBoxId
          in: path
          description: ID of Voicemail Box
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PinChange'
        required: false
      responses:
        '200':
          description: Successful operation
          content: {}
        '400':
          description: Invalid request
          content:
            content: {}
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/voicemailbox/{voicemailBoxId}/unlock:
    put:
      tags:
        - Voicemail Box
      summary: Unlock a sub voicemailbox
      description: Use to unlock the pin on a subvoicemail box
      operationId: unlockVoicemailBox
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: resetPin
          in: query
          description: New voicemail Pin
          schema:
            type: boolean
        - name: voicemailBoxId
          in: path
          description: ID of Voicemail Box
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VoicemailBoxX'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/voicemailbox/{voicemailBoxId}/voicemailmessage:
    get:
      tags:
        - Voicemail Message
      summary: Retrieve voicemail message list
      description: Use to retrieve a list of voicemail messages in a voicemail box
      operationId: list_1
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: voicemailBoxId
          in: path
          description: ID of Voicemail Box
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/VoicemailMessageX'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    delete:
      tags:
        - Voicemail Message
      summary: Delete multiple voicemails
      description: Use to delete multiple voicemails in a single call
      operationId: deleteMultiple
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: voicemailBoxId
          in: path
          description: ID of Voicemail Box
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                type: string
        required: false
      responses:
        '200':
          description: Successful operation
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/account/{accountId}/voicemailbox/{voicemailBoxId}/voicemailmessage/{messageId}:
    get:
      tags:
        - Voicemail Message
      summary: Get voicemail message
      description: Use to retrieve a voicemail message. <span hidden>Refer <a href="voicemail.html#get-voicemail-message">here</a> for more details.</span>
      operationId: getVoicemailMessage
      parameters:
        - name: accountId
          in: path
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: messageId
          in: path
          description: ID of voicemail message.  Refers to <a href="#/~schema/VoicemailMessageX">VoicemailMessageX.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, refers to <a href="#/~schema/Account">account.partitionId</a>
          required: true
          schema:
            type: string
        - name: voicemailBoxId
          in: path
          description: ID of Voicemail Box.  Refers to <a href="#/~schema/VoicemailBoxX">VoicemailBoxX.id</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VoicemailMessageX'
        '400':
          description: User is not permitted to view messages for this voicemailbox, account, or partition.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Voicemail message not found by id. Partition Id or Account Id not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    put:
      tags:
        - Voicemail Message
      summary: Update voicemail message
      description: Use to update a voicemail message; can only update read status
      operationId: update_4
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: messageId
          in: path
          description: MessageId
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: voicemailBoxId
          in: path
          description: ID of Voicemail Box
          required: true
          schema:
            type: string
      requestBody:
        description: voicemail message object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VoicemailMessageX'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VoicemailMessageX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
    delete:
      tags:
        - Voicemail Message
      summary: Delete voicemail message
      description: Use to delete a voicemail message
      operationId: delete_4
      parameters:
        - name: accountId
          in: path
          description: ID of account
          required: true
          schema:
            type: string
        - name: messageId
          in: path
          description: MessageId
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: voicemailBoxId
          in: path
          description: ID of Voicemail Box
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: string
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/voicemailbox/{voicemailBoxId}/voicemailmessage/{messageId}/content:
    get:
      tags:
        - Voicemail Message
      summary: Get contents of a voicemail message
      description: Use to get contents of a voicemail message. <span hidden>Refer <a href="voicemail.html#get-voicemail-contents">here</a> for more details.</span>
      operationId: getMessageContent
      parameters:
        - name: Accept
          in: header
          schema:
            type: string
        - name: accountId
          in: path
          description: ID of account.  Refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: fileName
          in: query
          description: Customized filename.  If blank, defaults to 'voicemail'
          schema:
            type: string
        - name: messageId
          in: path
          description: ID of voicemail message.  Refers to <a href="#/~schema/VoicemailMessageX">VoicemailMessageX.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, reference to <a href="#/~schema/Account">account.partitionId</a>
          required: true
          schema:
            type: string
        - name: voicemailBoxId
          in: path
          description: ID of Voicemail Box.  Refers to <a href="#/~schema/VoicemailBoxX">VoicemailBoxX.id</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            audio/mpeg:
              schema:
                type: array
                items:
                  pattern: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$
                  type: string
                  format: byte
            audio/wave:
              schema:
                type: array
                items:
                  pattern: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$
                  type: string
                  format: byte
        '400':
          description: User is not permitted to view messages for this voicemailbox, account, or partition.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: voicemail message not found by id
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/account/{accountId}/voicemailbox/{voicemailBoxId}/voicemailmessage/{messageId}/content_2:
    get:
      tags:
        - Voicemail Message
      summary: Get contents of voicemail message. Will return a 302 redirect to the actual voicemail location.
      description: Use to retrieve Media of a given type.  <span hidden>Refer <a href="voicemail.html#get-voicemail-url">here</a> for more details.</span>
      operationId: getVoicemailUrl
      parameters:
        - name: accountId
          in: path
          description: ID of account.  Refers to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: mediatype
          in: query
          schema:
            type: string
            default: wav
            enum:
              - mp3
              - wav
        - name: messageId
          in: path
          description: ID of voicemail message.  Refers to <a href="#/~schema/VoicemailMessageX">VoicemailMessageX.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, reference to <a href="#/~schema/Account">account.partitionId</a>
          required: true
          schema:
            type: string
        - name: voicemailBoxId
          in: path
          description: ID of Voicemail Box.  Refers to <a href="#/~schema/VoicemailBoxX">VoicemailBoxX.id</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            audio/mpeg:
              schema:
                type: array
                items:
                  pattern: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$
                  type: string
                  format: byte
            audio/wave:
              schema:
                type: array
                items:
                  pattern: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$
                  type: string
                  format: byte
        '400':
          description: User is not permitted to view messages for this voicemailbox, account, or partition.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: voicemail message not found by id
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/callingplanproduct:
    get:
      tags:
        - Calling Plan Product
      summary: Retrieve calling plan product list
      description: Use to retrieve a list of calling plan products
      operationId: retrieveCallingPlanProductList
      parameters:
        - name: includeArchived
          in: query
          schema:
            type: boolean
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CallingPlanProduct'
                uniqueItems: true
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    post:
      tags:
        - Calling Plan Product
      summary: Add calling plan product
      description: Use to add a calling plan product
      operationId: add_2
      parameters:
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      requestBody:
        description: Calling plan product object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CallingPlanProduct'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallingPlanProduct'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/callingplanproduct/import:
    post:
      tags:
        - Calling Plan Product
      summary: Import calling plan product
      operationId: add_1
      parameters:
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/MultipartFormDataInput'
        required: false
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallingPlanProduct'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/callingplanproduct/{cppId}:
    get:
      tags:
        - Calling Plan Product
      summary: Retrieve calling plan product
      description: Use to retrieve a calling plan product
      operationId: get_3
      parameters:
        - name: cppId
          in: path
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallingPlanProduct'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    put:
      tags:
        - Calling Plan Product
      summary: Update calling plan product
      description: Use to update calling plan product
      operationId: update_5
      parameters:
        - name: cppId
          in: path
          description: ID of calling plan product
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      requestBody:
        description: Calling plan product object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CallingPlanProduct'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallingPlanProduct'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
    patch:
      tags:
        - Calling Plan Product
      summary: Update calling plan product
      description: Use to update calling plan product
      operationId: patch_5
      parameters:
        - name: cppId
          in: path
          description: ID of calling plan product
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      requestBody:
        description: Calling plan product object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CallingPlanProduct'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallingPlanProduct'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/callingplanproduct/{cppId}/archive-callingplan:
    delete:
      tags:
        - Calling Plan Product
      summary: Archive calling plan product
      description: Use to archive calling plan product to make them unusable for future assignment
      operationId: archive
      parameters:
        - name: cppId
          in: path
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/callingplanproduct/{cppId}/callingplanproductdefinition:
    get:
      tags:
        - Calling Plan Product
      summary: Retrieve the calling plan definition
      description: Use to download the current calling plan definition
      operationId: telephoneNumberCSVReport_1
      parameters:
        - name: cppId
          in: path
          description: ID of calling plan product
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            text/csv:
              schema:
                type: string
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    post:
      tags:
        - Calling Plan Product
      summary: Add calling plan rates
      description: Use to add calling plan rates
      operationId: add_3
      parameters:
        - name: cppId
          in: path
          description: ID of calling plan product
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      requestBody:
        description: List of rates
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/MultipartFormDataInput'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FileImportValidationErrorX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/data-history:
    get:
      tags:
        - Partition
      summary: Search partition data history
      operationId: partitionDataHistorySearch
      parameters:
        - name: endDate
          in: query
          schema:
            type: string
        - name: firstResultIndex
          in: query
          schema:
            type: integer
            format: int32
            default: 0
        - name: maxResult
          in: query
          schema:
            type: integer
            format: int32
            default: 20
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: startDate
          in: query
          schema:
            type: string
        - name: tag
          in: query
          style: form
          explode: true
          schema:
            type: array
            items:
              type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartitionDataHistorySearchResponseX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/deviceinventory:
    get:
      tags:
        - Device Inventory Management
      summary: Retrieve bulk device inventory
      description: Use to retrieve a bulk file containing the partition's device inventory
      operationId: allTelephoneNumberCSVReport
      parameters:
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            text/csv:
              schema:
                type: string
        '400':
          description: Not in inventory, not available, in use
          content: {}
      deprecated: true
    post:
      tags:
        - Device Inventory Management
      summary: Upload bulk device inventory
      description: Use to upload a bulk file containing the partition's device inventory
      operationId: importDeviceInventory_1
      parameters:
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      requestBody:
        description: Service activation event list
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/MultipartFormDataInput'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FileImportValidationErrorX'
        '400':
          description: Invalid service activation event list supplied
          content: {}
        '404':
          description: Error
          content: {}
      deprecated: true
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/deviceinventory/delete:
    post:
      tags:
        - Device Inventory Management
      summary: Delete bulk device inventory
      description: Use to delete a bulk file containing the partition's device inventory
      operationId: deleteDeviceInventory
      parameters:
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      requestBody:
        description: Use Jobs API to upload file
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JobUploadKey'
        required: false
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Job'
        '202':
          description: Use Jobs API to check status
          content: {}
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/deviceinventory/export:
    post:
      tags:
        - Device Inventory Management
      summary: Retrieve bulk device inventory
      description: Use to retrieve a bulk file containing the partition's device inventory.  <span hidden>This is part of a flow documented <a href="bulkDeviceInventory.html#bulkInventoryExport">here</a>.</span>
      operationId: getDeviceInventory
      parameters:
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Job'
        '202':
          description: Use Jobs API to check status
          content: {}
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/deviceinventory/import:
    post:
      tags:
        - Device Inventory Management
      summary: Upload bulk device inventory
      description: Use to upload a bulk file containing the partition's device inventory.  <span hidden>This is part of a process documented <a href="bulkDeviceInventory.html#bulkInventoryImport">here</a>.</span>
      operationId: importDeviceInventory
      parameters:
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      requestBody:
        description: Use Jobs API to upload file
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JobUploadKey'
        required: false
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Job'
        '202':
          description: Use Jobs API to check status
          content: {}
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/deviceinventory_2:
    get:
      tags:
        - Partition
      summary: Retrieve bulk device inventory
      description: Use to retrieve a bulk file containing the partition's device inventory
      operationId: allTelephoneNumberCSVReport_2
      parameters:
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Job'
        '202':
          description: Use Jobs API to check status
          content: {}
        '400':
          description: Invalid request parameters
          content: {}
      deprecated: true
    post:
      tags:
        - Partition
      summary: Upload bulk device inventory
      description: Use to upload a bulk file containing the partition's device inventory
      operationId: importDeviceInventory_2
      parameters:
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      requestBody:
        description: Use Jobs API to upload file
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JobUploadKey'
        required: false
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Job'
        '202':
          description: Use Jobs API to check status
          content: {}
        '400':
          description: Invalid request parameters
          content: {}
      deprecated: true
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/deviceprovisioning/account/{accountId}/device/{deviceId}:
    get:
      tags:
        - Account Device Line
      summary: Retrieve device provisioning data
      description: <p>Use to retrieve a device's provisioning data by <a href="#/~schema/DeviceX">device.id</a>. Device.id actually identifies an Account Device Line, while the data returned by this call is best thought of as being one level higher, a list of related lines which will include the line searched by. (if present)</p> <p>This is the canonical way to request the SIP credentials of a device line, but it requires extra work on your part; you will have to dig down into the lines array and search it by line.lineNumber == <a href="#/~schema/DeviceX">device.lineNumber</a>.</p>
      operationId: provisioningData
      parameters:
        - name: accountId
          in: path
          description: ID of account, reference to <a href="#/~schema/Account">account.id</a>
          required: true
          schema:
            type: string
        - name: deviceId
          in: path
          description: DeviceId, reference to <a href="#/~schema/DeviceX">device.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition, reference to <a href="#/~schema/Account">account.partitionId</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceData'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/deviceprovisioning/{macAddress}:
    get:
      tags:
        - Account Device Line
      summary: Retrieve provisioning information for a specified device
      description: Provisioning Information
      operationId: getProvisioningByMacAddress
      parameters:
        - name: macAddress
          in: path
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestedDeviceX'
        '400':
          description: User not found, partition not found or lack of permissions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/inboundcarriers:
    get:
      tags:
        - Partition
      summary: Telephone Carriers
      description: the inbound carrier list available to this partition
      operationId: getInboundCarriers
      parameters:
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/InboundCarrierX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/inboundrateplanproduct:
    get:
      tags:
        - Inbound Rate Plan Product
      summary: Retrieve inbound rate plan list
      description: Retrieve a list of inbound rate plans available to a partition
      operationId: retrieveInboundRatePlanList
      parameters:
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/InboundRatePlanProductX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/inboundrateplanproduct/{ratePlanId}:
    get:
      tags:
        - Inbound Rate Plan Product
      summary: Retrieve an inbound rate plan
      description: Use to retrieve an inbound rate plan
      operationId: retrieveInboundRatePlan
      parameters:
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: ratePlanId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InboundRatePlanProductX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/is-di-supported:
    get:
      tags:
        - Partition
      summary: Checks if dynamic inventory enabled for the specified partition
      operationId: isDISupported
      parameters:
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: boolean
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/localprefixes/export/csv:
    get:
      tags:
        - Local Calling Areas
      summary: Retrieve list of local calling areas prefixes
      operationId: allTelephoneNumberCSVReport_1
      parameters:
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            text/csv:
              schema:
                $ref: '#/components/schemas/StreamingOutput'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/localprefixes/import:
    post:
      tags:
        - Local Calling Areas
      summary: Import local calling areas prefixes
      operationId: importLocalAreas
      parameters:
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      requestBody:
        description: 'List of prefix allowables - EX: 801,801|485|901'
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/MultipartFormDataInput'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FileImportValidationErrorX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/managementuser:
    get:
      tags:
        - Management User
      summary: List management users
      description: Use to retrieve a list of management users associated to a partition
      operationId: listManagementUsers
      parameters:
        - name: partitionId
          in: path
          description: partition ID of the managementUsers to list.  Refers to <a href="#/~schema/ManagementUserX">managementUser.partitionId</a> which refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ManagementUserX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Path Error, probably a bad partition ID
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    post:
      tags:
        - Management User
      summary: Create a management user
      description: Use to create a management user, which sends an invite email to the person in preparation for their first login to the admin portal. <span hidden>For more information on creating management users, see the <a href="managementUser.html#createManagementUser">create Management User</a> documentation.</span>
      operationId: createManagementUser
      parameters:
        - name: partitionId
          in: path
          description: ID of partition this managementUser will be created under.  Refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      requestBody:
        description: Management user object
        content:
          application/json:
            schema:
              example: |
                {
                  "username": "string",
                  "firstName": "string",
                  "lastName": "string",
                  "languageTag": "en-US",
                  "roles": [
                    "string"
                  ]
                }
              $ref: '#/components/schemas/ManagementUserX'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManagementUserX'
        '400':
          description: Invalid management user object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Path Error, probably a bad partition ID
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/managementuser/search:
    get:
      tags:
        - Management User
      summary: Search for management users
      description: Use to search for management users, in a fuzzy way. You provide a search string and any managementUser within the partition which contains the search string in any field, will be returned in the search results.  The check in case insensitive <br/>Alianza uses this API as a ui filter.
      operationId: searchManagementUsers
      parameters:
        - name: descending
          in: query
          description: Ordering
          schema:
            type: boolean
            default: false
        - name: firstResultIndex
          in: query
          description: First result to return
          schema:
            type: integer
            format: int32
            default: 0
        - name: maxResult
          in: query
          description: Maximum number of results
          schema:
            type: integer
            format: int32
            default: 50
        - name: partitionId
          in: path
          description: ID of partition the managementUsers belong to.  Refers to <a href="#/~schema/ManagementUserX">managementUser.partitionId</a> which refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
        - name: searchString
          in: query
          description: Search string
          required: true
          schema:
            type: string
        - name: sortColumn
          in: query
          description: Sort column
          required: true
          schema:
            type: string
            enum:
              - firstName
              - lastName
              - username
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManagementUserSearchResponseX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/managementuser/usergroups:
    get:
      tags:
        - Management User
      summary: Retrieve list of management user groups
      description: Use to retrieve a list of management users for the specified partition, and their associated groups.  The list is returned as a CSV file.  <span hidden>For more information, see <a href="managementUser.html#getManagementUserGroupCSV">here</a>.</span>
      operationId: getManagementUserGroupCSV
      parameters:
        - name: partitionId
          in: path
          description: Partition ID of the managementUsers.  Refers to <a href="#/~schema/ManagementUserX">managementUser.partitionId</a> which refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            text/csv:
              schema:
                type: string
        '400':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Path Error, probably a bad partition ID or management user ID
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    post:
      tags:
        - Management User
      summary: Update management users and roles
      description: Use to create or update management users, and update their assigned security roles.  <span hidden>See <a href="managementUser.html#bulkUpdateManagementUserRoles">here</a> for more information.</span>
      operationId: bulkUpdateManagementUserRoles
      parameters:
        - name: partitionId
          in: path
          description: ID of partition which will have it's managementUsers updated, refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      requestBody:
        description: List of management user groups
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/MultipartFormDataInput'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
        '400':
          description: Invalid management user list
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    lineNumber:
                      type: integer
                      description: The line where the error was found
                    error:
                      type: string
                      description: The error message
                    column:
                      type: string
                      description: The column where the error was found
                    input:
                      type: string
                      description: The input that caused the error
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Path Error, probably a bad partition ID
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/managementuser/validateproperties:
    get:
      tags:
        - Management User
      summary: Pre-validate the ManagementUser object
      description: Use to pre-validate the username property of the ManagementUser object, which is an email address.  It will be checked for being an email address, and for uniqueness.  Using this endpoint is optional.  Alianza uses it for UI feedback.
      operationId: validateManagementUserProperties
      parameters:
        - name: email
          in: query
          description: Email to validate.  Destined for <a href="#/~schema/ManagementUserX">managementUser.username</a> during a create or update operation.
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition.  Refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: boolean
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/managementuser/{id}:
    get:
      tags:
        - Management User
      summary: Retrieve a management user
      description: Use to retrieve a management user by ID
      operationId: getManagementUser
      parameters:
        - name: id
          in: path
          description: Management user ID.  Refer to <a href="#/~schema/ManagementUserX">managementUser.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition.  Refers to <a href="#/~schema/ManagementUserX">managementUser.partitionId</a> which refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManagementUserX'
        '400':
          description: Invalid management user ID
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Path Error, probably a bad partition ID or management user ID
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    put:
      tags:
        - Management User
      summary: Update a management user
      description: Use to update a management user. <span hidden>For more information on updating management users, see the <a href="managementUser.html#updateManagementUser">update Management User</a> documentation.</span>
      operationId: updateManagementUser
      parameters:
        - name: id
          in: path
          description: Management user ID.  refers to <a href="#/~schema/ManagementUserX">managementUser.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: Partition ID of the managementUser to update.  Refers to <a href="#/~schema/ManagementUserX">managementUser.partitionId</a> which refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      requestBody:
        description: Management user object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ManagementUserX'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManagementUserX'
        '400':
          description: Invalid management user object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Path Error, probably a bad partition ID or management user ID
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
    patch:
      tags:
        - Management User
      summary: Patch a management user
      description: Use to update a management user via patch.  Fields not supplied will be left unchanged.
      operationId: patchManagementUser
      parameters:
        - name: id
          in: path
          description: Management user ID.  refers to <a href="#/~schema/ManagementUserX">managementUser.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: Partition ID of the managementUser to update.  Refers to <a href="#/~schema/ManagementUserX">managementUser.partitionId</a> which refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      requestBody:
        description: Management user object
        content:
          application/json:
            schema:
              type: object
              description: Json containing the fragment of the <a href="#/~schema/ManagementUserX">managementUser</a> object to be updated.
              additionalProperties: true
              example:
                languageTag: fr-CA
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManagementUserX'
        '400':
          description: Invalid management user object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Path Error, probably a bad partition ID or management user ID
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
    delete:
      tags:
        - Management User
      summary: Delete management user
      description: Use to delete a management user.  The user will lose access to the admin portal and Alianza API.
      operationId: deleteManagementUser
      parameters:
        - name: id
          in: path
          description: Management user ID, refers to <a href="#/~schema/ManagementUserX">managementUser.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: Partition ID of the managementUser to delete.  Refers to <a href="#/~schema/ManagementUserX">managementUser.partitionId</a> which refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: string
        '400':
          description: Invalid management user ID
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Path Error, probably a bad partition ID or management user ID
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/managementuser/{id}/resetpassword:
    put:
      tags:
        - Management User
      summary: Reset management user password
      description: Use to reset the password of a management user.  <span hidden>For more information, see <a href="managementUser.html#resetManagementUserPassword">here</a>.</span>
      operationId: resetManagementUserPassword
      parameters:
        - name: id
          in: path
          description: Management user ID, refers to <a href="#/~schema/ManagementUserX">managementUser.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: Partition ID of the managementUser to update.  Refers to <a href="#/~schema/ManagementUserX">managementUser.partitionId</a> which refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManagementUserX'
        '400':
          description: Invalid management user ID
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Path Error, probably a bad partition ID or management user ID
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/managementuser/{id}/sso:
    get:
      tags:
        - Management User
      summary: Get a management user's sso status
      description: Use to retrieve a management user's sso status. To fully understand the meaning of this, it is key to realize that Alianza uses Okta in our authorization pipeline, and every managementUser has a corresponding Okta user according to the Okta API.  When you query this, we return the <a href="https://developer.okta.com/docs/reference/api/users/#user-status">user.status</a> of the Okta user.
      operationId: managementUserSso
      parameters:
        - name: id
          in: path
          description: Management user ID.  Refer to <a href="#/~schema/ManagementUserX">managementUser.id</a>
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: Partition ID of the managementUser.  Refers to <a href="#/~schema/ManagementUserX">managementUser.partitionId</a> which refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SsoUserX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Path Error, probably a bad partition ID or management user ID
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/ratecenter/inventoryplan:
    get:
      tags:
        - Rate Center Inventory
      summary: (DEPRECATED) Retrieve rate center inventory plan in CSV format
      operationId: getInventoryPlan
      parameters:
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            text/csv:
              schema:
                $ref: '#/components/schemas/StreamingOutput'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      deprecated: true
    post:
      tags:
        - Rate Center Inventory
      summary: (DEPRECATED) Import rate center inventory plan in CSV format
      operationId: importFile
      parameters:
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/MultipartFormDataInput'
        required: false
      responses:
        '201':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FileImportValidationErrorX'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      deprecated: true
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/ratecenter/inventoryplan_2:
    get:
      tags:
        - Rate Center Inventory
      summary: Initiates the creation of a rate center inventory plan CSV file
      description: |
        Creates an <a href="#/~schema/Job">asynchronous job</a> that generates a CSV file for download.
        <span hidden>Please refer to <a href="jobs.html#monitor-job-progress">monitoring job progress</a> and <a href="jobs.html#get-job-output">retrieving job output</a> for instructions on retrieving the report.</span>
      operationId: getInventoryPlan2
      parameters:
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Job'
        '202':
          description: Use Jobs API to check status
          content: {}
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    post:
      tags:
        - Rate Center Inventory
      summary: Upload a CSV file containing the rate center inventory plan
      operationId: importFile_2
      parameters:
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      requestBody:
        description: Use Jobs API to upload file
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JobUploadKey'
        required: false
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Job'
        '202':
          description: Use Jobs API to check status
          content: {}
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/ratecenter/reordernotification:
    get:
      tags:
        - Rate Center Inventory
      summary: Retrieve email addresses that will be sent reorder notifications
      operationId: getNotificationEmails
      parameters:
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    put:
      tags:
        - Rate Center Inventory
      summary: Update email addresses that will be sent reorder notifications
      operationId: setNotificationEmails
      parameters:
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                type: string
        required: false
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/ratecenter/tnsearch:
    get:
      tags:
        - Rate Center Inventory
      summary: Telephone number search grouped by rate centers
      description: Use to search for available telephone numbers available to activate by postal code or lat/long
      operationId: search_1
      parameters:
        - name: distanceunit
          in: query
          description: Distance Unit (miles, kilometers, radians)
          schema:
            type: string
        - name: latitude
          in: query
          description: Latitude
          schema:
            type: string
        - name: longitude
          in: query
          description: Longitude
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: searchterm
          in: query
          description: Search Term (postal code)
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TelephoneNumberViewX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/ratecenter/{tn}:
    get:
      tags:
        - Rate Center Inventory
      summary: Retrieve rate center associated with the telephone number
      operationId: getRateCenter
      parameters:
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: tn
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateCenterX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/report/account/csv:
    get:
      tags:
        - Report
      summary: Retrieve account report in CSV format
      description: Use to retrieve a CSV formatted list
      operationId: accountCSVReport
      parameters:
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            text/csv:
              schema:
                type: string
        '400':
          description: Invalid partition ID supplied
          content: {}
        '404':
          description: Not found
          content: {}
      deprecated: true
  /v2/partition/{partitionId}/report/account/csv_2:
    get:
      tags:
        - Report
      summary: Retrieve account report in CSV format
      description: Use to retrieve a CSV formatted list
      operationId: accountCSVReport2
      parameters:
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Job'
        '202':
          description: Use Jobs API to check status
          content: {}
        '400':
          description: Invalid partition ID supplied
          content: {}
        '404':
          description: Not found
          content: {}
      deprecated: true
  /v2/partition/{partitionId}/report/account/csv_3:
    get:
      tags:
        - Report
      summary: Initiates the creation of a account report CSV
      description: |
        Creates an <a href="#/~schema/Job">asynchronous job</a> that generates a CSV file for download.
        <span hidden>Please refer to <a href="jobs.html#monitor-job-progress">monitoring job progress</a> and <a href="jobs.html#get-job-output">retrieving job output</a> for instructions on retrieving the report.</span>

        **The CSV headers are:**
        * Account Billing Cycle Day
        * Account Created Date
        * Account Dialing Behavior
        * Account Extension Length
        * Account Name
        * Account Number
        * Account Status
        * Account Time Zone
        * Account Type
        * AccountId
        * CustomField
        * Number of Devices
        * Number of IVRs
        * Number of Phone Numbers
        * Number of SIP Trunks
        * Number of Concurrent SIP Trunk Calls
        * Number of Users
        * Number of Business Lines
        * Number of Business Lines Hunt Groups
        * Number of Specialty Lines
        * Number of Standard BCC Users
        * Number of Advanced BCC Users
        * Number of Professional BCC Users
        * Parent Partition
        * Partition
        * PartitionId
        * Number of VFax Lines
      operationId: accountCSVReport3
      parameters:
        - name: partitionId
          in: path
          description: ID of partition. Refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      responses:
        '202':
          description: Use Jobs API to check status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Job'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/report/accounthistory/enduserchanges:
    get:
      tags:
        - Report
      summary: Get end user account history
      operationId: endUserAccountHistory
      parameters:
        - name: endDate
          in: query
          description: End date
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: startDate
          in: query
          description: Start date
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            text/csv:
              schema:
                $ref: '#/components/schemas/StreamingOutput'
        '400':
          description: Invalid request parameters
          content: {}
      deprecated: true
  /v2/partition/{partitionId}/report/accounthistory/enduserchanges_2:
    get:
      tags:
        - Report
      summary: Initiates the creation of an end user change report CSV
      description: |
        Creates an <a href="#/~schema/Job">asynchronous job</a> that generates a CSV file for download.
        <span hidden>Please refer to <a href="jobs.html#monitor-job-progress">monitoring job progress</a> and <a href="jobs.html#get-job-output">retrieving job output</a> for instructions on retrieving the report.</span>
        **The CSV headers are:**
        * Account Number
        * Username
        * Change Time
        * Change Type
        * Old Value
        * New Value
      operationId: endUserAccountHistory2
      parameters:
        - name: endDate
          in: query
          description: End date format yyyy-mm-dd
          required: true
          schema:
            type: string
        - name: partitionId
          in: path
          description: ID of partition. Refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
        - name: startDate
          in: query
          description: Start date format yyyy-mm-dd
          required: true
          schema:
            type: string
      responses:
        '202':
          description: Use Jobs API to check status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Job'
        '400':
          description: Invalid start or end date
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Partition Id not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/report/businesslines/csv_2:
    get:
      tags:
        - Report
      summary: Initiates the creation of a business lines report CSV
      description: |
        Creates an <a href="#/~schema/Job">asynchronous job</a> that generates a CSV file for download.
        <span hidden>Please refer to <a href="jobs.html#monitor-job-progress">monitoring job progress</a> and <a href="jobs.html#get-job-output">retrieving job output</a> for instructions on retrieving the report.</span>

        **The CSV headers are:**
        * ParentPartitionName
        * ParentClientCode
        * Partition
        * PartitionClientCode
        * AccountCreatedDate
        * AccountDeletedDate
        * AccountNumber
        * AccountStatus
        * BusinessLineCreatedDate
        * BusinessLineDeletedDate
        * BusinessLineName
        * BusinessLineId
        * HuntGroupMembership
        * CallerIdNumber
        * E911CallbackNumber
        * VoicemailBoxName
      operationId: businessLinesCSVReport2
      parameters:
        - name: month
          in: query
          description: Month (Value between 1 and 12)
          required: true
          schema:
            type: integer
            format: int32
            minimum: 1
            maximum: 12
        - name: partitionId
          in: path
          description: ID of partition. Refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
        - name: year
          in: query
          description: 4-digit year
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '202':
          description: Use Jobs API to check status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Job'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '412':
          description: Invalid month or year
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/report/contact_center_retail/csv_1:
    get:
      tags:
        - Report
      summary: Retrieve Contact Center Retail report in CSV format
      description: Use to retrieve a CSV formatted Contact Center Retail report
      operationId: contactCenterRetailReport
      parameters:
        - name: month
          in: query
          schema:
            type: integer
            format: int32
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: year
          in: query
          schema:
            type: integer
            format: int32
      responses:
        '202':
          description: Use Jobs API to check status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Job'
        '400':
          description: Invalid partition ID supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/report/contact_center_usage/csv_1:
    get:
      tags:
        - Report
      summary: Retrieve Contact Center Usage report in CSV format
      description: Use to retrieve a CSV formatted Contact Center Usage report
      operationId: contactCenterUsageReport
      parameters:
        - name: month
          in: query
          schema:
            type: integer
            format: int32
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: year
          in: query
          schema:
            type: integer
            format: int32
      responses:
        '202':
          description: Use Jobs API to check status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Job'
        '400':
          description: Invalid partition ID supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/report/device:
    get:
      tags:
        - Report
      summary: Retrieve user summary report
      description: Use to retrieve a list.
      operationId: deviceSummaryReport
      parameters:
        - name: partitionId
          in: path
          description: ID of partition. Refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportSummaryX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/report/device/csv:
    get:
      tags:
        - Report
      summary: Retrieve device report in CSV format
      description: Use to retrieve a CSV formatted list
      operationId: deviceCSVReport
      parameters:
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            text/csv:
              schema:
                type: string
        '400':
          description: Invalid partition ID supplied
          content: {}
        '404':
          description: Not found
          content: {}
      deprecated: true
  /v2/partition/{partitionId}/report/device/csv_2:
    get:
      tags:
        - Report
      summary: Retrieve device report in CSV format
      description: Use to retrieve a CSV formatted list
      operationId: deviceCSVReport2
      parameters:
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Job'
        '202':
          description: Use Jobs API to check status
          content: {}
        '400':
          description: Invalid partition ID supplied
          content: {}
        '404':
          description: Not found
          content: {}
      deprecated: true
  /v2/partition/{partitionId}/report/device/csv_3:
    get:
      tags:
        - Report
      summary: Initiates the creation of a device report CSV
      description: |
        Creates an <a href="#/~schema/Job">asynchronous job</a> that generates a CSV file for download.
        <span hidden>Please refer to <a href="jobs.html#monitor-job-progress">monitoring job progress</a> and <a href="jobs.html#get-job-output">retrieving job output</a> for instructions on retrieving the report.</span>

        **The CSV headers are:**
        * AccountNumber
        * DeviceName
        * DeviceType
        * E911CallBack
        * IpAddress
        * LineNumber
        * MacAddress
        * ParentPartition
        * Partition
        * State
        * Username
        * DeviceCategory
        * ProvisionerType
        * SideCarCount
        * SideCarTypeId
        * PartitionId
        * AccountId
        * DeviceId
        * UserId
      operationId: deviceCSVReport3
      parameters:
        - name: partitionId
          in: path
          description: ID of partition. Refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      responses:
        '202':
          description: Use Jobs API to check status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Job'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/report/deviceregistration/csv_2:
    get:
      tags:
        - Report
      summary: Initiates the creation of a device registration report CSV
      description: |
        Creates an <a href="#/~schema/Job">asynchronous job</a> that generates a CSV file for download.
        <span hidden>Please refer to <a href="jobs.html#monitor-job-progress">monitoring job progress</a> and <a href="jobs.html#get-job-output">retrieving job output</a> for instructions on retrieving the report.</span>

        **The CSV headers are:**
        * PartitionId
        * PartitionName
        * AccountId
        * AccountNumber
        * AccountName
        * RegistrationId
        * RegistrationType
        * DeviceType
        * DeviceName
        * MacAddress
        * LineNumber
        * UserId
        * Username
        * IpAddress
        * ConfigDownloadDate
        * RegistrationDate
        * ExpirationDate
        * Status
      operationId: deviceRegistrationReport
      parameters:
        - name: partitionId
          in: path
          description: ID of partition. Refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      responses:
        '202':
          description: Use Jobs API to check status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Job'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/report/emergencynotificationcompliance/csv_2:
    get:
      tags:
        - Report
      summary: Initiates the creation of an emergency notification compliance report CSV
      description: |
        Creates an <a href="#/~schema/Job">asynchronous job</a> that generates a CSV file for download.
        <span hidden>Please refer to <a href="jobs.html#monitor-job-progress">monitoring job progress</a> and <a href="jobs.html#get-job-output">retrieving job output</a> for instructions on retrieving the report.</span>

        **The CSV headers are:**
        * partition
        * parent_partition
        * account_number
        * account_status
        * account_name
        * account_created_date
        * number_of_devices
        * number_of_users
        * number_of_business_lines
        * number_of_sip_trunk_sessions
        * compliance_type
        * email_recipients
        * sms_recipients
        * notification_config_modified_date
      operationId: emergencyNotificationComplianceReport
      parameters:
        - name: partitionId
          in: path
          description: ID of partition. Refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      responses:
        '202':
          description: Use Jobs API to check status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Job'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/report/line:
    get:
      tags:
        - Report
      summary: Line summary mock
      operationId: mockLineSummary
      parameters:
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportSummaryX'
        '400':
          description: Invalid request parameters
          content: {}
      deprecated: true
  /v2/partition/{partitionId}/report/msteams/csv_1:
    get:
      tags:
        - Report
      summary: Retrieve MS Teams report in CSV format
      description: Use to retrieve a CSV formatted MS Teams report
      operationId: msTeamsReport
      parameters:
        - name: month
          in: query
          schema:
            type: integer
            format: int32
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: year
          in: query
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Job'
        '202':
          description: Use Jobs API to check status
          content: {}
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/report/portout/csv:
    get:
      tags:
        - Report
      summary: Retrieve telephone number port out in CSV format
      description: Use to retrieve a CSV formatted telephone number port out report
      operationId: telephoneNumberPortOutCSVReport
      parameters:
        - name: month
          in: query
          description: Month
          required: true
          schema:
            type: integer
            format: int32
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: year
          in: query
          description: Year
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Successful operation
          content:
            text/csv:
              schema:
                type: string
        '400':
          description: Invalid partition ID supplied
          content: {}
        '404':
          description: Not found
          content: {}
      deprecated: true
  /v2/partition/{partitionId}/report/portout/csv_2:
    get:
      tags:
        - Report
      summary: Initiates the creation of a telephone number port out report CSV
      description: |
        Creates an <a href="#/~schema/Job">asynchronous job</a> that generates a CSV file for download.
        <span hidden>Please refer to <a href="jobs.html#monitor-job-progress">monitoring job progress</a> and <a href="jobs.html#get-job-output">retrieving job output</a> for instructions on retrieving the report.</span>

        **The CSV headers:**
        * AccountNumber
        * AccountStatus
        * ActivatedDate
        * AddDate
        * Carrier
        * CarrierStatus
        * CooldownExpireDate
        * CooldownRecoveredDate
        * CsrCity
        * CsrPostalCode
        * CustomerType
        * DeletedDate
        * FunctionType
        * PartitionName
        * Port
        * PortCancelType
        * PortCompletionDate
        * PortOutDate
        * ServicePackageType
        * TelephoneNumber
        * TemporaryNumber
        * TollFree
      operationId: telephoneNumberPortOutCSVReport2
      parameters:
        - name: month
          in: query
          description: Month (Value between 1 and 12)
          required: true
          schema:
            type: integer
            format: int32
            minimum: 1
            maximum: 12
        - name: partitionId
          in: path
          description: ID of partition. Refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
        - name: year
          in: query
          description: 4-digit year
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '202':
          description: Use Jobs API to check status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Job'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '412':
          description: Invalid month or year
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/report/sip:
    get:
      tags:
        - Report
      summary: Retrieve SIP summary report.
      description: Use to retrieve the SIP summary report.
      operationId: sipSummaryReport
      parameters:
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportSummaryX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/report/sip/csv:
    get:
      tags:
        - Report
      summary: Retrieve SIP summary report in CSV format
      description: Use to retrieve a CSV formatted SIP summary report
      operationId: sipCSVReport
      parameters:
        - name: month
          in: query
          schema:
            type: integer
            format: int32
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: year
          in: query
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Successful operation
          content:
            text/csv:
              schema:
                type: string
        '400':
          description: Invalid partition ID supplied
          content: {}
        '404':
          description: Not found
          content: {}
      deprecated: true
  /v2/partition/{partitionId}/report/sip/csv_2:
    get:
      tags:
        - Report
      summary: Initiates the creation of a SIP report CSV
      description: |
        Creates an <a href="#/~schema/Job">asynchronous job</a> that generates a CSV file for download.
        <span hidden>Please refer to <a href="jobs.html#monitor-job-progress">monitoring job progress</a> and <a href="jobs.html#get-job-output">retrieving job output</a> for instructions on retrieving the report.</span>

        **The CSV headers are:**
        * AccountNumber
        * AccountStatus
        * AddDate
        * ConcurrentCall
        * DeletedDate
        * E911CallbackNumber
        * ParentPartitionName
        * PartitionName
        * SipTrunkName
        * State
      operationId: sipCSVReport2
      parameters:
        - name: month
          in: query
          description: Month (Value between 1 and 12)
          required: true
          schema:
            type: integer
            format: int32
            minimum: 1
            maximum: 12
        - name: partitionId
          in: path
          description: ID of partition. Refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
        - name: year
          in: query
          description: 4-digit year
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '202':
          description: Use Jobs API to check status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Job'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '412':
          description: Invalid month or year
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/report/specialtylines/csv_2:
    get:
      tags:
        - Report
      summary: Initiates the creation of a speciality lines report CSV
      description: |
        Creates an <a href="#/~schema/Job">asynchronous job</a> that generates a CSV file for download.
        <span hidden>Please refer to <a href="jobs.html#monitor-job-progress">monitoring job progress</a> and <a href="jobs.html#get-job-output">retrieving job output</a> for instructions on retrieving the report.</span>

        **The CSV headers are:**
        * PartitionId
        * PartitionName
        * AccountId
        * AccountNumber
        * AccountStatus
        * SpecialtyLineId
        * SpecialtyLineName
        * SpecialtyLineCreatedDate
        * SpecialtyLineDeletedDate
        * CallerIdNumber
        * CallerIdName
        * E911CallbackNumber
        * CallingPlanIds
        * DeviceMac
        * DeviceType
        * DevicePort
      operationId: specialtyLinesReport
      parameters:
        - name: month
          in: query
          description: Month (Value between 1 and 12)
          required: true
          schema:
            type: integer
            format: int32
            minimum: 1
            maximum: 12
        - name: partitionId
          in: path
          description: ID of partition. Refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
        - name: year
          in: query
          description: 4-digit year
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '202':
          description: Use Jobs API to check status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Job'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '412':
          description: Invalid month or year
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/report/tn:
    get:
      tags:
        - Report
      summary: Retrieve telephone number summary report
      description: Use to retrieve the telephone number summary report.
      operationId: telephoneNumberSummaryReport
      parameters:
        - name: partitionId
          in: path
          description: ID of partition. Refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportSummaryX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/report/tn/csv:
    get:
      tags:
        - Report
      summary: Retrieve telephone number summary report in CSV format
      description: Use to retrieve a CSV formatted telephone number summary report
      operationId: telephoneNumberCSVReport
      parameters:
        - name: month
          in: query
          description: Month
          required: true
          schema:
            type: integer
            format: int32
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: year
          in: query
          description: Year
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Successful operation
          content:
            text/csv:
              schema:
                type: string
        '400':
          description: Invalid partition ID supplied
          content: {}
        '404':
          description: Not found
          content: {}
      deprecated: true
  /v2/partition/{partitionId}/report/tn/csv_2:
    get:
      tags:
        - Report
      summary: Initiates the creation of a telephone number report CSV
      description: |
        Creates an <a href="#/~schema/Job">asynchronous job</a> that generates a CSV file for download.
        <span hidden>Please refer to <a href="jobs.html#monitor-job-progress">monitoring job progress</a> and <a href="jobs.html#get-job-output">retrieving job output</a> for instructions on retrieving the report.</span>

        **The CSV headers are:**
        * TelephoneNumber
        * AccountNumber
        * AccountStatus
        * ActivatedDate
        * AddDate
        * Carrier
        * CarrierStatus
        * CooldownExpireDate
        * CooldownRecoveredDate
        * CustomerType
        * DeletedDate
        * DirectoryListingType
        * FunctionType
        * ParentPartitionName
        * PartitionName
        * Port
        * PortCancelType
        * PortCompletionDate
        * PortOutDate
        * RateCenterName
        * RateCenterState
        * ServicePackageType
        * TemporaryNumber
        * TollFree
        * 911first_name
        * 911last_name
        * 911business_name
        * 911street_number
        * 911street_number_suffix
        * 911street_name
        * 911street_suffix
        * 911state
        * 911country
        * 911postal_code
        * 911pre_directional
        * 911post_directional
        * 911city
        * 911latitude
        * 911longitude
        * 911first_name_secondary
        * 911secondary_location_description
        * 911middle_initial
        * 911unit
        * CSRfirst_name
        * CSRlast_name
        * CSRbusiness_name
        * CSRstreet_number
        * CSRstreet_number_suffix
        * CSRstreet_name
        * CSRstreet_suffix
        * CSRstate
        * CSRcountry
        * CSRpostal_code
        * CSRpre_directional
        * CSRpost_directional
        * CSRcity
        * CSRlatitude
        * CSRlongitude
        * CSRfirst_name_secondary
        * CSRsecondary_location_description
        * CSRmiddle_initial
        * CSRunit
      operationId: telephoneNumberCSVReport2
      parameters:
        - name: month
          in: query
          description: Month (Value between 1 and 12)
          required: true
          schema:
            type: integer
            format: int32
            minimum: 1
            maximum: 12
        - name: partitionId
          in: path
          description: ID of partition. Refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
        - name: year
          in: query
          description: 4-digit year
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '202':
          description: Use Jobs API to check status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Job'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '412':
          description: Invalid month or year
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/report/user:
    get:
      tags:
        - Report
      summary: Retrieve user summary report.
      description: Use to retrieve a list.
      operationId: userSummaryReport
      parameters:
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportSummaryX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/report/user/csv:
    get:
      tags:
        - Report
      summary: Retrieve user summary report in CSV format
      description: Use to retrieve a CSV formatted list
      operationId: userCSVReport
      parameters:
        - name: month
          in: query
          description: Month
          required: true
          schema:
            type: integer
            format: int32
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: year
          in: query
          description: Year
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Successful operation
          content:
            text/csv:
              schema:
                type: string
        '400':
          description: Invalid partition ID supplied
          content: {}
        '404':
          description: Not found
          content: {}
      deprecated: true
  /v2/partition/{partitionId}/report/user/csv_2:
    get:
      tags:
        - Report
      summary: Retrieve user summary report in CSV format
      description: Use to retrieve a CSV formatted list
      operationId: userCSVReport2
      parameters:
        - name: month
          in: query
          description: Month
          required: true
          schema:
            type: integer
            format: int32
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: year
          in: query
          description: Year
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Job'
        '202':
          description: Use Jobs API to check status
          content: {}
        '400':
          description: Invalid partition ID supplied
          content: {}
        '404':
          description: Not found
          content: {}
      deprecated: true
  /v2/partition/{partitionId}/report/user/csv_3:
    get:
      tags:
        - Report
      summary: Initiates the creation of a user report CSV
      description: |
        Creates an <a href="#/~schema/Job">asynchronous job</a> that generates a CSV file for download.
        <span hidden>Please refer to <a href="jobs.html#monitor-job-progress">monitoring job progress</a> and <a href="jobs.html#get-job-output">retrieving job output</a> for instructions on retrieving the report.</span>

        **The CSV headers are:**
        * AccountCreatedDate
        * AccountDeletedDate
        * AccountNumber
        * AccountStatus
        * AccountType
        * CallerIdNumber
        * CallingPlanNames
        * Extension
        * ParentPartitionName
        * Partition
        * UserCreatedDate
        * UserDeletedDate
        * UserFirstName
        * UserLastName
        * UserUsername
        * VoicemailBoxName
        * UserProductPlan
      operationId: userCSVReport3
      parameters:
        - name: month
          in: query
          description: Month (Value between 1 and 12)
          required: true
          schema:
            type: integer
            format: int32
            minimum: 1
            maximum: 12
        - name: partitionId
          in: path
          description: ID of partition. Refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
        - name: year
          in: query
          description: 4-digit year
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '202':
          description: Use Jobs API to check status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Job'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '412':
          description: Invalid month or year
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/report/user-products/csv_2:
    get:
      tags:
        - Report
      summary: Retrieve Users and the Product selected report in CSV format
      description: Use to retrieve a CSV formatted User Products report
      operationId: userProductsReport
      parameters:
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '202':
          description: Use Jobs API to check status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Job'
        '400':
          description: Invalid partition ID supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/report/vfax:
    get:
      tags:
        - Report
      summary: Retrieve Virtual Fax summary report.
      description: Use to retrieve the Virtual Fax summary report.
      operationId: vFaxSummaryReport
      parameters:
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportSummaryX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/report/vfax/csv:
    get:
      tags:
        - Report
      summary: Retrieve Virtual Fax report in CSV format
      description: Use to retrieve a CSV formatted Virtual Fax report
      operationId: vFaxCSVReport
      parameters:
        - name: month
          in: query
          schema:
            type: integer
            format: int32
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
        - name: year
          in: query
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Successful operation
          content:
            text/csv:
              schema:
                type: string
        '400':
          description: Invalid partition ID supplied
          content: {}
        '404':
          description: Not found
          content: {}
      deprecated: true
  /v2/partition/{partitionId}/report/vfax/csv_2:
    get:
      tags:
        - Report
      summary: Initiates the creation of a vfax report CSV
      description: |
        Creates an <a href="#/~schema/Job">asynchronous job</a> that generates a CSV file for download.
        <span hidden>Please refer to <a href="jobs.html#monitor-job-progress">monitoring job progress</a> and <a href="jobs.html#get-job-output">retrieving job output</a> for instructions on retrieving the report.</span>

        **The CSV headers are:**
        * AccountCreatedDate
        * AccountDeletedDate
        * AccountNumber
        * AccountStatus
        * ParentPartitionName
        * PartitionName
        * VFaxCreatedDate
        * VFaxDeletedDate
        * VFaxName
      operationId: vFaxCSVReport2
      parameters:
        - name: month
          in: query
          description: Month (Value between 1 and 12)
          required: true
          schema:
            type: integer
            format: int32
            minimum: 1
            maximum: 12
        - name: partitionId
          in: path
          description: ID of partition. Refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
        - name: year
          in: query
          description: 4-digit year
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '202':
          description: Use Jobs API to check status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Job'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '412':
          description: Invalid month or year
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/security:
    get:
      tags:
        - Security Groups
      summary: Retrieve Security Roles
      description: Use to get a list of security roles under the specified partition
      operationId: listSecurityRoles
      parameters:
        - name: partitionId
          in: path
          description: ID of partition.  Refers to <a href="#/~schema/SecurityRoleX">SecurityRoleX.partitionId</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SecurityRoleX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    post:
      tags:
        - Security Groups
      summary: Create Security Role
      description: Use to create a security role.  <span hidden>For more information see <a href="group.html#createSecurityRole">here</a></span>
      operationId: createSecurityRole
      parameters:
        - name: partitionId
          in: path
          description: ID of partition.  Refers to <a href="#/~schema/SecurityRoleX">SecurityRoleX.partitionId</a>
          required: true
          schema:
            type: string
      requestBody:
        description: The Security Role you want added
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SecurityRoleX'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SecurityRoleX'
        '400':
          description: Invalid Security Role
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Path error, probably bad partitionId
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/security/{securityId}:
    get:
      tags:
        - Security Groups
      summary: Retrieve Security Role
      description: Use to get a specific security role
      operationId: retrieveSecurityRole
      parameters:
        - name: partitionId
          in: path
          description: ID of partition.  Refers to <a href="#/~schema/SecurityRoleX">SecurityRoleX.partitionId</a>
          required: true
          schema:
            type: string
        - name: securityId
          in: path
          description: ID of security role.  Refers to <a href="#/~schema/SecurityRoleX">SecurityRoleX.id</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SecurityRoleX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    put:
      tags:
        - Security Groups
      summary: Update Security Role
      description: Use to update a specific security role.  <span hidden>For more information see <a href="group.html#updateSecurityRole">here</a></span>
      operationId: updateSecurityRole
      parameters:
        - name: partitionId
          in: path
          description: ID of partition.  Refers to <a href="#/~schema/SecurityRoleX">SecurityRoleX.partitionId</a>
          required: true
          schema:
            type: string
        - name: securityId
          in: path
          description: Id of the Security Role. Refers to <a href="#/~schema/SecurityRoleX">SecurityRoleX.id</a>
          required: true
          schema:
            type: string
      requestBody:
        description: The Security Role which should replace the existing Security Role
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SecurityRoleX'
        required: false
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SecurityRoleX'
        '400':
          description: Invalid Security Role
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Path error, probably bad partitionId or securityId
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
    delete:
      tags:
        - Security Groups
      summary: Delete Security Role
      description: Use to delete a security role.  <span hidden>For more information see <a href="group.html#deleteSecurityRole">here</a></span>
      operationId: deleteSecurityRole
      parameters:
        - name: partitionId
          in: path
          description: ID of partition.  Refers to <a href="#/~schema/SecurityRoleX">SecurityRoleX.partitionId</a>
          required: true
          schema:
            type: string
        - name: securityId
          in: path
          description: Id of the Security Role. Refers to <a href="#/~schema/SecurityRoleX">SecurityRoleX.id</a>
          required: true
          schema:
            type: string
      responses:
        '204':
          description: Successful operation
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    patch:
      tags:
        - Security Groups
      summary: Update Security Role
      description: Use to update a specific security role via patch.  <span hidden>For more information see <a href="group.html#patchSecurityRole">here</a></span>
      operationId: patchSecurityRole
      parameters:
        - name: partitionId
          in: path
          description: ID of partition.  Refers to <a href="#/~schema/SecurityRoleX">SecurityRoleX.partitionId</a>
          required: true
          schema:
            type: string
        - name: securityId
          in: path
          description: Id of the Security Role.  Refers to <a href="#/~schema/SecurityRoleX">SecurityRoleX.id</a>
          required: true
          schema:
            type: string
      requestBody:
        description: A json fragment of the <a href="#/~schema/SecurityRoleX">SecurityRoleX</a> object.
        content:
          application/json:
            schema:
              type: object
              description: Json containing the fragment of the security role object to be updated.
              additionalProperties: true
              example:
                name: New Role Name
                permissions:
                  - type: newPermissionType
                    accessType: newAccessType
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SecurityRoleX'
        '400':
          description: Invalid Security Role
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Path error, probably bad partitionId or securityId
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/setting:
    get:
      tags:
        - Partition
      summary: Get all settings for this partition
      description: Use to retrieve a map containing partition specific settings
      operationId: getAllSettings
      parameters:
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  $ref: '#/components/schemas/PartitionSettingX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/telephonenumber:
    get:
      tags:
        - Telephone Number
      summary: Retrieve telephone numbers in the partition inventory
      description: Use to retrieve information for up to 500 telephone numbers, which are in the partition's telephone number inventory.  This does NOT include inventory from subpartitions.<br/><br/> If you want to get more than 500 telephone numbers, you can use the <a href="#/~operation/Telephone%20Number/asyncExportTnInventory">asyncExportTnInventory</a> endpoint.
      operationId: listTnInventory
      parameters:
        - name: partitionId
          in: path
          description: ID of partition, refers to <a href="#/~schema/PartitionX">Partition.id</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/TelephoneNumberViewX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    post:
      tags:
        - Telephone Number
      summary: Create telephone number in inventory
      description: Use to add a telephoneNumber to the specified partition's inventory.
      operationId: createTelephoneNumber
      parameters:
        - name: partitionId
          in: path
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      requestBody:
        description: Telephone number object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TelephoneNumberViewX'
        required: true
      responses:
        '201':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TelephoneNumberViewX'
        '400':
          description: Invalid telephone number object supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Partition Id not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/telephonenumber/bulkimport:
    post:
      tags:
        - Telephone Number
      summary: Bulk telephone number import
      description: Use to import telephone numbers in bulk
      operationId: bulkInsert
      parameters:
        - name: partitionId
          in: path
          description: ID of partition
          required: true
          schema:
            type: string
      requestBody:
        description: Telephone number list
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/MultipartFormDataInput'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
        '400':
          description: Invalid telephone number list supplied
          content: {}
        '404':
          description: Error
          content: {}
      deprecated: true
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/telephonenumber/bulkimport_2:
    post:
      tags:
        - Telephone Number
      summary: Bulk telephone number import
      description: Use to import telephone numbers in bulk. <span hidden>Refer <a href="tnInventory.html#bulk-tn-import">here</a> for more information</span>
      operationId: bulkTelephoneNumberImport
      parameters:
        - name: partitionId
          in: path
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
      requestBody:
        description: Use Jobs API to upload file.  <span hidden>Refer to <a href="jobs.html#uploading-files-for-jobs">Providing Files to Jobs</a> for more information.</span>
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JobUploadKey'
        required: false
      responses:
        '202':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Job'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
      x-codegen-request-body-name: body
  /v2/partition/{partitionId}/telephonenumber/export:
    get:
      tags:
        - Telephone Number
      summary: Export the partition's telephone number inventory as csv, synchronously
      description: Use to retrieve a report on the partition's telephone number inventory.  Inventory from subpartitions is also included.<br/><br/> Note that telephone numbers currently assigned are NOT part of the inventory and are not listed in this report.<br/><br/> This version is synchronous, and if the inventory is large, then this single call can take a long time.  Please use <a href="#/~operation/Telephone%20Number/asyncExportTnInventory">asyncExportTnInventory</a> instead, if possible.<span hidden><br/><br/> Please see <a href="tnInventory.html">here</a> for more information about how the CSV is formatted.</span>
      operationId: exportTnInventory
      parameters:
        - name: partitionId
          in: path
          description: ID of partition, refers to <a href="#/~schema/PartitionX">Partition.id</a>
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            text/csv:
              schema:
                type: string
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/telephonenumber/export_2:
    get:
      tags:
        - Telephone Number
      summary: Export the partition's telephone number inventory as csv, asynchronously
      description: Use to retrieve a report on the partition's telephone number inventory.  Inventory from subpartitions is also included.<br/><br/> Note that telephone numbers currently assigned are NOT part of the inventory and are not listed in this report.<br/><br/> This version is asynchronous, and will return a job object.  <span hidden><a href="jobs.html">Here</a> is the explanation about how to use the API to monitor the job and get the output.<br/><br/> Please see <a href="tnInventory.html">here</a> for more information about how the CSV is formatted.</span>
      operationId: asyncExportTnInventory
      parameters:
        - name: partitionId
          in: path
          description: ID of partition, refers to <a href="#/~schema/PartitionX">Partition.id</a>
          required: true
          schema:
            type: string
      responses:
        '202':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Job'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/telephonenumber/exportstatussearch:
    get:
      tags:
        - Telephone Number
      summary: Export as CSV telephone number status search
      description: Use to export the searched status of a telephone number as a CSV file.  <span hidden>For details on the report format, see <a href="tnStatus.html">here.</a></span>
      operationId: exportTNStatusSearch
      parameters:
        - name: accountId
          in: query
          description: Include only serviceActivationEvent where serviceActivationEvent.accountId matches the accountId supplied.
          schema:
            type: string
        - name: dateType
          in: query
          description: Type of date
          schema:
            type: string
            enum:
              - FOCDate
              - UpdatedDate
              - CreatedDate
        - name: endDate
          in: query
          description: End date for the time interval to search in. Leave empty to not filter by dates.
          schema:
            type: string
        - name: eventType
          in: query
          description: Service activation event type
          style: form
          explode: true
          schema:
            $ref: '#/components/schemas/TelephoneNumberSearchEventType'
        - name: includeSubTns
          in: query
          description: Include Sub TNs
          schema:
            type: boolean
            default: true
        - name: partitionId
          in: path
          description: ID of partition, reference to <a href="#/~schema/Account">account.partitionId</a>
          required: true
          schema:
            type: string
        - name: startDate
          in: query
          description: Start date for the time interval to search in. Leave empty to not filter by dates.
          schema:
            type: string
        - name: statusType
          in: query
          description: Include serviceActivationEvent where serviceActivationEvent.activationStatusType match one of the values in the list
          style: form
          explode: true
          schema:
            $ref: '#/components/schemas/TelephoneNumberSearchStatusType'
        - name: telephoneNumber
          in: query
          description: Telephone number
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            text/csv:
              schema:
                type: string
        '400':
          description: Invalid parameters supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Entity not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/telephonenumber/exportstatussearch_2:
    get:
      tags:
        - Telephone Number
      summary: Export as CSV telephone number status search
      description: Use to export the searched serviceActivationEvents as a CSV file.   <span hidden>For details on the report format, see <a href="tnStatus.html">here.</a></span>
      operationId: exportTNStatusSearch2
      parameters:
        - name: accountId
          in: query
          description: Include only serviceActivationEvent were serviceActivationEvent.accountId matches this accountId
          schema:
            type: string
        - name: dateType
          in: query
          description: Determines which field to check for the date range
          schema:
            type: string
            enum:
              - FOCDate
              - UpdatedDate
              - CreatedDate
        - name: endDate
          in: query
          description: End date, ISO 8601 format
          schema:
            type: string
        - name: eventType
          in: query
          description: Include serviceActivationEvent where serviceActivationEvent.serviceType match one of the values in the list
          style: form
          explode: true
          schema:
            type: array
            items:
              type: string
        - name: includeSubTns
          in: query
          description: If this is false, then there will be exactly one row in the report per serviceActivationEvent which matches the criteria.  If this is true, then serviceActivationEvents with multiple subTelephoneNumbers will have multiple rows in the report, one per subTelephoneNumber.
          schema:
            type: boolean
            default: true
        - name: partitionId
          in: path
          description: ID of partition. Refers to <a href="#/~schema/ServiceActivationEventX">serviceActivationEvent.partitionId</a>, which refers to <a href="#/~schema/PartitionX">partition.id</a>
          required: true
          schema:
            type: string
        - name: startDate
          in: query
          description: Start date, ISO 8601 format
          schema:
            type: string
        - name: statusType
          in: query
          description: Status type
          style: form
          explode: true
          schema:
            type: array
            items:
              type: string
        - name: telephoneNumber
          in: query
          description: Include only serviceActivationEvent where serviceActivationEvent.mainTelephoneNumber or serviceActivationEvent.subTelephoneNumbers matches this telephoneNumber
          schema:
            type: string
      responses:
        '202':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Job'
        '400':
          description: Invalid parameters supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Entity not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/telephonenumber/search:
    get:
      tags:
        - Telephone Number
      summary: Telephone number search
      description: Use to search for a telephone number. <span hidden>Refer to <a href="tnInventory.html#search-tn">Search Partition for Telephone Number</a> for more information.</span>
      operationId: tnSearch
      parameters:
        - name: carrierId
          in: query
          description: <a href="#/~schema/InboundCarrierX">inboundCarrierX.id</a>
          schema:
            type: string
        - name: functiontype
          in: query
          description: Function Type, default ELS
          schema:
            type: string
            default: ELS
            enum:
              - ELS
              - TollFree
              - TemporaryNumber
              - SPTN
        - name: lat
          in: query
          description: Latitude, requires type=LAT_LONG
          schema:
            type: number
            format: double
        - name: long
          in: query
          description: Latitude, requires type=LAT_LONG
          schema:
            type: number
            format: double
        - name: maxResults
          in: query
          description: Number of results to return
          schema:
            type: integer
            format: int32
        - name: partitionId
          in: path
          description: ID of partition, reference to <a href="#/~schema/Account">account.partitionId</a>
          required: true
          schema:
            type: string
        - name: q
          in: query
          description: 'Query Field: q=18015551212, q=84062, q=ALBANY, q=ALBANY.NY, LAT_LONG does not use this field'
          schema:
            type: string
        - name: type
          in: query
          description: Search Type, default POSTALCODE_OR_TN
          schema:
            type: string
            default: POSTALCODE_OR_TN
            enum:
              - POSTALCODE_OR_TN
              - TN
              - POSTALCODE
              - LAT_LONG
              - RATECENTER
              - RATECENTER_CARRIER
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/TelephoneNumberViewX'
        '400':
          description: Invalid search type supplied or invalid search term
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: PartitionId not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '422':
          description: Invalid search term supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/telephonenumber/statussearch:
    get:
      tags:
        - Telephone Number
      summary: Telephone number status search
      description: Use to search for the status of a telephone number
      operationId: statusSearch
      parameters:
        - name: accountId
          in: query
          description: ID of account, reference to <a href="#/~schema/Account">account.id</a>
          schema:
            type: string
        - name: dateType
          in: query
          description: Type of date
          schema:
            type: string
            enum:
              - FOCDate
              - UpdatedDate
              - CreatedDate
        - name: endDate
          in: query
          description: End date for the time interval to search in. Leave empty to not filter by dates.
          schema:
            type: string
        - name: eventType
          in: query
          description: Service activation event type
          style: form
          explode: true
          schema:
            $ref: '#/components/schemas/TelephoneNumberSearchEventType'
        - name: firstResultIndex
          in: query
          description: First result index
          schema:
            type: integer
            format: int32
            default: 0
        - name: maxResult
          in: query
          description: Max results
          schema:
            type: integer
            format: int32
            default: 50
        - name: partitionId
          in: path
          description: ID of partition, reference to <a href="#/~schema/Account">account.partitionId</a>
          required: true
          schema:
            type: string
        - name: startDate
          in: query
          description: Start date for the time interval to search in. Leave empty to not filter by dates.
          schema:
            type: string
        - name: statusType
          in: query
          description: Status type
          style: form
          explode: true
          schema:
            $ref: '#/components/schemas/TelephoneNumberSearchStatusType'
        - name: telephoneNumber
          in: query
          description: Telephone number
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceActivationEventResponseX'
        '400':
          description: Invalid parameters supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Entity not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/telephonenumber/{tn}:
    get:
      tags:
        - Telephone Number
      summary: Retrieve telephone number
      description: Use to retrieve information about a telephone number. <span hidden>Refer to <a href="tnInventory.html#retrieve-tn-info">Retrieving Telephone Number Info</a> for more information.</span>
      operationId: retrieveTelephoneNumber
      parameters:
        - name: partitionId
          in: path
          description: ID of partition, reference to <a href="#/~schema/Account">account.partitionId</a>
          required: true
          schema:
            type: string
        - name: tn
          in: path
          description: Telephone number
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TelephoneNumberViewX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    delete:
      tags:
        - Telephone Number
      summary: Delete telephone number from the specified partition's inventory
      description: Use to delete a telephone number from inventory.  <span hidden>Refer to <a href="tnInventory.html#delete-from-inventory">Deleting a Telephone Number from Inventory</a> for more information.</span>
      operationId: deleteTnFromInventory
      parameters:
        - name: partitionId
          in: path
          description: ID of partition, reference to <a href="#/~schema/Account">account.partitionId</a>
          required: true
          schema:
            type: string
        - name: tn
          in: path
          description: 11-digit Telephone number
          required: true
          schema:
            type: string
      responses:
        '204':
          description: Telephone number deleted successfully
        '400':
          description: Telephone number exists on an account
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: PartitionId or Telephone Number not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/telephonenumber/{tn}/availability:
    get:
      tags:
        - Telephone Number
      summary: Retrieve telephone number availability
      description: Use to retrieve information about telephone number availability.<br/><br/> This does NOT check whether a telephone number is currently in use somewhere in the system, with the aim of determining it can be assigned; rather, it checks that the partition is configured to work with the rate center to which the telephone number belongs.  If this reports no availability, but you are sure that the partition should be able to support the telephone number, please check the partition rate center setup.<br/><br/> This is most likely to be used in pre-validation of a telephone number port request; however, the porting flow documentation recommends use of another endpoint which accomplishes the same thing. While this endpoint is not officially deprecated, we do recommend you reference and use the other endpoint <a href="#/~operation/Rate%20Center%20Inventory/getRateCenter">here</a>.
      operationId: retrieveTelephoneNumberAvailability
      parameters:
        - name: partitionId
          in: path
          description: ID of partition, refers to <a href="#/~schema/PartitionX">Partition.id</a>
          required: true
          schema:
            type: string
        - name: tn
          in: path
          description: Telephone number, 11 digits no spaces or dashes (include country code)
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TelephoneNumberAvailabilityX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/telephonenumber/{tn}/cooldown/recover:
    put:
      tags:
        - Telephone Number
      summary: Delete telephone number cooldown
      description: Use to delete a cooldown for a telephone number and make it available for future search.
      operationId: cooldownRecover
      parameters:
        - name: partitionId
          in: path
          description: ID of partition, reference to <a href="#/~schema/Account">account.partitionId</a>
          required: true
          schema:
            type: string
        - name: tn
          in: path
          description: Telephone number
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TelephoneNumberViewX'
        '400':
          description: Invalid parameters supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Entity not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/telephonenumber/{tn}/fmfmcheck:
    get:
      tags:
        - Telephone Number
      summary: Check if a telephone number can be used for find me/follow me
      description: Pre validates a phone number is valid for use in a <a href="#/~schema/FindMeEndpointX">FindMeEndpointX.toNumber</a> field, as part of find me/follow me setup.  One of the main requirements for this phone number, is that it must be off of the Alianza platform.<span hidden><br/><br/>See <a href="callHandlingSettings.html#find-me-follow-me-handling">here</a> for more information about setting up find me/follow me.</span>
      operationId: isTnOffNet
      parameters:
        - name: partitionId
          in: path
          description: ID of partition, refers to <a href="#/~schema/PartitionX">Partition.id</a>
          required: true
          schema:
            type: string
        - name: tn
          in: path
          description: The telephone number to check, 10 digits no spaces or dashes (do not include country code, 1 is assumed)
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: boolean
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/partition/{partitionId}/telephonenumber/{tn}/reserve:
    put:
      tags:
        - Telephone Number
      summary: Reserve a telephone number
      description: Use to reserve a telephone number, making it unavailable for use by another
      operationId: reserve
      parameters:
        - name: partitionId
          in: path
          description: ID of partition, reference to <a href="#/~schema/Account">account.partitionId</a>
          required: true
          schema:
            type: string
        - name: tn
          in: path
          description: Telephone number
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TelephoneNumberReservedX'
        '400':
          description: Invalid parameters supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Entity not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    delete:
      tags:
        - Telephone Number
      summary: Delete a reservation on telephone number
      description: Use to delete a reservation on a telephone number, making it available for use by another
      operationId: releaseReservation
      parameters:
        - name: partitionId
          in: path
          description: ID of partition, reference to <a href="#/~schema/Account">account.partitionId</a>
          required: true
          schema:
            type: string
        - name: tn
          in: path
          description: Telephone number
          required: true
          schema:
            type: string
      responses:
        '204':
          description: Successful operation
        '400':
          description: Invalid parameters supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Entity not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/ref/account/bulkstatuschange:
    get:
      tags:
        - Account
      summary: Retrieve the default bulkstatuschange definition file
      description: Use to retrieve the default bulkstatuschange definition file.  <span hidden>See <a href="bulkStatusChange.html">here</a> for more information.</span>
      operationId: getBulkStatusChangeDefinition
      responses:
        '200':
          description: Successful operation
          content:
            text/csv:
              schema:
                type: string
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/ref/default-callingplan-definition:
    get:
      tags:
        - Calling Plan
      summary: Retrieve the default calling plan definition file
      description: Use to retrieve the default calling plan definition file
      operationId: getCallingPlanDefinition
      responses:
        '200':
          description: Successful operation
          content:
            text/csv:
              schema:
                type: string
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/ref/devicetype:
    get:
      tags:
        - Reference Resources
      summary: DeviceTypes List
      description: Retrieve a list of device types available to the given partition
      operationId: getDeviceTypes
      parameters:
        - name: partitionid
          in: query
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DeviceTypeX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/ref/devicetype/{id}:
    get:
      tags:
        - Reference Resources
      summary: DeviceType
      description: Retrieve a specific DeviceType
      operationId: getDeviceTypeById
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceTypeX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/ref/dialplan/actiontypes:
    get:
      tags:
        - Reference Resources
      summary: DialPlanActionTypes List
      description: Retrieve a list of available dial plan action types
      operationId: getDialPlanActions
      parameters:
        - name: includeRestricted
          in: query
          schema:
            type: boolean
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: array
                  items:
                    type: string
                    enum:
                      - TranslateAndReapplyDialPlan
                      - CallOutboundNumber
                      - CallCustomerServiceHuntGroup
                      - Callback
                      - CallForwardingAlways
                      - CallForwardingOnBusy
                      - CallForwardingOnNoAnswer
                      - CallForwardingOnUnregistered
                      - CallNonEmergencyServices
                      - CallPublicServices
                      - CallCanadaHealthServices
                      - CallerIdBlockManage
                      - EnterVoiceMail
                      - DirectToVoicemail
                      - CallWaitingEnable
                      - CallWaitingDisable
                      - AnonymousCallRejectEnable
                      - AnonymousCallRejectDisable
                      - AnonymousCallRejectWithInterceptEnable
                      - AnonymousCallRejectWithInterceptDisable
                      - SelectiveCallAcceptEnable
                      - SelectiveCallAcceptDisable
                      - SpecificCallerBlock
                      - SpecificCallerBlockWithIntercept
                      - SpecificCallerAllow
                      - SpecificCallerVipRing
                      - SpecificCallerForwardEnable
                      - AccountAnonymousCallRejectEnable
                      - AccountAnonymousCallRejectDisable
                      - AccountAnonymousCallRejectWithInterceptEnable
                      - AccountAnonymousCallRejectWithInterceptDisable
                      - AccountSelectiveCallAcceptEnable
                      - AccountSelectiveCallAcceptDisable
                      - AccountSpecificCallerBlock
                      - AccountSpecificCallerAllow
                      - AccountSpecificCallerBlockWithIntercept
                      - DoNotDisturbEnable
                      - DoNotDisturbDisable
                      - PickupInDirectory
                      - CallTrace
                      - ParkCall
                      - ParkCallRetrieval
                      - DirectedCallPickUp
                      - GroupPickup
                      - ReservedForHuntGroup
                      - GroupForwarding
                      - CallPull
                      - GroupLoginLogout
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/ref/language:
    get:
      tags:
        - Reference Resources
      summary: Language List
      description: Retrieve a list of supported Languages
      operationId: getLanguages
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/LanguageReferenceX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/ref/permissions:
    get:
      tags:
        - Reference Resources
      summary: PermissionType and Access List
      description: Retrieve a list of available Permission Types and their max Access level for a given UserType
      operationId: getPermissions
      parameters:
        - name: usertype
          in: query
          schema:
            type: string
            default: ManagementUser
            enum:
              - AccountUser
              - EndUser
              - ManagementUser
              - AlianzaUser
              - BusinessLines
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PermissionTypeDefaultsX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/ref/routeplan-definition-template:
    get:
      tags:
        - Reference Resources
      summary: RoutePlan default template
      description: Get the default rates csv for a RoutePlan
      operationId: getRoutePlanDefinitionTemplate
      responses:
        '200':
          description: Successful operation
          content:
            text/csv:
              schema:
                type: string
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/ref/secondary-location-types:
    get:
      tags:
        - Reference Resources
      summary: Address - SecondaryLocationType List
      description: Get a list of available SecondaryLocationTypes
      operationId: getSecondaryLocations
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: array
                  items:
                    type: string
                    enum:
                      - ''
                      - APARTMENT
                      - BUILDING
                      - BASEMENT
                      - DEPARTMENT
                      - FLOOR
                      - FRONT
                      - HANGER
                      - KEY
                      - LOBBY
                      - LOT
                      - LOWER
                      - OFFICE
                      - PENTHOUSE
                      - PIER
                      - REAR
                      - ROOM
                      - SIDE
                      - SLIP
                      - SPACE
                      - SUITE
                      - STOP
                      - TRAILER
                      - UNIT
                      - UPPER
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/ref/sidecartype:
    get:
      tags:
        - Reference Resources
      summary: Device - SideCarType List
      description: Get a list of available SideCarTypes
      operationId: getSideCarTypes
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SideCarTypeX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/ref/sidecartype/{id}:
    get:
      tags:
        - Reference Resources
      summary: Device - SideCarType
      description: Get a given SideCarType
      operationId: getSideCarTypeById
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SideCarTypeX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/ref/system-default-media/{type}:
    get:
      tags:
        - Reference Resources
      summary: List default media
      operationId: listDefaultMedia
      parameters:
        - name: type
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SystemDefaultMediaX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/ref/timezones:
    get:
      tags:
        - Reference Resources
      summary: TimeZone List
      description: Get a list of supported TimeZones
      operationId: getTimeZones
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: array
                  items:
                    type: string
                    enum:
                      - US/Samoa
                      - US/Hawaii
                      - US/Alaska
                      - US/Pacific
                      - US/Arizona
                      - US/Mountain
                      - US/Central
                      - US/Eastern
                      - America/St_Thomas
                      - Canada/Pacific
                      - Canada/Mountain
                      - Canada/Central
                      - Canada/Eastern
                      - Canada/Atlantic
                      - Canada/Newfoundland
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/rpc/specialty-line/validate-sip-username:
    post:
      tags:
        - Specialty Line
      summary: Validate a SIP username
      description: Use to validate the availability of a SIP username
      operationId: validate_sip_username
      requestBody:
        description: SIP username object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ValidateSipUsernameDto'
        required: true
      responses:
        '200':
          description: Returns true if the username is available, false otherwise
          content:
            text/plain:
              schema:
                type: boolean
        '400':
          description: Invalid SIP username object supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SpecialtyLineErrorResponseDto'
  /v2/supported-rate-centers:
    get:
      tags:
        - Supported Rate Centers
      summary: Get carrier-supported rate centers by proximity
      operationId: getClosestAvailableRateCenters
      parameters:
        - name: busOrgId
          in: query
          schema:
            type: string
        - name: distanceUnit
          in: query
          schema:
            type: string
            default: MILES
            enum:
              - MILES
              - KILOMETERS
              - RADIANS
        - name: latitude
          in: query
          schema:
            type: number
            format: double
        - name: longitude
          in: query
          schema:
            type: number
            format: double
        - name: maxResults
          in: query
          schema:
            type: integer
            format: int32
            default: 5
        - name: state
          in: query
          schema:
            type: string
        - name: type
          in: query
          schema:
            type: string
            enum:
              - LEVEL_3
              - NO_API
              - E911
              - TELUS
              - TELUS_API
              - TELUS_ONEVOICE
              - PROVTEL
              - VERIZON_CARIANZA
              - ONVOY_CARIANZA
              - LEVEL3_CARIANZA
              - BANDWIDTH
              - LUMEN_IMS
              - LUMEN_VOICE_LI_ELS
              - SINCH
              - SERVICE_PROVIDER_CARRIER
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateCenterSearchViewX'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/user-groups/settings:
    get:
      tags:
        - User Groups
      summary: Get user groups
      operationId: getUserGroups
      parameters:
        - name: partitionId
          in: query
          required: true
          schema:
            type: string
        - name: accountId
          in: query
          required: true
          schema:
            type: string
        - name: groupId
          in: query
          required: false
          schema:
            type: string
        - name: userId
          in: query
          required: false
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserGroupResponse'
        '204':
          description: No content – operation completed successfully
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    post:
      tags:
        - User Groups
      summary: Create user group
      operationId: createUserGroup
      parameters:
        - name: partitionId
          in: query
          required: true
          schema:
            type: string
        - name: accountId
          in: query
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserGroupRequest'
      responses:
        '200':
          description: User group created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserGroupResponse'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    put:
      tags:
        - User Groups
      summary: Update user group
      operationId: updateUserGroup
      parameters:
        - name: partitionId
          in: query
          required: true
          schema:
            type: string
        - name: accountId
          in: query
          required: true
          schema:
            type: string
        - name: groupId
          in: query
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserGroupRequest'
      responses:
        '200':
          description: User group updated
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
    delete:
      tags:
        - User Groups
      summary: Delete user group
      operationId: deleteUserGroup
      parameters:
        - name: partitionId
          in: query
          required: true
          schema:
            type: string
        - name: accountId
          in: query
          required: true
          schema:
            type: string
        - name: groupId
          in: query
          required: true
          schema:
            type: string
      responses:
        '200':
          description: User group deleted
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/document-repository/document-version/{id}:
    get:
      tags:
        - Document Repository
      summary: Get a document version
      operationId: getDocumentVersionById
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DocumentVersion'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Document not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
  /v2/document-repository/document-content/{id}:
    get:
      tags:
        - Document Repository
      summary: Get a document version content
      operationId: getDocumentVersionContentById
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DocumentContent'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
        '404':
          description: Document not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiException'
components:
  schemas:
    AccountUserX:
      type: object
      properties:
        partitionId:
          type: string
          description: A partitionId identifies the business entity that this account is a part of.  Refers to <a href="#/~schema/PartitionX">partition.id</a>
        accountId:
          type: string
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
        userId:
          type: string
          description: Identifies a unique Account User.
        subDomain:
          type: string
          minLength: 3
          maxLength: 256
          description: Determines the branding which is used in the display of user emails and the portal. Must exist in the <a href="#/~operation/Partition/getAllSettings">Partition Settings</a> (type SUB-DOMAINS).
        username:
          type: string
          minLength: 3
          maxLength: 256
          description: The email address of the AccountUser.
        firstName:
          type: string
          minLength: 3
          maxLength: 256
        lastName:
          type: string
          minLength: 3
          maxLength: 256
        mustChangePassword:
          type: boolean
          description: Indicates whether the user will be required to update their password upon login. This field cannot be set manually, only read out.
        languageTag:
          type: string
          description: 'The localization setting that indicates the language of the user.  Example: "en-US"'
        id:
          type: string
          description: The same value as the userId.
      required:
        - username
        - firstName
        - lastName
    AddressX:
      type: object
      properties:
        id:
          type: string
        firstName:
          type: string
          minLength: 1
          maxLength: 256
        middleInitial:
          type: string
          maxLength: 256
        lastName:
          type: string
          maxLength: 256
        businessName:
          type: string
          maxLength: 256
        streetNumber:
          type: string
        streetNumberSuffix:
          type: string
        preDirectional:
          type: string
          enum:
            - ''
            - 'N'
            - NE
            - E
            - SE
            - S
            - SW
            - W
            - NW
        streetName:
          type: string
          maxLength: 256
        streetSuffix:
          type: string
        postDirectional:
          type: string
          enum:
            - ''
            - 'N'
            - NE
            - E
            - SE
            - S
            - SW
            - W
            - NW
        city:
          type: string
          maxLength: 256
        state:
          type: string
          description: A two-letter state abbreviation
        country:
          type: string
          description: Alianza supports accounts in USA and CAN
        postalCode:
          type: string
        secondaryLocationDescription:
          type: string
          enum:
            - ''
            - APARTMENT
            - BUILDING
            - BASEMENT
            - DEPARTMENT
            - FLOOR
            - FRONT
            - HANGER
            - KEY
            - LOBBY
            - LOT
            - LOWER
            - OFFICE
            - PENTHOUSE
            - PIER
            - REAR
            - ROOM
            - SIDE
            - SLIP
            - SPACE
            - SUITE
            - STOP
            - TRAILER
            - UNIT
            - UPPER
        unit:
          type: string
          maxLength: 10
    CallHandlingScheduleX:
      type: object
      properties:
        schedule:
          $ref: '#/components/schemas/ScheduleX'
        callHandling:
          $ref: '#/components/schemas/CallHandlingSettingsX'
    CallHandlingSettingsX:
      type: object
      properties:
        callWaitingEnabled:
          type: boolean
        doNotDisturbEnabled:
          type: boolean
        callHandlingOptionType:
          type: string
          enum:
            - RingPhone
            - ForwardAlways
            - SimultaneousRing
            - FindMeFollowMe
        forwardAlwaysToNumber:
          type: string
        forwardAlwaysToNumberDescription:
          type: string
        ringPhoneCallHandling:
          $ref: '#/components/schemas/RingPhoneCallHandlingX'
        simultaneousRingCallHandling:
          $ref: '#/components/schemas/SimultaneousRingCallHandlingX'
        findMeFollowMeCallHandling:
          $ref: '#/components/schemas/FindMeFollowMeCallHandlingX'
        forwardAlwaysToNumberType:
          $ref: '#/components/schemas/ForwardAlwaysNumberTypeX'
    CallHandlingWithTimeoutX:
      type: object
      properties:
        type:
          type: string
          enum:
            - Forward
            - Voicemail
            - Busy
            - RingForever
        timeout:
          type: integer
          format: int32
          minimum: 1
        forwardToNumber:
          type: string
        description:
          type: string
    CallHandlingX:
      type: object
      properties:
        type:
          type: string
          enum:
            - Forward
            - Voicemail
            - Busy
        forwardToNumber:
          type: string
        description:
          type: string
    CallScreeningSettingsX:
      type: object
      properties:
        anonymousCallScreen:
          type: string
          enum:
            - Allow
            - Block
            - Voicemail
            - Forward
            - VipRing
            - BlockWithPrompt
        anonymousRingType:
          type: string
          enum:
            - StandardRing
            - Ring1
            - Ring2
            - Ring3
            - Ring4
            - Ring5
            - Ring6
            - Ring7
        tollFreeCallScreen:
          type: string
          enum:
            - Allow
            - Block
            - Voicemail
            - Forward
            - VipRing
            - BlockWithPrompt
        tollFreeRingType:
          type: string
          enum:
            - StandardRing
            - Ring1
            - Ring2
            - Ring3
            - Ring4
            - Ring5
            - Ring6
            - Ring7
        defaultCallScreen:
          type: string
          enum:
            - Allow
            - Block
            - Voicemail
            - Forward
            - VipRing
            - BlockWithPrompt
        defaultRingType:
          type: string
          enum:
            - StandardRing
            - Ring1
            - Ring2
            - Ring3
            - Ring4
            - Ring5
            - Ring6
            - Ring7
        customCallScreenList:
          type: array
          items:
            $ref: '#/components/schemas/CustomCallScreenX'
        forwardTn:
          type: string
    CallerIdConfigX:
      type: object
      properties:
        callerIdNumber:
          type: string
        externalCallerIdVisible:
          type: boolean
        extensionCallerIdVisible:
          type: boolean
        callerIdNumberReservationId:
          type: string
        callerIdName:
          type: string
      required:
        - extensionCallerIdVisible
        - externalCallerIdVisible
    CallingPlanX:
      type: object
      properties:
        id:
          type: string
        referenceId:
          type: string
        referenceType:
          type: string
          enum:
            - SIP_TRUNK
            - END_USER
            - IVR
            - ACCOUNT
            - SPECIALTY_LINE
            - CONTACT_CENTER
        callingPlanProductId:
          type: string
        endDate:
          type: string
          format: date-time
        startDate:
          type: string
          format: date-time
        planMinutes:
          type: integer
          format: int32
        secondsRemaining:
          type: integer
          format: int64
    CustomCallScreenX:
      type: object
      properties:
        telephoneNumber:
          type: string
        blockType:
          type: string
          enum:
            - Allow
            - Block
            - Voicemail
            - Forward
            - VipRing
            - BlockWithPrompt
        ringType:
          type: string
          enum:
            - StandardRing
            - Ring1
            - Ring2
            - Ring3
            - Ring4
            - Ring5
            - Ring6
            - Ring7
    CustomScheduleX:
      type: object
      properties:
        date:
          type: string
          format: date-time
        startTime:
          type: string
        endTime:
          type: string
      required:
        - date
        - startTime
        - endTime
    CustomerServiceRecordX:
      type: object
      properties:
        id:
          type: string
        firstName:
          type: string
          minLength: 1
          maxLength: 256
        middleInitial:
          type: string
          maxLength: 256
        lastName:
          type: string
          maxLength: 256
        businessName:
          type: string
          maxLength: 256
        streetNumber:
          type: string
        streetNumberSuffix:
          type: string
        preDirectional:
          type: string
          enum:
            - ''
            - 'N'
            - NE
            - E
            - SE
            - S
            - SW
            - W
            - NW
        streetName:
          type: string
          maxLength: 256
        streetSuffix:
          type: string
        postDirectional:
          type: string
          enum:
            - ''
            - 'N'
            - NE
            - E
            - SE
            - S
            - SW
            - W
            - NW
        city:
          type: string
          maxLength: 256
        state:
          type: string
          description: A two-letter state abbreviation
        country:
          type: string
          description: Alianza supports accounts in the USA and Canada.
        postalCode:
          type: string
        secondaryLocationDescription:
          type: string
          enum:
            - ''
            - APARTMENT
            - BUILDING
            - BASEMENT
            - DEPARTMENT
            - FLOOR
            - FRONT
            - HANGER
            - KEY
            - LOBBY
            - LOT
            - LOWER
            - OFFICE
            - PENTHOUSE
            - PIER
            - REAR
            - ROOM
            - SIDE
            - SLIP
            - SPACE
            - SUITE
            - STOP
            - TRAILER
            - UNIT
            - UPPER
        unit:
          type: string
          maxLength: 10
        customerType:
          type: string
          enum:
            - BUSINESS
            - RESIDENTIAL
        firstNameSecondary:
          type: string
        blockCustomerName:
          type: boolean
        customerName:
          type: string
    DeviceTypeX:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        numLines:
          type: integer
          format: int32
        deviceTypeManufacturer:
          type: string
          enum:
            - CISCO_LINKSYS_SIPURA
            - POLYCOM
            - ARRIS
            - OBIHAI
            - INNOMEDIA
            - THIRD_PARTY
            - SOFT_PHONE
            - ZTE
            - SCIENTIFIC_ATLANTA
            - CALIX
            - YEALINK
            - SNOM
            - SMART_RG
            - ACROBITS
            - GRANDSTREAM
            - ADTRAN
            - MEDIATRIX
            - ALGO
            - MITEL
            - CLEARLY_IP
        acceptsRemoteResync:
          type: boolean
        faxSupported:
          type: boolean
        macAddressRequired:
          type: boolean
        showProvisionStatus:
          type: boolean
        enforceUniqueAdminPassword:
          type: boolean
        customEncryptionKeys:
          type: boolean
        sipPagingEnabled:
          type: boolean
        distinctiveRingInfo:
          type: string
        smbDevice:
          type: boolean
        sideCarTypeIds:
          type: array
          items:
            type: string
        maxSideCars:
          type: integer
          format: int32
        ringTypeAlertInfo:
          type: array
          items:
            $ref: '#/components/schemas/RingTypeAlertInfoX'
        sipRegMax:
          type: integer
          format: int32
        deviceKind:
          type: string
        lineFunctionality:
          type: object
          additionalProperties:
            uniqueItems: true
            type: array
            items:
              type: string
              enum:
                - Line
                - AdvancedSharedLine
                - ReferencedUser
                - IntercomLine
                - PresenceBlfUser
                - SpeedDialUser
                - SpeedDialTn
                - CallParkingSpot
                - SipPaging
                - Custom
        disabledProperties:
          type: array
          items:
            type: string
    DeviceX:
      type: object
      properties:
        id:
          type: string
          description: Not required for creating a new device line
        deviceTypeId:
          type: string
          description: 'Identifies the equipment as well as the features that the device supports. Refers to <a href="#/~schema/DeviceTypeX">deviceType.id</a>. See also: <a href="#/~operation/Reference%20Resources/getDeviceTypes">Get All Device Types</a> and <a href="#/~operation/Reference%20Resources/getDeviceTypeById">Get Device Type by ID</a>'
        accountId:
          type: string
          description: Not required for creating a new device line
        partitionId:
          type: string
          description: Not required for creating a new device line
        macAddress:
          type: string
          description: The 48-bit hexadecimal address assigned to the device by the manufacturer. Required if the device line refers to a physical device.  Must not be claimed in another device request.
        deviceName:
          type: string
        emergencyNumber:
          type: string
          description: Required if emergencyNumberReservationId is absent
        emergencyNumberReservationId:
          type: string
          description: Required if emergencyNumber is absent
        faxEnabled:
          type: boolean
        lineNumber:
          type: integer
          format: int32
          description: Required for POST & PUT operations only
        userId:
          type: string
        sipPassword:
          type: string
        sipUsername:
          type: string
          description: Required to be globally unique if specified
        zipcode:
          type: string
          deprecated: true
        state:
          type: string
          deprecated: true
        lineType:
          type: string
          enum:
            - Line
            - AdvancedSharedLine
            - ReferencedUser
            - IntercomLine
            - PresenceBlfUser
            - SpeedDialUser
            - SpeedDialTn
            - CallParkingSpot
            - SipPaging
            - Custom
        referenceId:
          type: string
          description: Changes Depending on LineType.  If LineType.Line then this should be null.   If LineType.ReferencedUser, PresenceBlfUser, or SpeedDialUser then this should be a valid userid.   If LineType.SpeedDialTn then this should be a valid phone number.
        provisioningRequest:
          $ref: '#/components/schemas/ProvisioningRequestX'
      required:
        - accountId
        - deviceName
        - deviceTypeId
        - faxEnabled
        - id
        - partitionId
        - userId
        - lineNumber
    DirectoryListingX:
      type: object
      properties:
        listed:
          type: boolean
        type:
          type: string
          description: Indicates how a telephone number should be listed.  <span hidden>For more information on the directory listing process, please refer <a href="directoryListing.html#overview">here</a></span>
          enum:
            - ERROR
            - LIST_PUBLISH
            - LIST_NOT_PUBLISH
            - NOT_LIST_NOT_PUBLISH
            - PORTED
            - COMPLEX
        address:
          $ref: '#/components/schemas/AddressX'
    E911AddressX:
      type: object
      properties:
        id:
          type: string
        firstName:
          type: string
        middleInitial:
          type: string
        lastName:
          type: string
        businessName:
          type: string
        streetNumber:
          type: string
        streetNumberSuffix:
          type: string
        preDirectional:
          type: string
          enum:
            - ''
            - 'N'
            - NE
            - E
            - SE
            - S
            - SW
            - W
            - NW
        streetName:
          type: string
        streetSuffix:
          type: string
        postDirectional:
          type: string
          enum:
            - ''
            - 'N'
            - NE
            - E
            - SE
            - S
            - SW
            - W
            - NW
        city:
          type: string
        state:
          type: string
        country:
          type: string
        postalCode:
          type: string
        secondaryLocationDescription:
          type: string
          enum:
            - ''
            - APARTMENT
            - BUILDING
            - BASEMENT
            - DEPARTMENT
            - FLOOR
            - FRONT
            - HANGER
            - KEY
            - LOBBY
            - LOT
            - LOWER
            - OFFICE
            - PENTHOUSE
            - PIER
            - REAR
            - ROOM
            - SIDE
            - SLIP
            - SPACE
            - SUITE
            - STOP
            - TRAILER
            - UNIT
            - UPPER
        unit:
          type: string
        customerType:
          type: string
          enum:
            - BUSINESS
            - RESIDENTIAL
        latitude:
          type: string
          description: -90 through 90, 4-6 decimals
        longitude:
          type: string
          description: -180 through 180, 4-6 decimals
        language:
          type: string
          description: Optional, see /v2/ref/language for supported languages
    EndUserV2X:
      type: object
      properties:
        id:
          type: string
        username:
          type: string
          minLength: 3
          maxLength: 256
          description: If the userProductPlan is ADVANCED or PROFESSIONAL, do not use an email as a username as this will result in loss of access to the softphone client.
        firstName:
          type: string
          minLength: 3
          maxLength: 256
        lastName:
          type: string
          minLength: 3
          maxLength: 256
        emailAddress:
          type: string
          minLength: 3
          maxLength: 256
          description: Must be a valid email address
        mustChangePassword:
          type: boolean
        languageTag:
          type: string
          description: <a href="https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry">RFC-5646 Language tag</a>. Refer to <a href="#/~operation/Reference%20Resources/getLanguages">supported languages</a> for a list of supported values.
        partitionId:
          type: string
        accountId:
          type: string
        callingPlans:
          type: array
          description: callingPlans
          items:
            $ref: '#/components/schemas/CallingPlanX'
          readOnly: true
          xml:
            wrapped: true
        devices:
          type: array
          description: devices
          items:
            $ref: '#/components/schemas/DeviceX'
          readOnly: true
          xml:
            wrapped: true
        timeZone:
          type: string
          enum:
            - US/Samoa
            - US/Hawaii
            - US/Alaska
            - US/Pacific
            - US/Arizona
            - US/Mountain
            - US/Central
            - US/Eastern
            - America/St_Thomas
            - Canada/Pacific
            - Canada/Mountain
            - Canada/Central
            - Canada/Eastern
            - Canada/Atlantic
            - Canada/Newfoundland
        extension:
          type: string
        callerIdConfig:
          $ref: '#/components/schemas/CallerIdConfigX'
        callHandlingSettings:
          $ref: '#/components/schemas/CallHandlingSettingsX'
        callScreeningSettings:
          $ref: '#/components/schemas/CallScreeningSettingsX'
        newCppId:
          type: string
        mediaFriends:
          $ref: '#/components/schemas/MediaFriendsX'
        callHandlingSchedules:
          type: array
          items:
            $ref: '#/components/schemas/CallHandlingScheduleX'
        voicemailBoxId:
          type: string
        endUserType:
          type: string
          enum:
            - ADMIN
            - ADVANCED_ADMIN
            - BASIC_ADMIN
            - STANDARD
            - STANDARD_ADMIN
            - SUPER_ADMIN
        userProductPlan:
          type: string
          enum:
            - STANDARD
            - ADVANCED
            - PROFESSIONAL
        softphoneClientType:
          type: string
          enum:
            - STRETTO
            - CYMBUS
        pinLockedOut:
          type: boolean
        privacySettings:
          $ref: '#/components/schemas/EndUserPrivacySettingsX'
        welcomeEmailSent:
          type: string
          format: date-time
        blockEmail:
          type: boolean
        allowPortalAccess:
          type: boolean
        tags:
          type: string
        group:
          $ref: '#/components/schemas/UserGroupX'
      required:
        - timeZone
    FileImportValidationErrorX:
      type: object
      properties:
        lineNumber:
          type: integer
          format: int32
        error:
          type: string
        column:
          type: string
        input:
          type: string
    FindMeEndpointX:
      type: object
      properties:
        ringUserDevice:
          type: boolean
        toNumber:
          type: string
        description:
          type: string
        timeout:
          type: integer
          format: int32
          minimum: 1
          maximum: 240
        toUserId:
          type: string
        continueOnBusy:
          type: boolean
          description: Must be false for the last Find Me endpoint.
    FindMeFollowMeCallHandlingX:
      type: object
      properties:
        findMeEndpoints:
          type: array
          items:
            $ref: '#/components/schemas/FindMeEndpointX'
        busyCallHandling:
          $ref: '#/components/schemas/CallHandlingX'
        timeoutType:
          type: string
          enum:
            - Forward
            - Voicemail
            - Busy
            - RingForever
    Job:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        userId:
          type: string
        status:
          type: string
          enum:
            - PENDING
            - IN_PROGRESS
            - DONE
            - FAILED
        errors:
          type: array
          items:
            $ref: '#/components/schemas/JobError'
        inputKey:
          type: string
        outputKey:
          type: string
        start:
          type: string
          format: date-time
        lastUpdated:
          type: string
          format: date-time
      xml:
        name: job
    JobError:
      type: object
      properties:
        error:
          type: string
        lineNumber:
          type: integer
          format: int32
        column:
          type: string
        input:
          type: string
    JobUploadKey:
      type: object
      properties:
        key:
          type: string
    ManagementUserX:
      type: object
      properties:
        id:
          type: string
        username:
          type: string
          description: users email address
        firstName:
          type: string
        lastName:
          type: string
        emailAddress:
          type: string
          description: just a readonly repetition of the username
        mustChangePassword:
          type: boolean
        languageTag:
          type: string
          enum:
            - en-US
            - fr-CA
        partitionId:
          type: string
          description: Reference to <a href="#/~schema/PartitionX">PartitionX.id</a>
        roles:
          type: array
          description: A list of roles that the contain the permissions of this managementUser.
          items:
            type: string
            description: Reference to <a href="#/~schema/SecurityRoleX">SecurityRoleX.name</a>.  The named role must be under the partition of the managementUser.
          uniqueItems: true
        groupIds:
          type: array
          description: Readonly and internal only, the same information is contained in the roles array in a different format
          items:
            type: string
            description: Reference to <a href="#/~schema/SecurityRoleX">SecurityRoleX.id</a>.
          uniqueItems: true
    MediaFriendsX:
      type: object
      properties:
        enabled:
          type: boolean
        host:
          type: string
        toNumber:
          type: string
    MultipartFormDataInput:
      type: object
      properties:
        file:
          type: string
          format: binary
    EndUserPrivacySettingsX:
      type: object
      properties:
        directoryPrivacyEnabled:
          type: boolean
        autoAttendantDialByExtensionPrivacyEnabled:
          type: boolean
        autoAttendantDialByNamePrivacyEnabled:
          type: boolean
        autoAnswerPrivacyEnabled:
          type: boolean
    PublicApiException:
      type: object
      properties:
        status:
          type: integer
        messages:
          type: array
          items:
            type: string
        data:
          type: object
          additionalProperties: true
          example:
            key: value
            key2: value2
    RegistrationStatus:
      type: object
      properties:
        registered:
          type: boolean
        lockedOut:
          type: boolean
    ReportSummaryX:
      type: object
      properties:
        newCount:
          type: integer
          format: int64
        totalCount:
          type: integer
          format: int64
    RingPhoneCallHandlingX:
      type: object
      properties:
        busyCallHandling:
          $ref: '#/components/schemas/CallHandlingX'
        noAnswerCallHandling:
          $ref: '#/components/schemas/CallHandlingWithTimeoutX'
        unregisteredCallHandling:
          $ref: '#/components/schemas/CallHandlingX'
    RingTypeAlertInfoX:
      type: object
      properties:
        ringType:
          type: string
          enum:
            - StandardRing
            - Ring1
            - Ring2
            - Ring3
            - Ring4
            - Ring5
            - Ring6
            - Ring7
        alertInfoHeaderValue:
          type: string
          description: sip header for this ring type
      required:
        - alertInfoHeaderValue
        - ringType
    ScheduleX:
      type: object
      properties:
        name:
          type: string
        type:
          type: string
          enum:
            - CUSTOM
            - WEEKLY
        weekly:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/WeeklyScheduleX'
        custom:
          type: array
          items:
            $ref: '#/components/schemas/CustomScheduleX'
    SideCarTypeX:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        numLinesPerPage:
          type: integer
          format: int32
        numPages:
          type: integer
          format: int32
        lineFunctionality:
          type: object
          additionalProperties:
            type: array
            uniqueItems: true
            items:
              $ref: '#/components/schemas/LineTypeX'
    SimultaneousRingCallHandlingX:
      type: object
      properties:
        forwardToNumberList:
          type: array
          items:
            type: string
        forwardToTimedNumberList:
          type: array
          items:
            $ref: '#/components/schemas/SimultaneousRingEndpointX'
          description: Mutually exclusive with forwardToNumberList; if both are sent, this list takes precedence when non-empty. Endpoint delays must be in chronological order with no gaps between active windows. The first endpoint delay must be less than or equal to noAnswerCallHandling.timeout.
        noAnswerCallHandling:
          $ref: '#/components/schemas/CallHandlingWithTimeoutX'
        continueOnBusy:
          type: boolean
    SimultaneousRingEndpointX:
      type: object
      properties:
        toNumber:
          type: string
        ringDelay:
          type: integer
          format: int32
          minimum: 0
        ringDuration:
          type: integer
          format: int32
          minimum: 1
          description: When noAnswerCallHandling.type is RingForever, this value is ignored by the service.
        continueOnBusy:
          type: boolean
    StreamingOutput:
      type: object
    TelephoneNumberAccountV2X:
      type: object
      properties:
        phoneNumber:
          type: string
        referenceType:
          type: string
          description: What kind of destination gets calls from this number.
          enum:
            - SIP_TRUNK
            - END_USER
            - IVR
            - LINE_APPEARANCE
            - LINE_HUNTGROUP
            - TELEPHONE
            - VFAX
            - BUSINESS_LINE
            - BUSINESS_LINE_HUNT_GROUP
            - CALL_GROUP
            - CALL_QUEUE
            - AUTO_ATTENDANT
            - SPECIALTY_LINE
            - CONTACT_CENTER
        referenceId:
          type: string
          description: The id of the destination which gets calls from this number.  You can think of this as a variable refkey; what it points to depends on the referenceType.
        functionType:
          type: string
          enum:
            - ELS
            - TollFree
            - TemporaryNumber
            - SPTN
        canAcceptSMS:
          type: boolean
        operationalStatus:
          type: string
          enum:
            - ACTIVE
            - STAGED
        portId:
          type: string
        servicePackageType:
          type: string
          enum:
            - Usage
            - PrimaryLocalFlatRate
            - PrimaryLocalAndDomesticLDFlatRate
            - SecondaryLocalFlatRate
            - SecondaryLocalAndDomesticLDFlatRate
        accountId:
          type: string
        partitionId:
          type: string
        customerServiceRecord:
          $ref: '#/components/schemas/CustomerServiceRecordX'
        carrierStatus:
          type: string
          enum:
            - ACTIVE
            - ACTIVATION_ON_HOLD
            - ACTIVATION_PENDING
            - PORT_PENDING
            - CANCEL_PORT
            - CANCEL_PORT_EXPIDITED
            - DELETE_PENDING
            - DELETED
            - CANCEL_PORT_COMPLETE
            - PORT_REJECTED
            - INVENTORY
            - INVENTORY_CLAIMED
            - COOLDOWN
            - RECOVERED
        orderVersion:
          type: string
        e911Address:
          $ref: '#/components/schemas/E911AddressX'
        temporaryNumber:
          type: string
        directoryListing:
          $ref: '#/components/schemas/DirectoryListingX'
        assignAsCallerId:
          type: boolean
        byotnCarrierId:
          type: string
        ringType:
          type: string
          description: Default ringtype for this phone
          enum:
            - StandardRing
            - Ring1
            - Ring2
            - Ring3
            - Ring4
            - Ring5
            - Ring6
            - Ring7
        carrierId:
          type: string
        tollFree:
          type: boolean
        id:
          type: string
        tags:
          type: array
          items:
            type: string
          description: Optional tags for categorizing the telephone number (e.g., location, service type). Tags are stored as attributes in the Attribute Service. Format is lowercase with hyphens replacing spaces. Maximum 10 tags per number.
    UserGroupX:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        description:
          type: string
    WeeklyScheduleTimeX:
      type: object
      properties:
        startTime:
          type: string
        endTime:
          type: string
      required:
        - startTime
        - endTime
    WeeklyScheduleX:
      type: object
      properties:
        SUN:
          $ref: '#/components/schemas/WeeklyScheduleTimeX'
        MON:
          $ref: '#/components/schemas/WeeklyScheduleTimeX'
        TUE:
          $ref: '#/components/schemas/WeeklyScheduleTimeX'
        WED:
          $ref: '#/components/schemas/WeeklyScheduleTimeX'
        THU:
          $ref: '#/components/schemas/WeeklyScheduleTimeX'
        FRI:
          $ref: '#/components/schemas/WeeklyScheduleTimeX'
        SAT:
          $ref: '#/components/schemas/WeeklyScheduleTimeX'
    LineTypeX:
      type: string
      enum:
        - AdvancedSharedLine
        - CallParkingSpot
        - Custom
        - IntercomAutoAnswer
        - IntercomLine
        - Line
        - PresenceBlfUser
        - ReferencedUser
        - SipPaging
        - SpeedDialTn
        - SpeedDialUser
    ForwardAlwaysNumberTypeX:
      type: string
      enum:
        - Extension
        - PhoneNumber
        - ShortCode
    ZipcodeX:
      type: object
      properties:
        zipCode:
          type: string
        latitude:
          type: number
          format: double
        longitude:
          type: number
          format: double
    AddressValidationX:
      type: object
      properties:
        requiredFields:
          type: array
          items:
            type: string
        customerServiceRecord:
          $ref: '#/components/schemas/CustomerServiceRecordX'
        latitude:
          type: string
        longitude:
          type: string
        valid:
          type: boolean
    BrandingType:
      type: string
      enum:
        - DYNAMIC
        - STATIC
    BrandSettingsDTO:
      type: object
      properties:
        partitionId:
          type: string
        brandId:
          type: string
          format: uuid
        brandName:
          type: string
        brandingEnabled:
          type: boolean
        brandingCompleted:
          type: boolean
        selfSigningEnabled:
          type: boolean
        desktopHostingEnabled:
          type: boolean
        brandingType:
          $ref: '#/components/schemas/BrandingType'
      required:
        - brandId
        - brandName
        - brandingCompleted
        - brandingEnabled
        - partitionId
        - selfSigningEnabled
    BrandError:
      type: string
      format: int32
      example: 10404 - Resource not found
      enum:
        - 10001 - API hasn't been implemented yet
        - 10404 - Resource not found
        - 10403 - Not authorized
        - 10500 - Internal Server Error
        - 10002 - BrandDetails validation failed
        - 10003 - Brand already exists for the given partition
        - 10004 - Branding completion is readonly
        - 10005 - Partition mismatch
        - 10006 - File format is invalid
        - 10007 - Active build request already exists
        - 10008 - Brand domains setup is not completed
        - 10009 - Build cannot be published
        - 10010 - Desktop hosting feature is disabled
    BrandErrorResponse:
      type: object
      properties:
        code:
          $ref: '#/components/schemas/BrandError'
        description:
          type: string
    CreateBrandSettings:
      type: object
      properties:
        partitionId:
          type: string
        brandingEnabled:
          type: boolean
        selfSigningEnabled:
          type: boolean
        desktopHostingEnabled:
          type: boolean
      required:
        - brandingEnabled
        - partitionId
        - selfSigningEnabled
    Login:
      type: object
      properties:
        username:
          type: string
        password:
          type: string
        changePassword:
          type: string
          description: This should be used only when changing the password
      required:
        - password
        - username
    LoginTokenX:
      type: object
      properties:
        authToken:
          type: string
        userId:
          type: string
        userType:
          type: string
          enum:
            - AccountUser
            - EndUser
            - ManagementUser
            - AlianzaUser
            - BusinessLines
        endUserType:
          type: string
          enum:
            - ADMIN
            - ADVANCED_ADMIN
            - BASIC_ADMIN
            - STANDARD
            - STANDARD_ADMIN
            - SUPER_ADMIN
        username:
          type: string
        firstName:
          type: string
        lastName:
          type: string
        emailAddress:
          type: string
        partitionId:
          type: string
        partitionName:
          type: string
        accountId:
          type: string
        permissions:
          type: object
          additionalProperties:
            type: string
            enum:
              - NONE
              - READ_MYUSER
              - READ
              - EDIT_MYUSER
              - EDIT
              - CREATE_MYUSER
              - CREATE
              - DELETE_MYUSER
              - DELETE
              - DENIED
        featureToggles:
          type: object
          additionalProperties:
            type: boolean
        mustChangePassword:
          type: boolean
        subPartitionIds:
          type: array
          items:
            type: string
          uniqueItems: true
        tokenSource:
          type: string
        grantedAuthorities:
          type: array
          items:
            type: string
          uniqueItems: true
        pwdHash:
          type: string
        mustAddEmail:
          type: boolean
        maxLifeInHours:
          type: integer
          format: int32
        groupId:
          type: string
        groupName:
          type: string
    SsoDataX:
      type: object
      properties:
        clientId:
          type: string
        ssoUrl:
          type: string
    SSOConfigResponse:
      type: object
      properties:
        partitionId:
          type: string
        accountId:
          type: string
          nullable: true
        ssoName:
          type: string
        assertionConsumerResponseUrl:
          type: string
          format: uri
        serviceProviderEntityId:
          type: string
        serviceProviderSigningCertificate:
          type: string
        identityProviderUserId:
          type: string
        identityProviderUserEmail:
          type: string
        alianzaUserIdFieldMapping:
          type: string
        identityProviderSignInUrl:
          type: string
          format: uri
        identityProviderLogoutUrl:
          type: string
          format: uri
        identityProviderSigningKeyName:
          type: string
        status:
          type: string
          enum:
            - DRAFT
            - READY
            - ENABLED
            - DISABLED
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        validated:
          type: boolean
        allowAlianzaAuthentication:
          type: boolean
          default: true
        allowSpInitiatedAuthenticationFlow:
          type: boolean
          default: true
        enforcedSubPartitions:
          type: array
          items:
            type: string
    SAMLRequestProtocolBinding:
      type: string
      enum:
        - POST
        - REDIRECT
      description: SAML Request Protocol Binding.
    CompleteSSOConfigRequest:
      type: object
      required:
        - identityProviderSignInUrl
        - identityProviderSigningCertificate
        - externalIdAttributeFieldMapping
        - ssoName
      properties:
        identityProviderSignInUrl:
          type: string
          format: uri
          description: Identity Provider sign-in endpoint URL where SAML authentication requests are sent.
        identityProviderSigningCertificate:
          type: string
          description: Identity Provider signing certificate in PEM or CER format.
        userIdAttributeFieldMapping:
          type: string
          description: SAML attribute name that contains the Alianza user ID.
        externalIdAttributeFieldMapping:
          type: string
          description: SAML attribute name containing the user's unique identifier in the IdP.
        externalEmailAttributeFieldMapping:
          type: string
          description: SAML attribute name containing the user's email address.
        ssoName:
          type: string
        identityProviderLogoutUrl:
          type: string
          format: uri
        samlRequestProtocolBinding:
          $ref: '#/components/schemas/SAMLRequestProtocolBinding'
        enforcedSubPartitions:
          type: array
          items:
            type: string
        allowSpInitiatedAuthenticationFlow:
          type: boolean
          default: true
        allowAlianzaAuthentication:
          type: boolean
    UserValidationResult:
      type: string
      enum:
        - LINKED_USER
        - EXEMPTED_USER
        - ACC_SSO_CONFIGURED
        - P_E_SSO_CONFIGURED
        - P_SSO_CONFIGURED
        - NO_ACTIVE_CONFIG
        - ACTIVE_CONFIG_ALZ_AUTHN_ALLOWED
    UserValidationResponse:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/UserValidationResult'
    SSOConfigCreateRequest:
      type: object
      required:
        - ssoName
      properties:
        partitionId:
          type: string
          description: Partition identifier. Required for partition-enforced/partition SSO configurations.
        accountId:
          type: string
          description: Account identifier. Required for account-level SSO configurations.
        ssoName:
          type: string
          description: SSO configuration name.
          pattern: ^[a-z0-9][a-z0-9-]*[a-z0-9]$
          minLength: 4
          maxLength: 36
    SSOConfigCreateResponse:
      type: object
      properties:
        scope:
          type: string
          enum:
            - ACCOUNT_LEVEL_SSO
            - PARTITION_ENFORCED_SSO
            - PARTITION_SSO
        scopeId:
          type: string
        ssoName:
          type: string
        assertionConsumerResponseUrl:
          type: string
          format: uri
        serviceProviderEntityId:
          type: string
        serviceProviderSigningCertificate:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
    UpdateSubPartitionsRequest:
      type: object
      required:
        - enforcedSubPartitions
      properties:
        enforcedSubPartitions:
          type: array
          items:
            type: string
          description: List of sub-partition IDs to enforce. Merged with existing (union).
        allowAlianzaAuthentication:
          type: boolean
          description: Allow Alianza authentication. Default true.
          default: true
        allowSpInitiatedAuthenticationFlow:
          type: boolean
          description: Allow SP-initiated authentication flow. Default true.
          default: true
    ExemptionType:
      type: string
      description: Type of exemption target
      enum:
        - USER
        - GROUP
        - ACCOUNT
    SSOExemptionResponse:
      type: object
      properties:
        exemptionId:
          type: string
          description: Unique identifier for the exemption
        partitionId:
          type: string
          description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
        accountId:
          type: string
          description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
        accountName:
          type: string
          description: Name of the account
        exemptionName:
          type: string
          description: Name of the exemption configuration
        exemptionType:
          $ref: '#/components/schemas/ExemptionType'
        exemptions:
          type: array
          description: List of exempted identifiers
          items:
            type: string
    SSOExemptionRequest:
      type: object
      required:
        - exemptionType
        - exemptions
      properties:
        partitionId:
          type: string
          description: |
            ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
            Required for PSSO/PESSO flows; not required for ACCSSO.
        accountId:
          type: string
          description: |
            ID of account, refers to <a href="#/~schema/Account">account.id</a>
            Required for ACCSSO flows.
        exemptionName:
          type: string
          description: Exemption name
        exemptionType:
          $ref: '#/components/schemas/ExemptionType'
        exemptions:
          type: array
          minItems: 1
          description: List of IDs to exempt (USER/GROUP/ACCOUNT depending on exemptionType).
          items:
            type: string
          uniqueItems: true
        scope:
          enum:
            - ACCOUNT_LEVEL_SSO
            - PARTITION_ENFORCED_SSO
            - PARTITION_SSO
    RedirectResponse:
      type: object
      required:
        - redirectUri
      properties:
        redirectUri:
          type: string
          format: uri
          description: URL of the Identity Provider login page where the user should be redirected
          example: https://idp.example.com/login?SAMLRequest=abc123
    ValidationErrorResponse:
      type: object
      properties:
        errors:
          type: array
          items:
            type: string
          example:
            - path param emailAddress must be a well-formed email address
    OAuthErrorResponse:
      type: object
      properties:
        code:
          type: string
          example: INVALID_STATE
        message:
          type: string
          example: State token validation failed
        details:
          type: object
          additionalProperties: true
    SSOLinkage:
      type: object
      description: SSO linkage information
      properties:
        ssoName:
          type: string
          description: Name of the SSO configuration
        emailAddress:
          type: string
          format: email
        partitionId:
          type: string
          description: Partition identifier
        accountId:
          type: string
          description: Account identifier
        userId:
          type: string
          description: User identifier
        externalId:
          type: string
          description: External identity provider ID
        externalEmail:
          type: string
          format: email
          description: Email from external identity provider
    CollectionDTO:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the collection
        ownerId:
          type: string
          description: Owner identifier of the collection
        size:
          type: integer
          description: Size of the collection
        transformObjectType:
          type: string
          description: Type of the transform object
          example: CreateUserInput | DeleteUserInput | CreateTelephoneNumberInput | DeleteTelephoneNumberInput
        transformObjects:
          type: array
          items:
            type: object
            additionalProperties: true
        createdDateTime:
          type: string
          format: date-time
          description: Timestamp of the creation in ISO 8601 format
        deleteDateTime:
          type: string
          format: date-time
          description: Timestamp of the deletion in ISO 8601 format
      required:
        - transformObjectType
        - transformObjects
    BulkOperationErrorResponse:
      type: object
      properties:
        status:
          type: integer
          description: HTTP error status code
        message:
          type: string
          description: Detailed error message
        errors:
          type: array
          description: list of errors
          items:
            type: string
          example:
            - transformObjectsFile must not be null
            - jobTypeId should be valid
            - etc.
        schemaErrors:
          type: array
          description: list of schema errors
          items:
            type: object
          example:
            - index: index (location) of the error
              path: path
              description: description of the schema error
    JobStatusDTO:
      type: string
      enum:
        - CREATED
        - STARTED
        - ABORTED
        - COMPLETED
    JobOutputCollectionDTO:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the output collection
      required:
        - id
    JobDTO:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the job
        ownerId:
          type: string
          description: Owner identifier of the job
        jobTypeId:
          type: string
          description: Type identifier of the job
          example: create users | delete users | create telephone numbers | delete telephone numbers
        targetAccountId:
          type: string
          description: Target account identifier for the job
          example: '456'
        inputCollectionId:
          type: string
          description: Input collection identifier for the job
          example: '789'
        jobStatus:
          $ref: '#/components/schemas/JobStatusDTO'
        executionStatus:
          $ref: '#/components/schemas/JobStatusDTO'
        updatedDateTime:
          type: string
          format: date-time
          description: Timestamp of the last update in ISO 8601 format
        outputCollections:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/JobOutputCollectionDTO'
        abortAfter:
          type: integer
          description: Time after which the job should be aborted
      required:
        - jobTypeId
        - targetAccountId
        - inputCollectionId
    JobFormDTO:
      type: object
      properties:
        transformObjectType:
          type: string
          enum:
            - CreateUserInput
            - CreateTelephoneNumberInput
            - DeleteUserInput
            - DeleteTelephoneNumberInput
        transformObjectFile:
          type: string
          format: binary
          description: valid data file that corresponds to the transform object type definition
        targetAccountId:
          type: string
          description: account that this data will go into
        jobTypeId:
          type: string
          enum:
            - create users
            - create telephone numbers
            - delete users
            - delete telephone numbers
      required:
        - transformObjectType
        - transformObjectFile
        - targetAccountId
        - jobTypeId
    DeviceGraph:
      type: object
      properties:
        deviceTypeId:
          type: string
        accountId:
          type: string
        partitionId:
          type: string
        macAddress:
          type: string
        deviceName:
          type: string
        emergencyNumber:
          type: string
        faxEnabled:
          type: boolean
        lineNumber:
          type: integer
        userId:
          type: string
        sipUsername:
          type: string
        linetype:
          type: string
    DeviceGraphLimited:
      allOf:
        - $ref: '#/components/schemas/DeviceGraph'
        - type: object
          required:
            - telephoneNumbers
          properties:
            telephoneNumbers:
              type: array
              items:
                type: string
    DeviceGraphUnlimited:
      allOf:
        - $ref: '#/components/schemas/DeviceGraph'
        - type: object
          required:
            - tnas
          properties:
            tnas:
              type: array
              items:
                $ref: '#/components/schemas/TelephoneNumberAccountV2X'
    CymbusAccountGroup:
      type: object
      properties:
        id:
          type: string
        accountName:
          type: string
        groupName:
          type: string
        partitionId:
          type: string
        bridgePrefix:
          type: string
        userCount:
          type: integer
          format: int32
    CymbusPartitionGroup:
      type: object
      properties:
        partitionId:
          type: string
        supportEmail:
          type: string
        productName:
          type: string
        voicemailStarCode:
          type: string
        proxyHost:
          type: string
        groupName:
          type: string
    SipCredentialData:
      type: object
      properties:
        sipUsernameLine1:
          type: string
        sipUsernameLine2:
          type: string
        sipPassword:
          type: string
    Node:
      type: object
      properties:
        id:
          type: string
          format: uuid
          example: ed41b6ee-6e00-40d1-b159-508d283c4495
        authToken:
          type: string
          format: uuid
          description: Token used to obtain edge node file from external endpoint
        displayName:
          type: string
          example: company12
        proxyAddress:
          type: string
        partitionId:
          type: string
        default:
          type: boolean
          description: Default node for partition
      required:
        - displayName
        - proxyAddress
        - partitionId
    NodeQueryResult:
      type: object
      properties:
        pageSize:
          type: integer
          example: 1
        pageNum:
          type: integer
          example: 0
        entities:
          type: array
          items:
            $ref: '#/components/schemas/Node'
        count:
          type: integer
          example: 1
    NodeUpsert:
      type: object
      properties:
        displayName:
          type: string
          example: company12
        proxyAddress:
          type: string
        partitionId:
          type: string
        default:
          type: boolean
          description: Default node for partition
        resetAuthToken:
          type: boolean
          description: Generate a new authToken
      required:
        - displayName
        - proxyAddress
        - partitionId
    NodeAssignment:
      type: object
      properties:
        id:
          type: string
          description: Node assignment Id
          example: 67b7ace2-f4a1-4b6d-8d25-411bb612b946
        edgeNodeId:
          type: string
          description: Id of Edge Node
          example: 67b7ace2-f4a1-4b6d-8d25-411bb612b946
        deviceId:
          type: string
          description: Id of the device
        proxyAddress:
          type: string
    NodeAssignmentQueryResult:
      type: object
      properties:
        pageSize:
          type: integer
          example: 1
        pageNum:
          type: integer
          example: 1
        entities:
          type: array
          items:
            $ref: '#/components/schemas/NodeAssignment'
        count:
          type: integer
          example: 1
    NodeAssignmentUpsert:
      type: object
      properties:
        id:
          type: string
          description: Node assignment Id
          example: 67b7ace2-f4a1-4b6d-8d25-411bb612b946
        edgeNodeId:
          type: string
          description: Id of Edge Node
          example: 67b7ace2-f4a1-4b6d-8d25-411bb612b946
        deviceId:
          type: string
          description: Id of the device
    JobUpload:
      type: object
      properties:
        url:
          type: string
        key:
          type: string
      xml:
        name: upload
    JobOutputUrl:
      type: object
      properties:
        url:
          type: string
    LanguageX:
      type: object
      properties:
        prefLang:
          type: string
    M2MTokenResponse:
      type: object
      description: Response containing the issued M2M access token.
      properties:
        jwt:
          type: string
          description: The M2M access token (JWT) to be forwarded in API requests.
        tokenType:
          type: string
          description: Token type. Always 'Bearer'.
          example: Bearer
        ttl:
          type: integer
          format: int64
          description: Time-to-live of the token in seconds.
          example: 86400
      required:
        - jwt
        - tokenType
        - ttl
    DialPlanRuleX:
      type: object
      properties:
        partitionId:
          type: string
        mask:
          type: string
        actionType:
          type: string
          enum:
            - TranslateAndReapplyDialPlan
            - CallOutboundNumber
            - CallCustomerServiceHuntGroup
            - Callback
            - CallForwardingAlways
            - CallForwardingOnBusy
            - CallForwardingOnNoAnswer
            - CallForwardingOnUnregistered
            - CallNonEmergencyServices
            - CallPublicServices
            - CallCanadaHealthServices
            - CallerIdBlockManage
            - EnterVoiceMail
            - DirectToVoicemail
            - CallWaitingEnable
            - CallWaitingDisable
            - AnonymousCallRejectEnable
            - AnonymousCallRejectDisable
            - AnonymousCallRejectWithInterceptEnable
            - AnonymousCallRejectWithInterceptDisable
            - SelectiveCallAcceptEnable
            - SelectiveCallAcceptDisable
            - SpecificCallerBlock
            - SpecificCallerBlockWithIntercept
            - SpecificCallerAllow
            - SpecificCallerVipRing
            - SpecificCallerForwardEnable
            - AccountAnonymousCallRejectEnable
            - AccountAnonymousCallRejectDisable
            - AccountAnonymousCallRejectWithInterceptEnable
            - AccountAnonymousCallRejectWithInterceptDisable
            - AccountSelectiveCallAcceptEnable
            - AccountSelectiveCallAcceptDisable
            - AccountSpecificCallerBlock
            - AccountSpecificCallerAllow
            - AccountSpecificCallerBlockWithIntercept
            - DoNotDisturbEnable
            - DoNotDisturbDisable
            - PickupInDirectory
            - CallTrace
            - ParkCall
            - ParkCallRetrieval
            - DirectedCallPickUp
            - GroupPickup
            - ReservedForHuntGroup
            - GroupForwarding
            - CallPull
            - GroupLoginLogout
        callNumber:
          type: string
        endingMinimumLength:
          type: integer
          format: int32
        endingMaximumLength:
          type: integer
          format: int32
        translationMacro:
          type: string
        disableCallerId:
          type: boolean
        callerIdVisibilityOverride:
          type: string
          enum:
            - UseDestinationCallerIdEnabledSetting
            - Blocked
            - Unblocked
        disableCallWaiting:
          type: boolean
        overwriteCallerIdNumber:
          type: string
        bypassAuthorization:
          type: boolean
        outboundNumberFunction:
          type: string
          enum:
            - CUSTOMER_SERVICE
            - DIRECTORY_ASSISTANCE
            - EMERGENCY_SERVICES
            - ESSENTIAL_COMMUNITY_SERVICES
            - NONURGENT_MUNICIPAL_GOVERNMENT_SERVICES
            - NONURGENT_TELEHEALTH_SERVICES
            - OPERATOR
            - SPEED_DIAL
            - TELECOMMUNICATIONS_RELAY_SERVICE
            - TRAFFIC_INFORMATION
            - UNDERGROUND_PUBLIC_UTILITY_LOCATION
        breakTranslation:
          type: boolean
        id:
          type: string
    PartitionX:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        status:
          type: string
          enum:
            - ACTIVE
            - ARCHIVED
            - HIDDEN
        customerServiceNumber:
          type: string
        parentId:
          type: string
        useAccountNumberDefault:
          type: boolean
        bypassVoicemailPINValidationFromDevice:
          type: boolean
        billingCode:
          type: string
        country:
          type: string
        languageTag:
          type: string
        reorderNotifications:
          type: array
          items:
            type: string
        subPartitionIds:
          type: array
          items:
            type: string
          uniqueItems: true
        useOwnCarrier:
          type: boolean
        availableInboundCarrierId:
          type: array
          items:
            type: string
        defaultRoutePlanId:
          type: string
          format: uuid
        tnDeleteCooldownDays:
          type: integer
          format: int32
        defaultTimeZone:
          type: string
          enum:
            - US/Samoa
            - US/Hawaii
            - US/Alaska
            - US/Pacific
            - US/Arizona
            - US/Mountain
            - US/Central
            - US/Eastern
            - America/St_Thomas
            - Canada/Pacific
            - Canada/Mountain
            - Canada/Central
            - Canada/Eastern
            - Canada/Atlantic
            - Canada/Newfoundland
        tempTnThreshold:
          type: integer
          format: int32
        serviceDialPlanRules:
          type: array
          items:
            $ref: '#/components/schemas/DialPlanRuleX'
        mediaFriends:
          $ref: '#/components/schemas/MediaFriendsX'
        defaultSimpleDialingBehaviorType:
          type: string
          enum:
            - SEVEN_DIGIT
            - TEN_DIGIT
            - OPEN_DIAL_PLAN
            - DIAL_NINE_SEVEN_DIGIT
            - DIAL_NINE_TEN_DIGIT
            - OPEN_DIAL_PLAN_TEN_DIGIT
        defaultAdvancedDialingBehaviorType:
          type: string
          enum:
            - SEVEN_DIGIT
            - TEN_DIGIT
            - OPEN_DIAL_PLAN
            - DIAL_NINE_SEVEN_DIGIT
            - DIAL_NINE_TEN_DIGIT
            - OPEN_DIAL_PLAN_TEN_DIGIT
        defaultDirectoryListingType:
          type: string
          enum:
            - ERROR
            - LIST_PUBLISH
            - LIST_NOT_PUBLISH
            - NOT_LIST_NOT_PUBLISH
            - PORTED
            - COMPLEX
        portPushDays:
          type: integer
          format: int32
        allowedDeviceTypes:
          type: array
          items:
            type: string
        defaultHoldTimeoutSeconds:
          type: integer
          format: int32
        allowLoginByAccountNumber:
          type: boolean
        requiresDeviceInventory:
          type: boolean
        usesTrammellE911Verification:
          type: boolean
        showComplexListing:
          type: boolean
        defaultExtensionLength:
          type: integer
          format: int32
        autoAssignCallerId:
          type: boolean
        byotnCarrierId:
          type: string
        fraudAlertNotifications:
          type: array
          items:
            type: string
    Account:
      type: object
      properties:
        id:
          type: string
          description: Required to update an account, not required for new account
        partitionId:
          type: string
          description: A partitionId identifies the business entity that this account is a part of.  Refers to <a href="#/~schema/PartitionX">partition.id</a>
        accountNumber:
          type: string
          minLength: 3
          maxLength: 256
          description: The accountNumber is a string that uniquely identifies the account within a partition. AccountNumbers can be used to search for an account.
        accountName:
          type: string
          minLength: 3
          maxLength: 256
          description: The account name is a string that describes the account. The accountName is a field that can be used to identify the account in a search, though it is not required to be unique.
        billingCycleDay:
          type: integer
          format: int32
          minimum: 1
          maximum: 28
          description: The day that marks the start of a billing cycle. Must be between 1 and 28.
        customField:
          type: string
          minLength: 3
          maxLength: 256
          description: Can be used to store generic data for the account.
        status:
          type: string
          description: The status of the account within Alianza's system.  Must be one of [ACTIVE,DISABLED,DELETED,DELETE_PENDING,SUSPENDED,PENDING]
          enum:
            - ACTIVE
            - DISABLED
            - DELETED
            - DELETE_PENDING
            - SUSPENDED
            - PENDING
        timeZone:
          type: string
          description: The IANA Time Zone Database (TZDB) zone id for the account.  Must be a timezone for an area within Alianza's supported regions.
          enum:
            - US/Samoa
            - US/Hawaii
            - US/Alaska
            - US/Pacific
            - US/Arizona
            - US/Mountain
            - US/Central
            - US/Eastern
            - America/St_Thomas
            - Canada/Pacific
            - Canada/Mountain
            - Canada/Central
            - Canada/Eastern
            - Canada/Atlantic
            - Canada/Newfoundland
        languageTag:
          type: string
        deletionDate:
          type: string
          format: date-time
          description: ISO 8601 formatted date string of when the account was deleted. This is a deprecated field as deleted accounts are no longer retained.  This field is present for backwards compatibility with old data.
        accountType:
          type: string
          description: The account type indicates whether the account supports only a single user (SIMPLE) or multiple users (ADVANCED).
          enum:
            - SIMPLE
            - ADVANCED
        platformType:
          type: string
          description: The platform type indicates the features that are supported for the account. CPE1 supports the basic telephone features while CPE2 supports the business cloud communication features. PlatformTypes of V1_0 and V2_0 are deprecated and only present for backwards compatibility.
          enum:
            - V2_0
            - V2_1
            - CPE1
            - CPE2
        platformChangeDate:
          type: string
          format: date-time
        inboundRatePlanProductId:
          type: string
          description: Identifies the inbound rate plan product for the account.  This plan controls how toll free numbers are handled in the account. This field is only required for accounts with toll-free numbers.
        extensionLength:
          type: integer
          format: int32
          minimum: 3
          maximum: 6
          description: Length of extension, not required for accounts with a SIMPLE accountType.
        dialingBehaviorType:
          type: string
          description: Defines how a user would be required to dial in order to place a call. For example, being required to dial 9 before placing a call.
          enum:
            - SEVEN_DIGIT
            - TEN_DIGIT
            - OPEN_DIAL_PLAN
            - DIAL_NINE_SEVEN_DIGIT
            - DIAL_NINE_TEN_DIGIT
            - OPEN_DIAL_PLAN_TEN_DIGIT
        routePlanId:
          type: string
          format: uuid
          description: UUID of the route plan for this account. Route plans determine where outbound calls are routed and are created for a partition by Alianza. The routePlanId must be one that is available on the account's partition. All users on an account will share the same outbound route plan.
        callScreeningSettings:
          $ref: '#/components/schemas/CallScreeningSettingsX'
        holdMusicMediaId:
          type: string
          description: Id of the music file to be played when an inbound call is placed on hold.
        holdTimeoutSeconds:
          type: integer
          format: int32
          minimum: 30
          maximum: 600
          description: Time in seconds before a call that has been placed on hold will be terminated. Does not apply to CPE1 platformTypes.
        allowDangerousExtensions:
          type: boolean
          description: Allows extensions starting with 1
        domain:
          type: string
          description: Overrides the partition default branding which is used in the display of end user emails and the end user portal.
        sendWelcomeEmail:
          type: boolean
          description: Specifies if new users added to the account will receive a welcome email.
        regulatoryType:
          type: string
          enum:
            - RESIDENTIAL
            - COMMERCIAL
            - GOVERNMENT
        endUserCount:
          type: integer
          format: int64
          description: Indicates the number of end users associated with this account.
        customHoldMusicMediaId:
          type: string
        callingPlans:
          type: array
          items:
            $ref: '#/components/schemas/CallingPlanX'
          xml:
            wrapped: true
      required:
        - accountName
        - accountNumber
        - accountType
        - billingCycleDay
        - dialingBehaviorType
        - extensionLength
        - id
        - partitionId
        - regulatoryType
        - status
        - timeZone
    AccountHistoryX:
      type: object
      properties:
        id:
          type: string
        accountId:
          type: string
        accountNumber:
          type: string
        oldValue:
          type: string
        newValue:
          type: string
        userName:
          type: string
        userId:
          type: string
        userType:
          type: string
          enum:
            - AccountUser
            - EndUser
            - ManagementUser
            - AlianzaUser
            - BusinessLines
        partitionName:
          type: string
        accountHistoryType:
          type: string
          enum:
            - PHONE_NUMBER
            - PROVISIONING
            - CALL_FORWARDING
            - CALL_SCREENING
            - ADDRESS
            - ADDRESS_CSR
            - ADDRESS_E911
            - ADDRESS_DIRECTORY_LISTING
            - ACCOUNT_STATUS
            - VOICEMAIL
            - CALLING_PLAN
            - INBOUND_CALLING_PLAN
            - IVR
            - SIP_TRUNK
            - SIP_TRUNK_FORWARD
            - SIP_TRUNK_GROUP
            - DEVICE
            - DEVICE_METADATA
            - USER
            - USER_API_AUTH
            - LINE_HUNTGROUP
            - ACCOUNT
            - LINE_APPEARANCE
            - LINE_HARDWARE
            - VFAX
            - PAGING_GROUP
            - PICKUP_GROUP
            - GROUP_OF_REFERENCES
            - CALL_PARKING_SPOT
            - ACCOUNT_USER
            - SIP_CREDENTIALS
            - BUSINESS_LINE
            - BUSINESS_LINE_HUNT_GROUP
            - CALL_GROUP
            - CALL_QUEUE
            - USER_DEVICE_LINE
            - EMERGENCY_NOTIFICATION
            - DYNAMIC_RESERVATION
            - SPECIALTY_LINE
            - AUTHORITY
            - AUTO_ATTENDANT
            - CONTACT
            - CONTACT_CENTER
            - CALL_RECORDING
            - ACCOUNT_CODE
            - SHORT_CODE
            - MEDIA_MANAGEMENT
            - SOUNDS
            - USER_GROUP
        loggedDate:
          type: string
          format: date-time
        referenceType:
          type: string
          enum:
            - Account
            - LineAppearance
            - LineHuntGroup
            - SipTrunk
            - SipTrunkForward
            - Device
            - Telephone
            - IVR
            - EndUser
            - VFax
            - VoicemailBox
            - PagingGroup
            - GroupOfReferences
            - PickupGroup
            - CallParkingSpot
            - AccountUser
            - SIP_CREDENTIALS
            - BUSINESS_LINE
            - BUSINESS_LINE_HUNT_GROUP
            - CALL_GROUP
            - CALL_QUEUE
            - USER_DEVICE_LINE
            - SIP_TRUNK
            - SIP_TRUNK_GROUP
            - EMERGENCY_NOTIFICATION_COMPLIANCE
            - DYNAMIC_RESERVATION
            - SPECIALTY_LINE
            - AUTHORITY_ROLE
            - AUTO_ATTENDANT
            - END_USER_CONTACT
            - CUSTOM_CONTACT
            - CONTACT_CENTER
            - CALL_RECORDING
            - ACCOUNT_CODE
            - SHORT_CODE
            - MEDIA_MANAGEMENT
            - SOUNDS
            - USER_GROUP
            - USER_API_AUTH
        referenceId:
          type: string
        referenceName:
          type: string
        action:
          type: string
          enum:
            - CREATE
            - UPDATE
            - PROVISION_REQUEST
            - DELETE
    AccountHistorySearchResponseX:
      type: object
      properties:
        totalRecords:
          type: integer
          format: int64
        accountCreatedDate:
          type: string
          format: date-time
        accountLastUpdatedDate:
          type: string
          format: date-time
        results:
          type: array
          items:
            $ref: '#/components/schemas/AccountHistoryX'
    ProvisioningRequestX:
      type: object
      properties:
        id:
          type: string
          description: The 48-bit hexadecimal address assigned to the device by the manufacturer.
        requestDate:
          type: string
          format: date-time
          description: The ISO 8601 formatted date string indicating when the device last tried to retrieve provisioning data.
        httpStatus:
          type: integer
          format: int32
          description: The http status of the device's most recent request for provisioning.
        deviceId:
          type: string
          description: DeviceId, reference to <a href="#/~schema/DeviceX">device.id</a>
        ipAddress:
          type: string
        userAgent:
          type: string
          description: The user agent that was used to retrieve the provisioning data.
    LatLongCustomerServiceRecordX:
      type: object
      properties:
        id:
          type: string
        firstName:
          type: string
          minLength: 3
          maxLength: 256
        middleInitial:
          type: string
          minLength: 3
          maxLength: 256
        lastName:
          type: string
          minLength: 3
          maxLength: 256
        businessName:
          type: string
          minLength: 3
          maxLength: 256
        streetNumber:
          type: string
          minLength: 3
          maxLength: 256
        streetNumberSuffix:
          type: string
          minLength: 3
          maxLength: 256
        preDirectional:
          type: string
          enum:
            - ''
            - 'N'
            - NE
            - E
            - SE
            - S
            - SW
            - W
            - NW
        streetName:
          type: string
          minLength: 3
          maxLength: 256
        streetSuffix:
          type: string
          minLength: 3
          maxLength: 256
        postDirectional:
          type: string
          enum:
            - ''
            - 'N'
            - NE
            - E
            - SE
            - S
            - SW
            - W
            - NW
        city:
          type: string
          minLength: 3
          maxLength: 256
        state:
          type: string
          minLength: 3
          maxLength: 256
        country:
          type: string
          minLength: 3
          maxLength: 256
        postalCode:
          type: string
          minLength: 3
          maxLength: 256
        secondaryLocationDescription:
          type: string
          enum:
            - ''
            - APARTMENT
            - BUILDING
            - BASEMENT
            - DEPARTMENT
            - FLOOR
            - FRONT
            - HANGER
            - KEY
            - LOBBY
            - LOT
            - LOWER
            - OFFICE
            - PENTHOUSE
            - PIER
            - REAR
            - ROOM
            - SIDE
            - SLIP
            - SPACE
            - SUITE
            - STOP
            - TRAILER
            - UNIT
            - UPPER
        unit:
          type: string
          minLength: 0
          maxLength: 10
        customerType:
          type: string
          enum:
            - BUSINESS
            - RESIDENTIAL
        firstNameSecondary:
          type: string
          minLength: 3
          maxLength: 256
        blockCustomerName:
          type: boolean
        customerName:
          type: string
          minLength: 3
          maxLength: 256
        latitude:
          type: number
          format: double
        longitude:
          type: number
          format: double
    TelephoneNumberAccountBareX:
      type: object
      properties:
        phoneNumber:
          type: string
        referenceType:
          type: string
          enum:
            - SIP_TRUNK
            - END_USER
            - IVR
            - LINE_APPEARANCE
            - LINE_HUNTGROUP
            - TELEPHONE
            - VFAX
            - BUSINESS_LINE
            - BUSINESS_LINE_HUNT_GROUP
            - CALL_GROUP
            - CALL_QUEUE
            - AUTO_ATTENDANT
            - SPECIALTY_LINE
            - CONTACT_CENTER
        referenceId:
          type: string
        functionType:
          type: string
          enum:
            - ELS
            - TollFree
            - TemporaryNumber
            - SPTN
        canAcceptSMS:
          type: boolean
        operationalStatus:
          type: string
          enum:
            - ACTIVE
            - STAGED
        portId:
          type: string
        servicePackageType:
          type: string
          enum:
            - Usage
            - PrimaryLocalFlatRate
            - PrimaryLocalAndDomesticLDFlatRate
            - SecondaryLocalFlatRate
            - SecondaryLocalAndDomesticLDFlatRate
        tollFree:
          type: boolean
        id:
          type: string
        tags:
          type: array
          items:
            type: string
          description: Optional tags for categorizing the telephone number (e.g., location, service type). Tags are stored as attributes in the Attribute Service. Format is lowercase with hyphens replacing spaces. Maximum 10 tags per number.
    FileDataBase64X:
      type: object
      properties:
        contentType:
          type: string
        name:
          type: string
        contentBase64:
          type: string
    SmsActionX:
      type: string
      enum:
        - CHANGE_CAMPAIGN
        - DISABLE
        - ENABLE
        - PORT_COMPLETED
    SmsSettingsX:
      type: object
      properties:
        smsLoaDocumentVersionId:
          type: string
        updatedAt:
          type: string
          format: date-time
        campaignId:
          type: string
        smsLoa:
          $ref: '#/components/schemas/FileDataBase64X'
        enableSMS:
          type: boolean
        createdAt:
          type: string
          format: date-time
        authorizingPerson:
          type: string
        smsAction:
          $ref: '#/components/schemas/SmsActionX'
        smsCarrierId:
          type: string
        campaignName:
          type: string
        remoteCampaignId:
          type: string
    DynamicTelephoneNumberActivationX:
      type: object
      properties:
        partitionId:
          type: string
        accountId:
          type: string
        carrierId:
          type: string
        orderId:
          type: string
        tnQuantity:
          type: integer
          format: int32
        deviceId:
          type: string
        userId:
          type: string
        customerServiceRecord:
          $ref: '#/components/schemas/LatLongCustomerServiceRecordX'
        directoryListing:
          $ref: '#/components/schemas/DirectoryListingX'
        e911Address:
          $ref: '#/components/schemas/E911AddressX'
        tnSettings:
          $ref: '#/components/schemas/TelephoneNumberAccountBareX'
          required: true
        ringType:
          type: string
          enum:
            - StandardRing
            - Ring1
            - Ring2
            - Ring3
            - Ring4
            - Ring5
            - Ring6
            - Ring7
        archived:
          type: boolean
        alianzaOrderId:
          type: string
        smsSettings:
          $ref: '#/components/schemas/SmsSettingsX'
        id:
          type: string
    TnData:
      type: object
      properties:
        tn:
          type: string
        rateCenter:
          type: string
        wireless:
          type: boolean
    TelecomSettingsX:
      type: object
      properties:
        notes:
          type: string
        currentCarrier:
          type: string
        currentCarrierName:
          type: string
        localReseller:
          type: string
        loaDate:
          type: string
          format: date-time
        disconnectInternetService:
          type: boolean
        disconnectTelevisionService:
          type: boolean
        tnData:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/TnData'
    PortX:
      type: object
      properties:
        id:
          type: string
        partitionId:
          type: string
        accountId:
          type: string
        telephoneNumbers:
          type: array
          items:
            type: string
            xml:
              name: telephoneNumber
          xml:
            wrapped: true
        status:
          type: string
          enum:
            - ACTIVE
            - ACTIVATION_ON_HOLD
            - ACTIVATION_PENDING
            - PORT_PENDING
            - CANCEL_PORT
            - CANCEL_PORT_EXPIDITED
            - DELETE_PENDING
            - DELETED
            - CANCEL_PORT_COMPLETE
            - PORT_REJECTED
            - INVENTORY
            - INVENTORY_CLAIMED
            - COOLDOWN
            - RECOVERED
        sendLoa:
          type: boolean
        loaSaved:
          type: boolean
        carrierId:
          type: string
        carrierType:
          type: string
          enum:
            - LEVEL_3
            - NO_API
            - E911
            - TELUS
            - TELUS_API
            - TELUS_ONEVOICE
            - PROVTEL
            - VERIZON_CARIANZA
            - ONVOY_CARIANZA
            - LEVEL3_CARIANZA
            - BANDWIDTH
            - LUMEN_IMS
            - LUMEN_VOICE_LI_ELS
            - SINCH
            - SERVICE_PROVIDER_CARRIER
        customerServiceRecord:
          $ref: '#/components/schemas/CustomerServiceRecordX'
        crdDate:
          type: string
          format: date-time
        billingTelephoneNumber:
          type: string
        portingWireType:
          type: string
          enum:
            - Wireless
            - Wireline
        portingAuthorizedName:
          type: string
        wirelessAccountNumber:
          type: string
        wirelessPin:
          type: string
          maxLength: 15
        focDate:
          type: string
          format: date-time
        focDateTimeZone:
          type: string
          enum:
            - US/Samoa
            - US/Hawaii
            - US/Alaska
            - US/Pacific
            - US/Arizona
            - US/Mountain
            - US/Central
            - US/Eastern
            - America/St_Thomas
            - Canada/Pacific
            - Canada/Mountain
            - Canada/Central
            - Canada/Eastern
            - Canada/Atlantic
            - Canada/Newfoundland
        createdDate:
          type: string
          format: date-time
        completedDate:
          type: string
          format: date-time
        cancelType:
          type: string
          enum:
            - NORMAL
            - EXPIDITED
            - BY_CARRIER
        telecomSettings:
          $ref: '#/components/schemas/TelecomSettingsX'
        hotCutPortId:
          type: string
        portNow:
          type: boolean
        canAcceptSMS:
          type: boolean
        smsCallbackUrl:
          type: string
        smsSettings:
          $ref: '#/components/schemas/SmsSettingsX'
        tags:
          type: array
          uniqueItems: true
          items:
            type: string
    AccountActivationV2X:
      type: object
      properties:
        device:
          $ref: '#/components/schemas/DeviceX'
        user:
          $ref: '#/components/schemas/EndUserV2X'
        telephoneNumberAccount:
          $ref: '#/components/schemas/TelephoneNumberAccountV2X'
        dynamicTelephoneNumberActivation:
          $ref: '#/components/schemas/DynamicTelephoneNumberActivationX'
        port:
          $ref: '#/components/schemas/PortX'
        holdActivation:
          type: boolean
        account:
          $ref: '#/components/schemas/Account'
    EndUserWithMultipleTnActivationX:
      type: object
      description: End user with multiple telephone number activation options
      properties:
        user:
          $ref: '#/components/schemas/EndUserV2X'
        telephoneNumberAccounts:
          type: array
          description: Existing telephone numbers to assign to the user
          items:
            $ref: '#/components/schemas/TelephoneNumberAccountV2X'
        dynamicTelephoneNumberActivations:
          type: array
          description: New telephone numbers to provision from carrier
          items:
            $ref: '#/components/schemas/DynamicTelephoneNumberActivationX'
        ports:
          type: array
          description: Port-in requests for existing numbers
          items:
            $ref: '#/components/schemas/PortX'
        holdActivation:
          type: boolean
          description: Hold activation until ready
      required:
        - user
        - holdActivation
    MultipleActivationX:
      type: object
      description: Root object for activating multiple end users with telephone numbers in a single request
      properties:
        account:
          $ref: '#/components/schemas/Account'
        endUsers:
          type: array
          description: List of end users with telephone number activations (max 2)
          maxItems: 2
          items:
            $ref: '#/components/schemas/EndUserWithMultipleTnActivationX'
      required:
        - account
    L3SettingsX:
      type: object
      properties:
        servicePackage:
          type: string
          enum:
            - Usage
            - PrimaryLocalFlatRate
            - PrimaryLocalAndDomesticLDFlatRate
            - SecondaryLocalFlatRate
            - SecondaryLocalAndDomesticLDFlatRate
        availableServicePackages:
          type: array
          items:
            type: string
            enum:
              - Usage
              - PrimaryLocalFlatRate
              - PrimaryLocalAndDomesticLDFlatRate
              - SecondaryLocalFlatRate
              - SecondaryLocalAndDomesticLDFlatRate
        seasonalSuspendServicePackage:
          type: string
          enum:
            - Usage
            - PrimaryLocalFlatRate
            - PrimaryLocalAndDomesticLDFlatRate
            - SecondaryLocalFlatRate
            - SecondaryLocalAndDomesticLDFlatRate
        b2BPartnerID:
          type: string
        customerServiceName:
          type: string
        bizOrg:
          type: string
        parentBizOrg:
          type: string
    TelephoneNumberActivationsV2X:
      type: object
      properties:
        partitionId:
          type: string
        accountId:
          type: string
        port:
          $ref: '#/components/schemas/PortX'
        l3Settings:
          $ref: '#/components/schemas/L3SettingsX'
        customerServiceRecord:
          $ref: '#/components/schemas/CustomerServiceRecordX'
        directoryListing:
          $ref: '#/components/schemas/DirectoryListingX'
        e911Address:
          $ref: '#/components/schemas/E911AddressX'
        holdActivation:
          type: boolean
          description: Use this when activating phone numbers to prevent carrier activation until a later date
        telephoneNumbers:
          type: array
          items:
            $ref: '#/components/schemas/TelephoneNumberAccountBareX'
          xml:
            wrapped: true
        byotnCarrierId:
          type: string
        smsSettings:
          $ref: '#/components/schemas/SmsSettingsX'
        id:
          type: string
    E911PrevalidateResponseX:
      type: object
      properties:
        valid:
          type: string
          enum:
            - VALID
            - INVALID
            - UNKNOWN
        errors:
          type: array
          items:
            type: string
        addressAlternatives:
          type: array
          items:
            $ref: '#/components/schemas/AddressX'
        address:
          $ref: '#/components/schemas/AddressX'
    AccountViewX:
      type: object
      properties:
        partitionId:
          type: string
        id:
          type: string
        accountNumber:
          type: string
        accountName:
          type: string
        type:
          type: string
          enum:
            - SIMPLE
            - ADVANCED
        accountStatus:
          type: string
          enum:
            - ACTIVE
            - DISABLED
            - DELETED
            - DELETE_PENDING
            - SUSPENDED
            - PENDING
        platformType:
          type: string
          enum:
            - V2_0
            - V2_1
            - CPE1
            - CPE2
        platformChangeDate:
          type: integer
          format: int64
        matches:
          type: object
          additionalProperties:
            type: string
    PortAvailabilityResponseV2X:
      type: object
      properties:
        id:
          type: string
        businessPartnerTicketID:
          type: string
        carrierTicketId:
          type: string
        requestedActivation:
          $ref: '#/components/schemas/TelephoneNumberActivationsV2X'
        serviceAvailable:
          type: boolean
        carrierType:
          type: string
          enum:
            - LEVEL_3
            - NO_API
            - E911
            - TELUS
            - TELUS_API
            - TELUS_ONEVOICE
            - PROVTEL
            - VERIZON_CARIANZA
            - ONVOY_CARIANZA
            - LEVEL3_CARIANZA
            - BANDWIDTH
            - LUMEN_IMS
            - LUMEN_VOICE_LI_ELS
            - SINCH
            - SERVICE_PROVIDER_CARRIER
        earliestCRD:
          type: string
          format: date
        latestCRD:
          type: string
          format: date
        availabilityList:
          type: array
          items:
            type: string
            format: date
        resultCSRs:
          type: array
          items:
            $ref: '#/components/schemas/CustomerServiceRecordX'
        exception:
          type: string
        thirdPartyResultCode:
          type: string
        thirdPartyResultContext:
          type: string
        thirdPartyResultMessage:
          type: string
        directoryListingAllowed:
          type: boolean
        lnp:
          type: boolean
        wirelessPort:
          type: boolean
    ApiSingleException:
      type: object
      properties:
        code:
          type: integer
        message:
          type: string
    BusinessLine:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
        callerIdPhoneNumber:
          type: string
          pattern: \d+
        callerIdVisible:
          type: boolean
        emergencyCallbackPhoneNumber:
          type: string
          pattern: \d+
        accountId:
          type: string
        partitionId:
          type: string
        callerIdName:
          type: string
      required:
        - accountId
        - name
        - partitionId
    RingFailoverAction:
      type: object
      required:
        - '@type'
      properties:
        '@type':
          $ref: '#/components/schemas/RingFailoverActionType'
      discriminator:
        propertyName: '@type'
        mapping:
          BusyRingFailoverAction: '#/components/schemas/BusyRingFailoverAction'
          ForwardRingFailoverAction: '#/components/schemas/ForwardRingFailoverAction'
          VoicemailRingFailoverAction: '#/components/schemas/VoicemailRingFailoverAction'
    BusyRingFailoverAction:
      type: object
      allOf:
        - $ref: '#/components/schemas/RingFailoverAction'
      properties:
        _codegenDiscriminatorAnchor:
          type: string
          nullable: true
          description: DO NOT USE. Synthetic placeholder, not part of the API contract. OpenAPI Generator (gson) only flattens inherited parent fields (incl. the discriminator '@type') into a subtype's openapiFields set when that subtype declares at least one property of its own. With zero own properties, openapiFields is generated empty and the validateJsonElement reject loop wrongly rejects '@type'. This field forces the subtype down the composed-with-vars codegen branch so '@type' is inherited into openapiFields. Never set, read, or serialize this field. Remove if the generator no longer exhibits this behavior.
    ForwardRingFailoverAction:
      type: object
      allOf:
        - $ref: '#/components/schemas/RingFailoverAction'
      required:
        - forwardToPhoneNumber
      properties:
        forwardToPhoneNumber:
          type: string
          pattern: \d+
    VoicemailRingFailoverAction:
      type: object
      allOf:
        - $ref: '#/components/schemas/RingFailoverAction'
      properties:
        _codegenDiscriminatorAnchor:
          type: string
          nullable: true
          description: DO NOT USE. Synthetic placeholder, not part of the API contract. OpenAPI Generator (gson) only flattens inherited parent fields (incl. the discriminator '@type') into a subtype's openapiFields set when that subtype declares at least one property of its own. With zero own properties, openapiFields is generated empty and the validateJsonElement reject loop wrongly rejects '@type'. This field forces the subtype down the composed-with-vars codegen branch so '@type' is inherited into openapiFields. Never set, read, or serialize this field. Remove if the generator no longer exhibits this behavior.
    RingFailoverActionType:
      type: string
      enum:
        - VoicemailRingFailoverAction
        - BusyRingFailoverAction
        - ForwardRingFailoverAction
    RingTimeoutConfiguration:
      type: object
      required:
        - '@type'
      properties:
        '@type':
          $ref: '#/components/schemas/RingTimeoutConfigurationType'
      discriminator:
        propertyName: '@type'
        mapping:
          LimitedRingTimeoutConfiguration: '#/components/schemas/LimitedRingTimeoutConfiguration'
          UnlimitedRingTimeoutConfiguration: '#/components/schemas/UnlimitedRingTimeoutConfiguration'
    LimitedRingTimeoutConfiguration:
      allOf:
        - $ref: '#/components/schemas/RingTimeoutConfiguration'
        - required:
            - noAnswerAction
          type: object
          properties:
            timeoutSeconds:
              type: integer
              format: int32
            noAnswerAction:
              $ref: '#/components/schemas/RingFailoverAction'
    UnlimitedRingTimeoutConfiguration:
      allOf:
        - $ref: '#/components/schemas/RingTimeoutConfiguration'
        - type: object
          properties:
            _codegenDiscriminatorAnchor:
              type: string
              nullable: true
              description: DO NOT USE. Synthetic placeholder, not part of the API contract. OpenAPI Generator (gson) only flattens inherited parent fields (incl. the discriminator '@type') into a subtype's openapiFields set when that subtype declares at least one property of its own. With zero own properties, openapiFields is generated empty and the validateJsonElement reject loop wrongly rejects '@type'. This field forces the subtype down the composed-with-vars codegen branch so '@type' is inherited into openapiFields. Never set, read, or serialize this field. Remove if the generator no longer exhibits this behavior.
    RingTimeoutConfigurationType:
      type: string
      enum:
        - LimitedRingTimeoutConfiguration
        - UnlimitedRingTimeoutConfiguration
    CallHandlingView:
      type: object
      properties:
        activeCallHandling:
          type: string
          enum:
            - RING_LINE
            - FORWARD
        callWaitingEnabled:
          type: boolean
        busyFailoverAction:
          $ref: '#/components/schemas/RingFailoverAction'
        unregisteredFailoverAction:
          $ref: '#/components/schemas/RingFailoverAction'
        ringTimeoutConfiguration:
          $ref: '#/components/schemas/RingTimeoutConfiguration'
        forwardToPhoneNumber:
          type: string
        voicemailBoxId:
          type: string
    SipCredentialsView:
      type: object
      properties:
        sipUsername:
          type: string
    PortAssignmentView:
      type: object
      properties:
        deviceTypeId:
          type: string
        macAddress:
          type: string
        portNumber:
          type: integer
          format: int32
        faxEnabled:
          type: boolean
    BusinessLineExpandedView:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
        cname:
          type: string
        callerIdPhoneNumber:
          type: string
        callerIdVisible:
          type: boolean
        emergencyCallbackPhoneNumber:
          type: string
        accountId:
          type: string
        partitionId:
          type: string
        callHandling:
          $ref: '#/components/schemas/CallHandlingView'
        sipCredentials:
          $ref: '#/components/schemas/SipCredentialsView'
        device:
          $ref: '#/components/schemas/PortAssignmentView'
    VoicemailMessage:
      type: object
      properties:
        storageId:
          type: string
          format: uuid
        voicemailBoxId:
          type: string
        createdDate:
          type: integer
          format: int64
        fromName:
          type: string
        fromAddress:
          type: string
        lengthInSeconds:
          type: integer
          format: int32
        read:
          type: boolean
        toPhoneNumber:
          type: string
        storageStatus:
          type: string
        sizeInBytes:
          type: integer
          format: int64
    VoicemailBox:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        partitionId:
          type: string
        accountId:
          type: string
        forwardMessageToEmailAddresses:
          type: array
          items:
            type: string
        forwardMessageToEmailEnabled:
          type: boolean
        shouldKeepMessageAfterForward:
          type: boolean
        locale:
          type: string
          pattern: en-US|fr-CA|es-MX
        greetings:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/VoicemailMessage'
        messageTranscriptionEnabled:
          type: boolean
        transcriptionToSmsPhoneNumbers:
          type: array
          items:
            type: string
      required:
        - accountId
        - name
        - partitionId
    BulkVoicemailAction:
      type: object
      properties:
        actionType:
          type: string
          enum:
            - DELETE
            - MARK_AS_READ
            - MARK_AS_UNREAD
        messageIds:
          type: array
          items:
            type: string
            format: uuid
      required:
        - actionType
    ReadMessage:
      type: object
      properties:
        markAsRead:
          type: boolean
    PinStatusResponse:
      type: object
      properties:
        lockedOut:
          type: boolean
    VoicemailBoxAssignment:
      type: object
      properties:
        id:
          type: string
          format: uuid
        display:
          type: string
    VoicemailBoxExpandedView:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        partitionId:
          type: string
        accountId:
          type: string
        forwardMessageToEmailAddresses:
          type: array
          items:
            type: string
        forwardMessageToEmailEnabled:
          type: boolean
        shouldKeepMessageAfterForward:
          type: boolean
        locale:
          type: string
        assignedTo:
          type: array
          items:
            $ref: '#/components/schemas/VoicemailBoxAssignment'
    CallHandling:
      type: object
      properties:
        activeCallHandling:
          type: string
          enum:
            - RING_LINE
            - FORWARD
        callWaitingEnabled:
          type: boolean
        busyFailoverAction:
          $ref: '#/components/schemas/RingFailoverAction'
        unregisteredFailoverAction:
          $ref: '#/components/schemas/RingFailoverAction'
        ringTimeoutConfiguration:
          $ref: '#/components/schemas/RingTimeoutConfiguration'
        forwardToPhoneNumber:
          type: string
          pattern: \d+
        voicemailBoxId:
          type: string
      required:
        - activeCallHandling
        - busyFailoverAction
        - ringTimeoutConfiguration
        - unregisteredFailoverAction
    PortAssignment:
      type: object
      properties:
        businessLineId:
          type: string
          format: uuid
        macAddress:
          type: string
        portNumber:
          type: integer
          format: int32
          minimum: 1
          maximum: 100
        deviceTypeId:
          type: string
        faxEnabled:
          type: boolean
      required:
        - deviceTypeId
    DeviceSwap:
      type: object
      properties:
        macAddress:
          type: string
        deviceTypeId:
          type: string
      required:
        - deviceTypeId
        - macAddress
    SipCredentials:
      type: object
      properties:
        sipUsername:
          type: string
        sipPassword:
          type: string
      required:
        - sipPassword
        - sipUsername
    HuntingConfiguration:
      type: object
      properties:
        '@type':
          type: string
          enum:
            - LinearHuntingConfiguration
            - SequentialHuntingConfiguration
            - SimultaneousHuntingConfiguration
      discriminator:
        propertyName: '@type'
        mapping:
          LinearHuntingConfiguration: '#/components/schemas/LinearHuntingConfiguration'
          SequentialHuntingConfiguration: '#/components/schemas/SequentialHuntingConfiguration'
          SimultaneousHuntingConfiguration: '#/components/schemas/SimultaneousHuntingConfiguration'
      required:
        - '@type'
    LinearMember:
      type: object
      properties:
        businessLineId:
          type: string
          format: uuid
        sequenceOrder:
          type: integer
          format: int32
          minimum: 0
      required:
        - businessLineId
        - sequenceOrder
    LinearHuntingConfiguration:
      allOf:
        - $ref: '#/components/schemas/HuntingConfiguration'
        - required:
            - ringTimeoutSeconds
          type: object
          properties:
            ringTimeoutSeconds:
              type: integer
              format: int32
              minimum: 0
            members:
              type: array
              items:
                $ref: '#/components/schemas/LinearMember'
              maxItems: 2147483647
              minItems: 1
    SequentialMember:
      type: object
      properties:
        businessLineId:
          type: string
          format: uuid
        ringTimeoutSeconds:
          type: integer
          format: int32
          minimum: 0
          maximum: 2147483647
        sequenceOrder:
          type: integer
          format: int32
          minimum: 0
          maximum: 2147483647
      required:
        - businessLineId
        - ringTimeoutSeconds
        - sequenceOrder
    SequentialHuntingConfiguration:
      allOf:
        - $ref: '#/components/schemas/HuntingConfiguration'
        - type: object
          properties:
            members:
              type: array
              items:
                $ref: '#/components/schemas/SequentialMember'
              maxItems: 2147483647
              minItems: 1
    SimultaneousHuntingConfiguration:
      allOf:
        - $ref: '#/components/schemas/HuntingConfiguration'
        - required:
            - members
            - ringTimeoutSeconds
          type: object
          properties:
            ringTimeoutSeconds:
              type: integer
              format: int32
              minimum: 0
            members:
              type: array
              items:
                type: string
                format: uuid
              maxItems: 2147483647
              minItems: 1
    HuntGroup:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
        partitionId:
          type: string
        accountId:
          type: string
        huntingConfiguration:
          $ref: '#/components/schemas/HuntingConfiguration'
        activeForwardConfigurationId:
          type: string
          format: uuid
      required:
        - accountId
        - huntingConfiguration
        - name
        - partitionId
    FailoverAction:
      type: object
      properties:
        failoverReason:
          type: string
          enum:
            - BUSY
            - NO_ANSWER
            - UNREGISTERED
        '@type':
          type: string
          enum:
            - BusyFailoverAction
            - ForwardFailoverAction
            - VoicemailFailoverAction
      discriminator:
        propertyName: '@type'
        mapping:
          BusyFailoverAction: '#/components/schemas/BusyFailoverAction'
          ForwardFailoverAction: '#/components/schemas/ForwardFailoverAction'
          VoicemailFailoverAction: '#/components/schemas/VoicemailFailoverAction'
      required:
        - '@type'
        - failoverReason
    BusyFailoverAction:
      allOf:
        - $ref: '#/components/schemas/FailoverAction'
        - type: object
      properties:
        _codegenDiscriminatorAnchor:
          type: string
          nullable: true
          description: DO NOT USE. Synthetic placeholder, not part of the API contract. OpenAPI Generator (gson) only flattens inherited parent fields (incl. the discriminator '@type') into a subtype's openapiFields set when that subtype declares at least one property of its own. With zero own properties, openapiFields is generated empty and the validateJsonElement reject loop wrongly rejects '@type'. This field forces the subtype down the composed-with-vars codegen branch so '@type' is inherited into openapiFields. Never set, read, or serialize this field. Remove if the generator no longer exhibits this behavior.
    ForwardFailoverAction:
      allOf:
        - $ref: '#/components/schemas/FailoverAction'
        - required:
            - forwardToPhoneNumber
          type: object
          properties:
            forwardToPhoneNumber:
              type: string
              pattern: \d+
    VoicemailFailoverAction:
      allOf:
        - $ref: '#/components/schemas/FailoverAction'
        - required:
            - voicemailBoxId
          type: object
          properties:
            voicemailBoxId:
              type: string
    ForwardConfiguration:
      type: object
      properties:
        id:
          type: string
          format: uuid
        starCode:
          type: string
          pattern: \*d+
        huntGroupId:
          type: string
          format: uuid
        forwardConfigurationType:
          type: string
          enum:
            - VARIABLE
            - FIXED
        forwardToPhoneNumber:
          type: string
          pattern: \d+
        name:
          type: string
      required:
        - forwardConfigurationType
        - huntGroupId
        - name
        - starCode
    PartitionStarCodes:
      type: object
      properties:
        constraintType:
          type: string
        constraintValue:
          type: array
          items:
            type: string
    ModifyCallingPlanX:
      type: object
      properties:
        referenceType:
          type: string
          enum:
            - SIP_TRUNK
            - END_USER
            - IVR
            - ACCOUNT
            - SPECIALTY_LINE
            - CONTACT_CENTER
        referenceId:
          type: string
        callingPlanProductId:
          type: string
          description: Deprecated. Use the callingPlanReferenceId
        callingPlanReferenceId:
          type: string
          description: When modifying an existing calling plan list, this is the calling plan product id. When opting to share an existing calling plan list, this is the the reference id that has the calling plan list that the new reference would share.
        callingPlanType:
          type: string
          description: Indicates if the request is for a change to an existing calling plan list, share a calling plan list with another reference, or stop sharing the configured list with other references.
          enum:
            - SHARED_CALLING_PLAN
            - NEW_CALLING_PLAN
            - UNSHARED_CALLING_PLAN
        pending:
          type: boolean
          description: If false then the calling plan change will apply immediately.   If true then the change will take place at the account billing date. Does not apply when the request is to share a calling plan.
        minutesUsed:
          type: integer
          format: int32
          description: Only used on add.  Will only be applied to new plans.   Will not be applied to pending plans plans.  Does not apply when the request is to share a calling plan.
    CallingPlanSwapX:
      type: object
      properties:
        swapCallingPlanProductId:
          type: string
        newMinutesUsed:
          type: integer
          format: int32
    CallParkingSpotX:
      type: object
      properties:
        id:
          type: string
        accountId:
          type: string
        partitionId:
          type: string
        name:
          type: string
        spotNumber:
          type: string
    CdrApplicationData:
      type: object
      properties:
        type:
          type: string
          enum:
            - sip-trunks-interactions
            - vfax-failure
            - vfax-setup-failure
            - vfax-success
      discriminator:
        propertyName: type
        mapping:
          sip-trunks-interactions: '#/components/schemas/SipTrunkCdrApplicationData'
          vfax-failure: '#/components/schemas/VirtualFaxFailureCdrApplicationData'
          vfax-setup-failure: '#/components/schemas/VirtualFaxSetupFailureCdrApplicationData'
          vfax-success: '#/components/schemas/VirtualFaxSuccessCdrApplicationData'
      required:
        - type
    SipTrunkApplication:
      type: object
      properties:
        sipTrunkId:
          type: string
        burstCallsCount:
          type: integer
          format: int32
        concurrentCallsCount:
          type: integer
          format: int32
    SipTrunkCdrApplicationData:
      allOf:
        - $ref: '#/components/schemas/CdrApplicationData'
        - type: object
          properties:
            data:
              type: array
              items:
                $ref: '#/components/schemas/SipTrunkApplication'
            burstCallsCount:
              type: integer
              format: int32
            concurrentCallsCount:
              type: integer
              format: int32
            burst:
              type: boolean
            sipTrunkId:
              type: string
    CdrMediaInfo:
      type: object
      properties:
        type:
          type: string
          enum:
            - audio
            - t38
      discriminator:
        propertyName: type
        mapping:
          audio: '#/components/schemas/CdrAudioInfo'
          t38: '#/components/schemas/CdrT38Info'
      required:
        - type
    CdrAudioInfo:
      allOf:
        - $ref: '#/components/schemas/CdrMediaInfo'
        - type: object
          properties:
            codec:
              type: string
            bitRate:
              type: integer
              format: int32
    CdrT38Info:
      allOf:
        - $ref: '#/components/schemas/CdrMediaInfo'
        - type: object
          properties:
            errorCorrectionEnabled:
              type: boolean
    VirtualFaxFailureCdrApplicationData:
      allOf:
        - $ref: '#/components/schemas/CdrApplicationData'
        - type: object
          properties:
            resolution:
              type: string
            fileSize:
              type: integer
              format: int64
            badRows:
              type: integer
              format: int32
            mediaInfo:
              $ref: '#/components/schemas/CdrMediaInfo'
            totalPageCount:
              type: integer
              format: int32
    VirtualFaxSetupFailureCdrApplicationData:
      allOf:
        - $ref: '#/components/schemas/CdrApplicationData'
        - type: object
    VirtualFaxSuccessCdrApplicationData:
      allOf:
        - $ref: '#/components/schemas/CdrApplicationData'
        - type: object
          properties:
            resolution:
              type: string
            fileSize:
              type: integer
              format: int64
            badRows:
              type: integer
              format: int32
            mediaInfo:
              $ref: '#/components/schemas/CdrMediaInfo'
            totalPageCount:
              type: integer
              format: int32
    CallDetailRecord:
      type: object
      properties:
        id:
          type: string
          format: uuid
        partitionId:
          type: string
        startTime:
          type: string
          format: date-time
        connectTime:
          type: string
          format: date-time
        endTime:
          type: string
          format: date-time
        createdDate:
          type: string
          format: date-time
        actualCallLengthSeconds:
          type: integer
          format: int64
        billCallLengthSeconds:
          type: integer
          format: int64
        ratePerMinute:
          type: number
          format: double
        cost:
          type: number
        inPlan:
          type: boolean
        dialedNumber:
          type: string
        origNumber:
          type: string
        origLocation:
          type: string
        origCityName:
          type: string
        origAbbrRCName:
          type: string
        origState:
          type: string
        origCountry:
          type: string
        origCarrier:
          type: string
        origCallCategory:
          type: string
          enum:
            - OffNet
            - OnNet
            - DirectoryAssistance
            - Emergency
            - Operator
            - PhoneSupport
            - TeleRelayService
            - NonEmergencyServices
            - Other
            - PublicServices
            - NotResolved
            - EmergencyServicesVerification
        identityAttestLevel:
          type: string
        identityOriginationId:
          type: string
        identitySignOrganization:
          type: string
        identitySignSPCode:
          type: string
        verstat:
          type: string
          enum:
            - TN_VALIDATION_PASSED
            - TN_VALIDATION_FAILED
            - NO_TN_VALIDATION
        verstatReason:
          type: string
          enum:
            - BAD_IDENTITY_INFO
            - CLAIM_TO_SIP_MISMATCH
            - IDENTITY_HEADER_REQUIRED
            - INVALID_IDENTITY_HEADER
            - MALFORMED_IDENTITY_HEADER
            - STALE_DATE
            - UNSUPPORTED_CREDENTIAL
            - UNSUPPORTED_PASSPORT_FORMAT
        correlationData:
          type: object
          additionalProperties:
            uniqueItems: true
            type: array
            items:
              type: string
        accountCode:
          type: string
        termNumber:
          type: string
        termLocation:
          type: string
        termCityName:
          type: string
        termAbbrRCName:
          type: string
        termState:
          type: string
        termCountry:
          type: string
        termCarrier:
          type: string
        termCallCategory:
          type: string
          enum:
            - OffNet
            - OnNet
            - DirectoryAssistance
            - Emergency
            - Operator
            - PhoneSupport
            - TeleRelayService
            - NonEmergencyServices
            - Other
            - PublicServices
            - NotResolved
            - EmergencyServicesVerification
        forwardingNumber:
          type: string
        forwardingNumberCityName:
          type: string
        forwardingNumberAbbrRCName:
          type: string
        forwardingNumberLocation:
          type: string
        forwardingNumberState:
          type: string
        forwardingNumberCountry:
          type: string
        mediaServerType:
          type: string
        legType:
          type: string
          enum:
            - Origination
            - Termination
            - Forward
        callType:
          type: string
          enum:
            - INBOUND
            - OUTBOUND
        callFlagType:
          type: string
          enum:
            - MISSED
            - VOICEMAIL
            - FORWARDED
            - BUSY
            - ANSWERED
            - OTHER
            - PICKUP
            - PICKED_UP
        disconnectType:
          type: string
          enum:
            - Busy
            - NoAnswer
            - HangUp
            - HangUpOther
            - BlindTransfer
            - SupervisedTransfer
            - Error
            - Cancelled
            - NextMenu
            - NetworkBusy
            - Unauthorized
            - PickedUp
            - NoURL
            - BadURL
            - URLExpired
            - NoCallWaiting
            - ImportantCall
            - RefreshTimeout
            - LocationCapacity
            - Capacity
            - SystemHangUp
            - Rejected
            - NotFound
            - Other
            - Forward
            - Screened
            - Unregistered
        metroServiceArea:
          type: string
        rateType:
          type: string
          enum:
            - Local
            - OnPlanMinutes
            - OnPlanRated
            - OffPlanRated
            - Free
            - TollFree
            - _411
            - Operator
            - IntraPartitionFree
            - SipTrunkInbound
        rateLocalFromNumber:
          type: string
        serviceType:
          type: string
          enum:
            - INTERSTATE
            - INTRASTATE
            - INTERNATIONAL
            - TOLL_FREE
            - NOT_APPLICABLE
            - UNKNOWN
        local:
          type: boolean
        sessionId:
          type: string
        accountBillableNumber:
          type: string
        accountBillableCityName:
          type: string
        accountBillableAbbrRCName:
          type: string
        accountBillableLocation:
          type: string
        accountBillableState:
          type: string
        accountBillableCountry:
          type: string
        referenceId:
          type: string
        referenceType:
          type: string
          enum:
            - SIP_TRUNK
            - END_USER
            - ACCOUNT
            - SPECIALTY_LINE
        referenceName:
          type: string
        acctId:
          type: string
        accountId:
          type: string
        callingPlanProductId:
          type: string
        callingPlanProductName:
          type: string
        accountNumber:
          type: string
        accountCustomField:
          type: string
        partitionBillingCode:
          type: string
        accountBillingCycleDay:
          type: integer
          format: int32
        accountTimeZone:
          type: string
        sipCallIds:
          type: array
          items:
            type: string
        meanOpinionScoreAverage:
          type: number
          format: double
        meanOpinionScores:
          type: object
          additionalProperties:
            type: number
            format: double
        callPickupFromId:
          type: string
        callPickupById:
          type: string
        applicationData:
          $ref: '#/components/schemas/CdrApplicationData'
        origCnam:
          type: string
        termCnam:
          type: string
        forwardingCnam:
          type: string
        customCallerId:
          type: string
        origNumberTags:
          type: array
          items:
            type: string
        remoteChargeInfo:
          type: string
        termNumberTags:
          type: array
          items:
            type: string
    CallDetailRecordSearchResponse:
      type: object
      properties:
        totalRecords:
          type: integer
          format: int64
        results:
          type: array
          items:
            $ref: '#/components/schemas/CallDetailRecord'
    DeviceMetadataX:
      type: object
      properties:
        macAddress:
          type: string
          description: The 48-bit hexadecimal address assigned to the device by the manufacturer.
        partitionId:
          type: string
          description: ID of partition, reference to <a href="#/~schema/Account">account.partitionId</a>
        accountId:
          type: string
          description: ID of account,  refers to <a href="#/~schema/Account">account.id</a>
        deviceTypeId:
          type: string
          description: 'The deviceTypeId identifies the equipment and the features that the device supports. Refers to <a href="#/~schema/DeviceTypeX">deviceType.id</a>. See also: <a href="#/~operation/Reference%20Resources/getDeviceTypes">Get All DeviceType</a> and <a href="#/~operation/Reference%20Resources/getDeviceTypeById">GetDeviceType</a>'
        sideCarTypeId:
          type: string
          description: 'The sideCarTypeId identifies the equipment and the features of the side car device. Refers to <a href="#/~schema/SideCarTypeX">sideCarType.id</a>. See also: <a href="#/~operation/Reference%20Resources/getSideCarTypes">Get All SideCar types</a> and <a href="#/~operation/Reference%20Resources/getSideCarTypeById">Get SideCarType</a>'
        numSideCars:
          type: integer
          format: int32
          description: The number of side cars assigned to this device.
        adminPassword:
          type: string
          description: If an admin password is supplied here, it will be applied to the device if a partition level setting is not present. The partition level setting can only be modified by an Alianza Admin. The partition level setting (Devcon - short for device configuration) is almost always supplied, making most uses of this field irrelevant. The adminPassword set by Devcon is NOT reported in this field.
        provisionerType:
          type: string
          description: Indicates what entity is responsible for provisioning the device. ALIANZA - Alianza is responsible for provisioning the device. PHONISM - Phonism, a third party service, is responsible for provisioning the device.
          enum:
            - ALIANZA
            - PHONISM
        id:
          type: string
          description: This field always refers to the macAddress.
    DeviceStatusX:
      type: object
      properties:
        success:
          type: boolean
        failureMessage:
          type: string
        macAddress:
          type: string
        request:
          type: object
          additionalProperties:
            type: string
        response:
          type: object
          additionalProperties:
            type: string
        updated:
          type: string
          format: date-time
    RegistrationStatusX:
      type: object
      properties:
        registered:
          type: boolean
    DeviceSwapX:
      type: object
      description: Refers to swapping <span hidden><a href="accountDeviceLine.html">Account Device Lines</a></span>Account Device Lines.
      properties:
        macAddress:
          type: string
          description: The 48-bit hexadecimal address assigned to the device by the manufacturer. Required if the device line refers to a physical device. Must not be claimed in another device request.
        deviceTypeId:
          type: string
          description: 'Identifies the equipment as well as the features that the device supports. Refers to <a href="#/~schema/DeviceTypeX">deviceType.id</a>. See also: <a href="#/~operation/Reference%20Resources/getDeviceTypes">Get All Device Types</a> and <a href="#/~operation/Reference%20Resources/getDeviceTypeById">Get Device Type by ID</a>'
        deviceName:
          type: string
      required:
        - macAddress
        - deviceName
        - deviceTypeId
    DynamicInventoryOrderTelephoneNumberX:
      type: object
      properties:
        tn:
          type: string
        id:
          type: string
    DynamicInventoryX:
      type: object
      properties:
        carrierId:
          type: string
        orderId:
          type: string
        tns:
          type: array
          items:
            $ref: '#/components/schemas/DynamicInventoryOrderTelephoneNumberX'
          uniqueItems: true
        id:
          type: string
    DynamicInventoryOrderX:
      type: object
      properties:
        partitionId:
          type: string
        accountId:
          type: string
        customerServiceRecord:
          $ref: '#/components/schemas/LatLongCustomerServiceRecordX'
        directoryListing:
          $ref: '#/components/schemas/DirectoryListingX'
        e911Address:
          $ref: '#/components/schemas/E911AddressX'
        inventory:
          type: array
          items:
            $ref: '#/components/schemas/DynamicInventoryX'
          uniqueItems: true
        deviceId:
          type: string
        referenceId:
          type: string
        referenceType:
          type: string
        smsSettings:
          $ref: '#/components/schemas/SmsSettingsX'
        userId:
          type: string
        id:
          type: string
    RecipientStatus:
      type: object
      properties:
        recipient:
          type: string
          description: This represents the intended recipient of the emergency notification.  For email, this is the email address.  For SMS, this is the phone number.
        status:
          type: string
          description: Indicates the success of the notification delivery.<BR>SENT - notification successfully sent to this recipient.<BR>FAILED - notification failed to be sent to this recipient.
          enum:
            - SENT
            - FAILED
    EmergencyNotificationEvent:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: The unique identifier of the event, auto generated by the system.
        callTime:
          type: string
          format: date-time
          description: The time the emergency call was placed.  ISO 8601 format.
        timeZoneId:
          type: string
          description: The time zone from which the call was placed.
        groupId:
          type: string
          description: The id of the group that was notified.  What this points to depends on the groupType field.  If groupType is ACCOUNT, this refers to <a href="#/~schema/Account">account.id</a>.
        groupType:
          type: string
          enum:
            - ACCOUNT
        triggerType:
          type: string
          description: The type of event that triggered the notification.
          enum:
            - EMERGENCY_CALL
            - EMERGENCY_TEST_CALL
            - NOTIFICATION_TEST
        triggeringPhoneNumber:
          type: string
          description: The phone number from which the 911 call was made.  Will be null for events with triggerType of NOTIFICATION_TEST.
        status:
          type: string
          description: Indicates the success of the notification delivery.<BR>SENT - notification successfully sent to all intended recipients.<BR>FAILED - notification failed to be sent to any intended recipients.<BR>PARTIAL - notification was sent to some, but not all, intended recipients.
          enum:
            - SENT
            - FAILED
            - PARTIAL
        emailNotificationRecipients:
          type: array
          description: The list of recipients that were attempted ed via email.
          items:
            $ref: '#/components/schemas/RecipientStatus'
        smsNotificationRecipients:
          type: array
          description: The list of recipients that were attempted via SMS.
          items:
            $ref: '#/components/schemas/RecipientStatus'
    ComplianceConfiguration:
      type: object
      properties:
        installDate:
          type: string
          format: date-time
          description: The date the phone service was installed.  ISO 8601 format.
        usingAlternativeSolution:
          type: boolean
          description: Indicates whether the customer is using an alternative solution to comply with emergency notification rules, according to Kari's law.
        emailRecipients:
          type: array
          description: The list of email addresses that will receive emergency notifications.
          items:
            type: string
        smsRecipients:
          type: array
          description: The list of phone numbers that will receive emergency notifications.
          items:
            type: string
        inCompliance:
          type: boolean
          description: Indicates whether the customer is in compliance with Kari's law.
    NotificationGroup:
      type: object
      description: A notification group configures who is notified when an enduser dials 911.
      properties:
        id:
          type: string
          description: ID of the notification group.  For ACCOUNT type groups, this refers to <a href="#/~schema/Account">account.id</a>.
        type:
          type: string
          description: The type of notification group.
          enum:
            - ACCOUNT
        name:
          type: string
          description: The name of the notification group.
        compliance:
          $ref: '#/components/schemas/ComplianceConfiguration'
        timeZoneId:
          type: string
    CallGroupX:
      type: object
      properties:
        partitionId:
          type: string
        accountId:
          type: string
        id:
          type: string
        name:
          type: string
          minLength: 1
          maxLength: 256
        type:
          type: string
          enum:
            - DEVICE
            - USER
        subType:
          type: string
          enum:
            - ANY_USER
            - PAGING_DEVICE
        memberIds:
          type: array
          items:
            type: string
          uniqueItems: true
    PagingGroupX:
      type: object
      properties:
        type:
          type: string
          enum:
            - STANDARD
            - PRIORITY
            - EMERGENCY
        partitionId:
          type: string
        accountId:
          type: string
        id:
          type: string
        name:
          type: string
          minLength: 1
          maxLength: 256
        extension:
          type: string
        groupIds:
          type: array
          items:
            type: string
          uniqueItems: true
    PickupGroupX:
      type: object
      properties:
        partitionId:
          type: string
        accountId:
          type: string
        id:
          type: string
        name:
          type: string
          minLength: 1
          maxLength: 256
        groupIds:
          type: array
          items:
            type: string
          uniqueItems: true
    IVRComponentX:
      type: object
      properties:
        id:
          type: string
          description: The id of the IVR Component.  Chosen by the api user but it must be distinct from other IVR components which are under the same IVR.  There is no requirement for it to be distinct from unrelated IVR components.
        left:
          type: string
        top:
          type: string
        name:
          type: string
          description: Choose a descriptive name for the IVR component.
        type:
          type: string
          enum:
            - HANGUP
            - MENU
            - DIRECTORY
            - GROUP
            - INCOMING
            - SCHEDULE
            - DTMF
            - MENU_FAILURE
            - SCHEDULE_RULE_COMPONENT
            - USER
            - LINE_HUNTGROUP
            - FORWARD
      discriminator:
        propertyName: type
        mapping:
          HANGUP: '#/components/schemas/HANGUP'
          MENU: '#/components/schemas/MENU'
          DIRECTORY: '#/components/schemas/DIRECTORY'
          GROUP: '#/components/schemas/GROUP'
          INCOMING: '#/components/schemas/INCOMING'
          SCHEDULE: '#/components/schemas/SCHEDULE'
          DTMF: '#/components/schemas/DTMF'
          MENU_FAILURE: '#/components/schemas/MenuFailureX'
          SCHEDULE_RULE_COMPONENT: '#/components/schemas/SCHEDULE_RULE_COMPONENT'
          USER: '#/components/schemas/USER'
          FORWARD: '#/components/schemas/FORWARD'
      required:
        - id
        - type
    HANGUP:
      allOf:
        - $ref: '#/components/schemas/IVRComponentX'
        - type: object
          properties:
            goodBye:
              type: string
    DTMF:
      allOf:
        - $ref: '#/components/schemas/IVRComponentX'
        - type: object
          required:
            - digit
          properties:
            digit:
              type: string
    MenuFailureX:
      allOf:
        - $ref: '#/components/schemas/IVRComponentX'
        - type: object
          required:
            - menuTimeout
            - invalidSelectionPrompt
            - maxInvalidSelections
          properties:
            menuTimeout:
              type: integer
              format: int32
            invalidSelectionPrompt:
              type: string
            maxInvalidSelections:
              type: integer
              format: int32
    MENU:
      allOf:
        - $ref: '#/components/schemas/IVRComponentX'
        - type: object
          required:
            - initPromptId
            - allowBargeInDuringInitPrompt
            - menuPromptId
            - menuRepeatDelay
            - dtmf
            - failure
          properties:
            initPromptId:
              type: string
            allowBargeInDuringInitPrompt:
              type: boolean
            menuPromptId:
              type: string
            menuRepeatDelay:
              type: integer
              format: int32
            dtmf:
              type: array
              items:
                $ref: '#/components/schemas/DTMF'
            failure:
              $ref: '#/components/schemas/MenuFailureX'
    DIRECTORY:
      allOf:
        - $ref: '#/components/schemas/IVRComponentX'
        - type: object
          properties:
            introPrompt:
              type: string
            invalidSelectionPrompt:
              type: string
            directoryDialType:
              type: string
              enum:
                - NAME
                - EXTENSION
    RoutedTo:
      type: object
      properties:
        id:
          type: string
        timeoutSeconds:
          type: integer
          format: int32
      required:
        - id
        - timeoutSeconds
    GROUP:
      allOf:
        - $ref: '#/components/schemas/IVRComponentX'
        - type: object
          required:
            - name
            - routedToList
            - ringType
            - groupType
          properties:
            routedToList:
              type: array
              items:
                $ref: '#/components/schemas/RoutedTo'
            ringType:
              type: string
              enum:
                - SIMULTANEOUS
                - SEQUENTIAL
                - SINGLE_DEVICE_FROM_GROUP
            groupType:
              type: string
              enum:
                - USER
                - DEVICE
            timeoutSeconds:
              type: integer
              format: int32
            timeoutComponentId:
              type: string
    INCOMING:
      allOf:
        - $ref: '#/components/schemas/IVRComponentX'
        - type: object
          properties:
            _codegenDiscriminatorAnchor:
              type: string
              nullable: true
              description: DO NOT USE. Synthetic placeholder, not part of the API contract. OpenAPI Generator (gson) only flattens inherited parent fields (incl. the discriminator '@type') into a subtype's openapiFields set when that subtype declares at least one property of its own. With zero own properties, openapiFields is generated empty and the validateJsonElement reject loop wrongly rejects '@type'. This field forces the subtype down the composed-with-vars codegen branch so '@type' is inherited into openapiFields. Never set, read, or serialize this field. Remove if the generator no longer exhibits this behavior.
    SCHEDULE_RULE_COMPONENT:
      allOf:
        - $ref: '#/components/schemas/IVRComponentX'
        - type: object
          properties:
            weekly:
              $ref: '#/components/schemas/WeeklyScheduleX'
            custom:
              $ref: '#/components/schemas/CustomScheduleX'
    SCHEDULE:
      allOf:
        - $ref: '#/components/schemas/IVRComponentX'
        - type: object
          required:
            - scheduleComponent
          properties:
            scheduleComponent:
              type: array
              items:
                $ref: '#/components/schemas/SCHEDULE_RULE_COMPONENT'
    USER:
      allOf:
        - $ref: '#/components/schemas/IVRComponentX'
        - type: object
          properties:
            userId:
              type: string
            sendDirectlyToVoicemail:
              type: boolean
    FORWARD:
      allOf:
        - $ref: '#/components/schemas/IVRComponentX'
        - type: object
          properties:
            toNumber:
              type: string
    IVRComponentMappingX:
      type: object
      description: Refers to the mapping of one IVR Component to another. The mapping is used to define the flow of the IVR.
      properties:
        fromIvrComponentId:
          type: string
          description: The id of the IVR Component that is being mapped from.  Refers to <a href="#/~schema/IVRComponentX">IVRComponent.id</a><br/><br/> RARELY may also refer to <a href="#/~schema/GROUP">GROUP.timeoutComponentId</a>
        toIvrComponentId:
          type: string
          description: The id of the IVR Component that is being mapped to.  Refers to <a href="#/~schema/IVRComponentX">IVRComponent.id</a>
      required:
        - fromIvrComponentId
        - toIvrComponentId
    IVRX:
      type: object
      properties:
        id:
          type: string
          description: The id of the IVR.  Automatic primary key.
        accountId:
          type: string
        partitionId:
          type: string
        name:
          type: string
          description: Choose a descriptive name for the IVR.
        top:
          type: string
        left:
          type: string
        fixedPosition:
          type: boolean
        ivrComponents:
          type: array
          description: The list of components that make up the IVR.
          items:
            $ref: '#/components/schemas/IVRComponentX'
        ivrComponentMappings:
          type: array
          description: The list of connections between IVR components.
          items:
            $ref: '#/components/schemas/IVRComponentMappingX'
      required:
        - name
        - ivrComponents
        - ivrComponentMappings
    AccountDeviceDataX:
      type: object
      properties:
        referenceType:
          type: string
          enum:
            - LINE_HARDWARE
            - USER
        macAddress:
          type: string
        deviceType:
          $ref: '#/components/schemas/DeviceTypeX'
        sideCarType:
          $ref: '#/components/schemas/SideCarTypeX'
        numSideCars:
          type: integer
          format: int32
        devices:
          type: array
          items:
            $ref: '#/components/schemas/DeviceX'
    MediaX:
      type: object
      properties:
        id:
          type: string
        url:
          type: string
    HoldMusicX:
      type: object
      properties:
        storageId:
          type: string
        url:
          type: string
    LOAX:
      type: object
      properties:
        id:
          type: string
        data:
          type: array
          items:
            pattern: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$
            type: string
            format: byte
        extension:
          type: string
        date:
          type: integer
          format: int64
        contentType:
          type: string
    ServiceActivationEventTypeX:
      type: string
      enum:
        - ACTIVATION
        - BYOTN_REQUEST
        - CSR_CHANGE_REQUEST
        - DISCONNECT
        - DYNAMIC_RESERVATION
        - NINE_ONE_ONE_ADDRESS
        - PORT_REQUEST
        - SERVICE_PROVIDER_TN
        - SMS_ENABLE
        - SMS_DISABLE
    ServiceActivationEventLogX:
      type: object
      properties:
        status:
          type: string
          enum:
            - PENDING
            - IN_PROGRESS
            - REJECTED
            - FOC_RECEIVED
            - FOC_REMOVED
            - CANCELLED
            - CANCEL_PENDING
            - CARRIER_CANCELLED
            - DELETE_PENDING
            - DELETE_SCHEDULED
            - COMPLETED
            - CORRECTED_COMPLETED
            - COOLDOWN
            - HOT_CUT_PORT
            - ON_HOLD
            - RESELLER_PENDING
        actionDate:
          type: string
          format: date-time
        code:
          type: string
        message:
          type: string
        creationDate:
          type: string
          format: date-time
        generatedTicketId:
          type: string
    ServiceActivationEventX:
      type: object
      properties:
        id:
          type: string
        partitionId:
          type: string
        accountId:
          type: string
        serviceType:
          type: string
          enum:
            - PORT_REQUEST
            - CSR_CHANGE_REQUEST
            - ACTIVATION
            - NINE_ONE_ONE_ADDRESS
            - DISCONNECT
            - DYNAMIC_RESERVATION
            - BYOTN_REQUEST
            - SERVICE_PROVIDER_TN
        referenceType:
          type: string
          enum:
            - TELEPHONE
            - PORT
            - DYNAMIC_INVENTORY
            - BYOTN
            - BYOTN_PORT
        referenceId:
          type: string
        activationStatusType:
          type: string
          enum:
            - PENDING
            - IN_PROGRESS
            - REJECTED
            - FOC_RECEIVED
            - FOC_REMOVED
            - CANCELLED
            - CANCEL_PENDING
            - CARRIER_CANCELLED
            - DELETE_PENDING
            - DELETE_SCHEDULED
            - COMPLETED
            - CORRECTED_COMPLETED
            - COOLDOWN
            - HOT_CUT_PORT
            - ON_HOLD
            - RESELLER_PENDING
        createdDate:
          type: string
          format: date-time
        lastUpdatedDate:
          type: string
          format: date-time
        focDate:
          type: string
          format: date-time
        crdDate:
          type: string
          format: date-time
        city:
          type: string
        mainTelephoneNumber:
          type: string
        subTelephoneNumbers:
          type: array
          items:
            type: string
        firstName:
          type: string
        lastName:
          type: string
        companyName:
          type: string
        state:
          type: string
        l3Reaction:
          type: string
          enum:
            - IGNORE
            - RESUBMIT
            - CANCEL
            - SEND_EMAIL
        parentOrderId:
          type: string
        editableFieldTypes:
          type: array
          items:
            type: string
            enum:
              - crdDate
              - wirelessAccountNumber
              - wirelessPin
              - name
        losingCarrier:
          type: string
        inboundCarrierType:
          type: string
          enum:
            - LEVEL_3
            - NO_API
            - E911
            - TELUS
            - TELUS_API
            - TELUS_ONEVOICE
            - PROVTEL
            - VERIZON_CARIANZA
            - ONVOY_CARIANZA
            - LEVEL3_CARIANZA
            - BANDWIDTH
            - LUMEN_IMS
            - LUMEN_VOICE_LI_ELS
            - SINCH
            - SERVICE_PROVIDER_CARRIER
        logs:
          type: array
          items:
            $ref: '#/components/schemas/ServiceActivationEventLogX'
    ReferenceType:
      type: string
      enum:
        - SIP_TRUNK
        - END_USER
        - TELEPHONE
        - AUTO_ATTENDANT
        - IVR
        - BUSY
        - VOICE_MAIL
    SipTrunkForwardReference:
      type: object
      required:
        - referenceType
      properties:
        referenceId:
          type: string
          description: id of the entity to forward the calls to
        referenceType:
          $ref: '#/components/schemas/ReferenceType'
    SipTrunkForwardAlwaysReference:
      allOf:
        - $ref: '#/components/schemas/SipTrunkForwardReference'
        - type: object
          properties:
            enabled:
              type: boolean
    SipTrunkGroup:
      type: object
      required:
        - name
      properties:
        id:
          type: string
        name:
          type: string
          description: name of the group
        partitionId:
          type: string
        accountId:
          type: string
        unconditionalForward:
          $ref: '#/components/schemas/SipTrunkForwardAlwaysReference'
        unreachableForward:
          type: array
          items:
            $ref: '#/components/schemas/SipTrunkForwardReference'
        capacityForward:
          type: array
          items:
            $ref: '#/components/schemas/SipTrunkForwardReference'
        sipTrunkId:
          type: array
          items:
            type: string
    SipTrunkGroupForwardRules:
      type: object
      properties:
        partitionId:
          type: string
        accountId:
          type: string
        sipTrunkGroupId:
          type: string
        unconditionalForward:
          $ref: '#/components/schemas/SipTrunkForwardAlwaysReference'
        unreachableForward:
          type: array
          items:
            $ref: '#/components/schemas/SipTrunkForwardReference'
        capacityForward:
          type: array
          items:
            $ref: '#/components/schemas/SipTrunkForwardReference'
    CallingPlan:
      type: object
      properties:
        id:
          type: string
        referenceId:
          type: string
        referenceType:
          type: string
        callingPlanProductId:
          type: string
        endDate:
          type: string
          format: date-time
        startDate:
          type: string
          format: date-time
        planMinutes:
          type: integer
          format: int32
        secondsRemaining:
          type: integer
          format: int64
    SetupCallingPlan:
      type: object
      properties:
        referenceId:
          type: string
        callingPlanType:
          type: string
          enum:
            - SHARED_CALLING_PLAN
            - NEW_CALLING_PLAN
    SbcEndpoint:
      type: object
      properties:
        site:
          type: string
        address:
          type: string
        port:
          type: integer
          format: int32
        protocol:
          type: string
    SipTrunk:
      type: object
      properties:
        partitionId:
          type: string
        accountId:
          type: string
        trunkName:
          type: string
        id:
          type: string
        sipPassword:
          type: string
          minLength: 6
        sipUsername:
          type: string
          minLength: 8
          maxLength: 36
          pattern: '[A-Za-z0-9\\-_.]+'
        callbackNumber:
          type: string
        concurrentCalls:
          type: integer
          format: int32
          minimum: 1
        maxBurstCalls:
          type: integer
          format: int32
        callingPlans:
          type: array
          items:
            $ref: '#/components/schemas/CallingPlan'
        telephoneNumbers:
          type: array
          items:
            type: string
        sipProxyServer:
          type: string
        lockedOut:
          type: boolean
        localServicesEnabled:
          type: boolean
        primaryTn:
          type: string
        extensionPatterns:
          type: array
          items:
            type: string
            pattern: \\d+x*
        externalChargeNumber:
          type: string
        newCppId:
          type: string
        setupCallingPlan:
          $ref: '#/components/schemas/SetupCallingPlan'
        provisioningStatus:
          type: string
        ipBasedAuthEnabled:
          type: boolean
        ipAddress:
          type: string
        portNumber:
          type: integer
          format: int32
        accessEndpoints:
          type: array
          items:
            $ref: '#/components/schemas/SbcEndpoint'
        sipTrunkGroupId:
          type: string
        pbxTnDigits:
          type: integer
          format: int32
        languageTag:
          type: string
        stirShakenExpandedCallerIdVerification:
          type: boolean
    SipTrunkForwardRules:
      type: object
      properties:
        partitionId:
          type: string
        accountId:
          type: string
        sipTrunkId:
          type: string
        forwardAlways:
          $ref: '#/components/schemas/SipTrunkForwardAlwaysReference'
        forwardOnFailure:
          type: array
          items:
            $ref: '#/components/schemas/SipTrunkForwardReference'
        forwardOnCapacityExceeded:
          type: array
          items:
            $ref: '#/components/schemas/SipTrunkForwardReference'
    FromTelephoneNumber:
      type: object
      required:
        - fromWildcard
      properties:
        partitionId:
          type: string
        accountId:
          type: string
        fromWildcard:
          type: string
        customCallerIdNumber:
          type: string
        isCustom:
          type: boolean
    CustomCallerId:
      type: object
      required:
        - customCallerIdNumber
      properties:
        partitionId:
          type: string
        accountId:
          type: string
        customCallerIdNumber:
          type: string
    SpecialtyLineResponseDto:
      type: object
      properties:
        accountId:
          type: string
        callerId:
          type: string
          description: The phone number displayed on the phone of the person being called.
        callingPlanIds:
          type: array
          description: Calling plans allow you to control where your customers are allowed to call and what, if any, the cost should be for those calls. Each of your plans can be set up with a number of included minutes or a per-minute rate, depending on how you want to charge for services. The calling plans created at the partition level can be assigned to individual accounts and users based on their needs or the bundle they purchased.
          items:
            type: string
        deviceId:
          type: string
        deviceType:
          type: string
          description: The generic device type that matches the customer's device configuration.
        e911CallbackNumber:
          type: string
          description: The phone number that will be transmitted to 911.
        id:
          type: string
          description: The ID is immutable and cannot be changed.
        linkedPhoneNumbers:
          type: array
          items:
            type: string
        macAddress:
          type: string
          description: The device's MAC address.
        name:
          type: string
          description: A name for the specialty line, such as Elevator C or another descriptive term.
        partitionId:
          type: string
        portNumber:
          type: integer
          format: int32
          description: The physical port number the line is provisioned on (1–9).
        sipPassword:
          type: string
          description: A unique plain-text password is automatically generated and displayed here. Use this one or enter your own, using at least 6 characters.
        sipUsername:
          type: string
          description: A unique 14-character SIP username is automatically generated and displayed here. Use this one or enter your own, between 8-36 characters long.
      required:
        - id
        - accountId
        - partitionId
        - name
        - callingPlanIds
      title: SpecialtyLineX
    SpecialtyLinesX:
      type: array
      items:
        $ref: '#/components/schemas/SpecialtyLineResponseDto'
    SpecialtyLineErrorResponseDto:
      type: object
      properties:
        errorCode:
          type: string
        message:
          type: string
        traceId:
          type: string
      required:
        - errorCode
      title: SpecialtyLineErrorResponse
    SpecialtyLineRequestDto:
      type: object
      properties:
        callerId:
          type: string
          description: The phone number displayed on the phone of the person being called.
        callingPlanIds:
          type: array
          description: Calling plans allow you to control where your customers are allowed to call and what, if any, the cost should be for those calls. Each of your plans can be set up with a number of included minutes or a per-minute rate, depending on how you want to charge for services. The calling plans created at the partition level can be assigned to individual accounts and users based on their needs or the bundle they purchased.
          items:
            type: string
        deviceType:
          type: string
          description: The generic device type that matches the customer's device configuration.
        e911CallbackNumber:
          type: string
          description: The phone number that will be transmitted to 911.
        macAddress:
          type: string
          description: The device's MAC address.
        name:
          type: string
          description: A name for the specialty line, such as Elevator C or another descriptive term.
        portNumber:
          type: integer
          format: int32
          description: The physical port number the line is provisioned on (1–9).
        sipPassword:
          type: string
          description: A unique plain-text password is automatically generated and displayed here. Use this one or enter your own, using at least 6 characters.
        sipUsername:
          type: string
          description: A unique 14-character SIP username is automatically generated and displayed here. Use this one or enter your own, between 8-36 characters long.
      required:
        - name
        - callerId
        - e911CallbackNumber
        - callingPlanIds
      title: SpecialtyLine
    ExternalTnX:
      type: object
      properties:
        phoneNumber:
          type: string
        partitionId:
          type: string
        accountId:
          type: string
        userId:
          type: string
        inboundCarrierId:
          type: string
        functionType:
          type: string
        cnam:
          type: string
        customerServiceRecord:
          $ref: '#/components/schemas/CustomerServiceRecordX'
        e911Address:
          $ref: '#/components/schemas/E911AddressX'
        callable:
          type: boolean
        id:
          type: string
    CancelActionX:
      type: object
      properties:
        referenceId:
          type: string
        partitionId:
          type: string
        accountId:
          type: string
    TelephoneNumberUsagesX:
      type: object
      properties:
        partitionId:
          type: string
        accountId:
          type: string
        phoneNumber:
          type: string
        users:
          type: array
          items:
            type: string
          uniqueItems: true
    TelephoneNumberDestinationX:
      type: object
      properties:
        partitionId:
          type: string
        accountId:
          type: string
        telephoneNumber:
          type: string
        referenceId:
          type: string
          description: The id of the destination which gets calls from this number.  You can think of this as a variable refkey; what it points to depends on the referenceType.
        referenceType:
          type: string
          description: What kind of destination gets calls from this number.
          enum:
            - SIP_TRUNK
            - END_USER
            - IVR
            - LINE_APPEARANCE
            - LINE_HUNTGROUP
            - TELEPHONE
            - VFAX
            - BUSINESS_LINE
            - BUSINESS_LINE_HUNT_GROUP
            - CALL_GROUP
            - CALL_QUEUE
            - AUTO_ATTENDANT
            - SPECIALTY_LINE
            - CONTACT_CENTER
        ringType:
          type: string
          enum:
            - StandardRing
            - Ring1
            - Ring2
            - Ring3
            - Ring4
            - Ring5
            - Ring6
            - Ring7
        assignAsCallerId:
          type: boolean
        id:
          type: string
    EndUserActivationV2X:
      type: object
      properties:
        device:
          $ref: '#/components/schemas/DeviceX'
        user:
          $ref: '#/components/schemas/EndUserV2X'
        telephoneNumberAccount:
          $ref: '#/components/schemas/TelephoneNumberAccountV2X'
        dynamicTelephoneNumberActivation:
          $ref: '#/components/schemas/DynamicTelephoneNumberActivationX'
        port:
          $ref: '#/components/schemas/PortX'
        holdActivation:
          type: boolean
    ReassignEndUserX:
      type: object
      properties:
        firstName:
          type: string
          description: Must be different than the existing name.
        lastName:
          type: string
        emailAddress:
          type: string
          description: Will be nullified when not present.
        username:
          type: string
          description: Will be nullified when not present.
        blockEmail:
          type: boolean
    VoicemailMessageX:
      type: object
      properties:
        id:
          type: string
        createdDate:
          type: string
          format: date-time
          description: date the message was left
        fromName:
          type: string
          description: callerId name of caller that left message, if available
        fromNumber:
          type: string
          description: callerId number of caller that left message, if available
        lengthInPages:
          type: integer
          format: int32
          description: length of message in pages, if it is a FAX
        lengthInSeconds:
          type: integer
          format: int32
          description: length of message in pages, if it is a VOICE message
        read:
          type: boolean
          description: has the message been seen / opened / read
        sizeInBytes:
          type: integer
          format: int64
          description: size of message in bytes
        messageType:
          type: string
          description: type of message
          enum:
            - FAX
            - VOICE
        voicemailBoxId:
          type: string
          description: voicemail box id
        accountId:
          type: string
          description: Account of the voicemail box
        partitionId:
          type: string
          description: Partition of the account
        toPhoneNumber:
          type: string
          description: The to number associated with the voicemail message
        transcriptionStatus:
          type: string
          description: The status of the transcription
        transcriptionInfo:
          type: string
          description: Details (quality, etc...) about the transcription
        transcriptionText:
          type: string
          description: The resulting text of the transcribed message
        storageId:
          type: string
          format: uuid
          description: The storage id of audio file
        audioFileAndType:
          type: string
          description: The type of audio file
    UserProductPlanX:
      type: object
      description: 'A user product plan indicates the platform features that are available to an end user.  There are 3 types: [STANDARD, ADVANCED, PROFESSIONAL]. <p>ADVANCED and PROFESSIONAL plans are only available for ADVANCED account types once a Cymbus group has been created.</p> <span hidden><p><a href="account.html">Accounts</a></p></span> <p><a href="#/~operation/Cymbus%20User%20Product/updateCymbusAccountGroup">Create Cymbus Group</a></p> <h5>STANDARD</h5> <p>The standard plan is available to all users.  It is basic phone service.</p> <h5>ADVANCED</h5> <p>The advanced plan offers the standard phone service plus the Cymbus softphone client. Requires the user have an email address.</p> <h5>PROFESSIONAL</h5> <p>The professional plan includes phone service, Cymbus softphone client, and the Cymbus collaboration features. Requires the user have an email address.</p>'
      properties:
        id:
          type: string
        displayName:
          type: string
        description:
          type: string
        emailAddressRequired:
          type: boolean
    VirtualFaxLineX:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        emailAddresses:
          type: array
          items:
            type: string
          uniqueItems: true
        languageTag:
          type: string
        accountId:
          type: string
        partitionId:
          type: string
    VfaxOutbound:
      type: object
      properties:
        callerId:
          type: string
        enabled:
          type: boolean
        accountId:
          type: string
        partitionId:
          type: string
    VoicemailReferencedByX:
      type: object
      properties:
        type:
          type: string
        id:
          type: string
    VoicemailBoxX:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
          description: name of the box
        partitionId:
          type: string
          description: partitionid of the account
        accountId:
          type: string
          description: accountid of the voicemail box
        voicemailToEmailAddresses:
          type: array
          description: email addresses to forward all voicemail messages to
          items:
            type: string
          uniqueItems: true
        voicemailToEmailEnabled:
          type: boolean
          description: enables voicemail to email
        voicemailKeepAfterEmail:
          type: boolean
          description: keep or delete the voicemail after being emailed
        referencedBy:
          type: array
          description: References that point at this voicemail box
          items:
            $ref: '#/components/schemas/VoicemailReferencedByX'
          uniqueItems: true
        locale:
          type: string
          description: Locale of the voicemail box
        totalVoicemails:
          type: integer
          format: int32
          description: Total voicemails on the box
        totalUnreadVoicemails:
          type: integer
          format: int32
          description: Total unread voicemails on the box
        type:
          type: string
          description: Type of voicemail
          enum:
            - Normal
            - Sub
            - Primary
            - BUSINESS_LINE
        subIds:
          type: array
          description: List of sub voicemail ids, this will be populated only if this voicemail box is primary
          items:
            type: string
        parentId:
          type: string
          description: Parent id for this voicemail box. Applicable if this voicemail box is a sub
        dtmfOption:
          type: string
          description: DTMF option for this voicemail box.  If this voicemail box is a sub, options are 2 through 8 otherwise option must be 1
        pinLockedOut:
          type: boolean
          description: Marks whether the pin on this sub voicemailbox has been locked out
        messageTranscriptionEnabled:
          type: boolean
          description: Specifies whether voicemail messages will be transcribed to text after a voicemail message is left
        greetings:
          type: object
          description: Map of voicemail box greetings
          additionalProperties:
            $ref: '#/components/schemas/VoicemailMessageX'
    PinChange:
      type: object
      properties:
        accountId:
          type: string
        voicemailBoxId:
          type: string
        referenceId:
          type: string
        referenceType:
          type: string
        pin:
          type: string
    CallingPlanProduct:
      type: object
      properties:
        id:
          type: string
          description: Not required for POST operation
        name:
          type: string
        planMinutes:
          type: integer
          format: int32
        unlimitedDisplay:
          type: boolean
        allowOverage:
          type: boolean
        preventForwarding:
          type: boolean
        defaultPlan:
          type: boolean
        callRateFor411:
          type: number
          format: double
        allow411:
          type: boolean
        rateTypeFor411:
          type: string
          enum:
            - PER_CALL
            - PER_MINUTE
        callRateForOperator:
          type: number
          format: double
        allowOperator:
          type: boolean
        rateTypeForOperator:
          type: string
          enum:
            - PER_CALL
            - PER_MINUTE
        partitionId:
          type: string
        allowUnlimitedLocal:
          type: boolean
        rateIntraPartitionAsFree:
          type: boolean
    PartitionDataHistoryX:
      type: object
      properties:
        partitionId:
          type: string
        id:
          type: string
        type:
          type: string
          enum:
            - PARTITION
            - PLATFORM_USER
            - PLATFORM_USER_GROUP
            - CALLING_PLAN
            - INBOUND_RATE_PLAN
            - LOCAL_CALLING_PLANS
            - TN_INVENTORY
            - PARTITION_SETTINGS
            - FEATURE_TOGGLES
            - IP_WHITELIST
            - DIAL_PLAN_RULE
            - ROUTE_PLAN
        createdDate:
          type: string
          format: date-time
        userId:
          type: string
        userName:
          type: string
        userType:
          type: string
          enum:
            - AccountUser
            - EndUser
            - ManagementUser
            - AlianzaUser
            - BusinessLines
        searchTags:
          type: array
          items:
            type: string
          uniqueItems: true
        actionType:
          type: string
        relatedDataId:
          type: string
        relatedDataType:
          type: string
        relatedDataDisplayName:
          type: string
        oldValue:
          type: string
        newValue:
          type: string
    PartitionDataHistorySearchResponseX:
      type: object
      properties:
        totalRecords:
          type: integer
          format: int64
        results:
          type: array
          items:
            $ref: '#/components/schemas/PartitionDataHistoryX'
    DeviceData:
      type: object
      properties:
        macAddress:
          type: string
        deviceType:
          type: string
          description: Reference to <a href="#/~schema/DeviceX">device.deviceTypeId</a> -> <a href="#/~schema/DeviceTypeX">deviceType.id</a> -> <a href="#/~schema/DeviceTypeX">deviceType.name</a>.  For possible values, query <a href="#/~operation/Reference%20Resources/getDeviceTypes">getDevicetypes</a>.
        lineCount:
          type: integer
          format: int32
        dialPlan:
          type: string
          description: This is a dial plan string which instructs a phone when to consider dialing "complete"; in other words, when the phone should send the digits to the switch. For example, it usually instructs a device to immediately send 911, and can also help the phone determine that an extension is being dialed, so it should send after the extension length has been reached. These rules are encoded in a language of sorts and are only really understood by the phone itself.
        hasFaxEnabledLine:
          type: boolean
        lines:
          type: array
          items:
            type: object
            properties:
              macAddress:
                type: string
              lineNumber:
                type: integer
                format: int32
              userId:
                type: string
              displayName:
                type: string
              sipUsername:
                type: string
              sipPassword:
                type: string
              server:
                type: string
              serverPort:
                type: string
              emergencyNumber:
                type: string
              enabled:
                type: boolean
              faxEnabled:
                type: boolean
    RequestedDeviceLineX:
      type: object
      properties:
        macAddress:
          type: string
        lineNumber:
          type: integer
          format: int32
        userId:
          type: string
        displayName:
          type: string
        sipUsername:
          type: string
        sipPassword:
          type: string
        dialPlan:
          type: string
        server:
          type: string
        serverPort:
          type: string
        emergencyNumber:
          type: string
        enabled:
          type: boolean
        faxEnabled:
          type: boolean
    RequestedDeviceX:
      type: object
      properties:
        macAddress:
          type: string
        deviceType:
          type: string
        lineCount:
          type: integer
          format: int32
        dialPlan:
          type: string
        hasFaxEnabledLine:
          type: boolean
        lines:
          type: array
          items:
            $ref: '#/components/schemas/RequestedDeviceLineX'
    E911AccountX:
      type: object
      properties:
        e911ProviderType:
          type: string
          enum:
            - INTRADO
            - WEST
            - DISABLED
            - BANDWIDTH
            - SINCH
            - INTRADO_ENTERPRISE
        accountId:
          type: string
        authToken:
          type: string
    BandwidthSettingsX:
      type: object
      properties:
        accountId:
          type: string
        siteId:
          type: string
        peerId:
          type: string
        apiUsername:
          type: string
        apiPassword:
          type: string
        localAccountId:
          type: string
        localSiteId:
          type: string
        localPeerId:
          type: string
    SinchSettingsX:
      type: object
      properties:
        serviceType:
          type: string
          enum:
            - ALL_IN_TN
            - USAGE_TN
            - BYOC
        privateKey:
          type: string
        routingOption:
          type: string
        apiKey:
          type: string
        apiSecret:
          type: string
    InboundCarrierX:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        description:
          type: string
        carrierType:
          type: string
          enum:
            - LEVEL_3
            - NO_API
            - E911
            - TELUS
            - TELUS_API
            - TELUS_ONEVOICE
            - PROVTEL
            - VERIZON_CARIANZA
            - ONVOY_CARIANZA
            - LEVEL3_CARIANZA
            - BANDWIDTH
            - LUMEN_IMS
            - LUMEN_VOICE_LI_ELS
            - SINCH
            - SERVICE_PROVIDER_CARRIER
        partitionAvailability:
          type: array
          items:
            type: string
          uniqueItems: true
        l3Settings:
          $ref: '#/components/schemas/L3SettingsX'
        supportsCSRUpdate:
          type: boolean
        supportCNAMChange:
          type: boolean
        supportDirectoryListing:
          type: boolean
        supportPorting:
          type: boolean
        supportHotCutPorting:
          type: boolean
        hasTNs:
          type: boolean
        e911Account:
          $ref: '#/components/schemas/E911AccountX'
        smsCallbackUrl:
          type: string
        portPushDays:
          type: integer
          format: int32
        bandwidthSettings:
          $ref: '#/components/schemas/BandwidthSettingsX'
        enableDynamicInventory:
          type: boolean
        enableByotn:
          type: boolean
        sinchSettings:
          $ref: '#/components/schemas/SinchSettingsX'
        cnamCarrierType:
          type: string
          enum:
            - LEVEL_3
            - NO_API
            - E911
            - TELUS
            - TELUS_API
            - TELUS_ONEVOICE
            - PROVTEL
            - VERIZON_CARIANZA
            - ONVOY_CARIANZA
            - LEVEL3_CARIANZA
            - BANDWIDTH
            - LUMEN_IMS
            - LUMEN_VOICE_LI_ELS
            - SINCH
            - SERVICE_PROVIDER_CARRIER
        dlCarrierType:
          type: string
          enum:
            - LEVEL_3
            - NO_API
            - E911
            - TELUS
            - TELUS_API
            - TELUS_ONEVOICE
            - PROVTEL
            - VERIZON_CARIANZA
            - ONVOY_CARIANZA
            - LEVEL3_CARIANZA
            - BANDWIDTH
            - LUMEN_IMS
            - LUMEN_VOICE_LI_ELS
            - SINCH
            - SERVICE_PROVIDER_CARRIER
    InboundRate:
      type: object
      properties:
        rate:
          type: number
          format: double
        allowCalls:
          type: boolean
    InboundRatePlanProductX:
      type: object
      properties:
        id:
          type: string
        partitionId:
          type: string
        name:
          type: string
        defaultPlan:
          type: boolean
        archived:
          type: boolean
        rates:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/InboundRate'
    ManagementUserSearchResponseX:
      type: object
      properties:
        totalRecords:
          type: integer
          format: int64
        results:
          type: array
          items:
            $ref: '#/components/schemas/ManagementUserX'
    SsoUserX:
      type: object
      description: This is only the <a href="https://developer.okta.com/docs/reference/api/users/#user-status">user.status</a> of an Okta user which sits behind one of the Alianza user types. In our api, we represent this as a string, but in Okta, it in an enumeration whose possible values are <ul><li>STAGED</li><li>PROVISIONED</li><li>ACTIVE</li><li>RECOVERY</li><li>LOCKED_OUT</li><li>PASSWORD_EXPIRED</li><li>SUSPENDED</li><li>DEPROVISIONED</li></ul> at the time of this writing.
      properties:
        ssoStatus:
          type: string
          example: ACTIVE
    TelephoneNumberViewX:
      type: object
      properties:
        partitionId:
          type: string
        phoneNumber:
          type: string
        rateCenter:
          type: string
        rateCenterReorderName:
          type: string
        state:
          type: string
        country:
          type: string
        prefix:
          type: string
        accountId:
          type: string
        carrierId:
          type: string
          description: The <a href="#/~schema/InboundCarrierX">inboundCarrierX.id</a> that services the telephone number.
        cooldownExpireDate:
          type: string
          format: date-time
        cooldownRecoveredDate:
          type: string
          format: date-time
        functionType:
          type: string
          enum:
            - ELS
            - TollFree
            - TemporaryNumber
            - SPTN
        claimTicketId:
          type: string
          deprecated: true
        matchesZip:
          type: boolean
          description: When this object is returned as part of a <a href="#/~operation/Telephone%20Number/tnSearch">search</a> that uses a zip code, results for nearby zip codes are also returned.  This field indicates if the returned data matches the queried zip code.
        distance:
          type: number
          format: float
          description: When this object is returned as part of a <a href="#/~operation/Telephone%20Number/tnSearch">search</a> that uses a zip code, results for nearby zip codes are also returned. This field represents the distance (in miles) from the specified zip code.
        byotn:
          type: boolean
          description: Bring Your Own Telephone Number (byotn) is a feature that allows the service provider to manage the rate center footprint coverage for a number.
        activationDate:
          type: integer
          format: int64
        isInInventory:
          type: boolean
        operationalStatus:
          type: string
          enum:
            - ACTIVE
            - STAGED
        id:
          type: string
        port:
          type: boolean
        tags:
          type: array
          items:
            type: string
          description: Optional tags for categorizing the telephone number (e.g., location, service type). Tags are stored as attributes in the Attribute Service. Format is lowercase with hyphens replacing spaces. Maximum 10 tags per number.
    RateCenterX:
      type: object
      properties:
        prefix:
          type: string
        reorderName:
          type: string
        originalReorderName:
          type: string
        name:
          type: string
        abbrName:
          type: string
        msa:
          type: string
        zips:
          type: array
          items:
            type: string
          uniqueItems: true
        wireless:
          type: boolean
        state:
          type: string
        country:
          type: string
        portable:
          type: boolean
        serviceAvailable:
          type: boolean
        inboundCarrierType:
          type: string
          enum:
            - LEVEL_3
            - NO_API
            - E911
            - TELUS
            - TELUS_API
            - TELUS_ONEVOICE
            - PROVTEL
            - VERIZON_CARIANZA
            - ONVOY_CARIANZA
            - LEVEL3_CARIANZA
            - BANDWIDTH
            - LUMEN_IMS
        distance:
          type: number
          format: double
    SecurityPermissionX:
      type: object
      properties:
        type:
          type: string
          description: The type of permission.  Features of the api are mostly categorized under one of these permission types.
          enum:
            - NONE
            - Account
            - AccountHistory
            - AccountCallHistory
            - AccountBulkStatuses
            - IpWhitelist
            - PhoneNumber
            - PhoneNumberServiceActivation
            - PhoneNumberInventory
            - Product
            - ProductCallingPlan
            - ProductGroups
            - ProductUsers
            - Reports
            - RoutePlan
            - SipCredentials
            - EU_DeviceSwapCreate
            - EU_Account
            - EU_AccountMedia
            - EU_CallHistory
            - EU_Device
            - EU_DeviceSwap
            - EU_DeviceLine
            - EU_IVR
            - EU_LineAppearance
            - EU_LineHardware
            - EU_LineHuntGroup
            - EU_Voicemail
            - EU_VoicemailMessage
            - EU_VoicemailUnlock
            - EU_Telephone
            - EU_SipTrunk
            - EU_User
            - EU_UserResetPassword
            - EU_History
            - EU_BUSINESS_LINE
            - EU_BUSINESS_LINE_PROVISIONING
            - EU_BUSINESS_LINE_VOICEMAIL
            - EU_BUSINESS_LINE_HUNT_GROUP
            - EU_911_ADDRESS
            - EU_TELEPHONE_DESTINATION
            - EU_ENDUSER_REPURPOSE
            - ALIANZA_MasterRoutePlan
            - ALIANZA_TogglzAdmin
            - ANY_END_USER
            - ANY_MANAGEMENT_USER
            - ANY_ALIANZA_USER
        accessType:
          type: string
          description: The level of access to grant for the type of permission
          enum:
            - NONE
            - READ_MYUSER
            - READ
            - EDIT_MYUSER
            - EDIT
            - CREATE_MYUSER
            - CREATE
            - DELETE_MYUSER
            - DELETE
            - DENIED
    SecurityRoleX:
      type: object
      properties:
        id:
          type: string
        partitionId:
          type: string
          description: Reference to <a href="#/~schema/PartitionX">partition.id</a>
        name:
          type: string
          description: The name of the Role.  Must be unique among SecurityRoleX with the same partitionId.
        userType:
          type: string
          description: Which user type can be assigned the role.
          enum:
            - AccountUser
            - EndUser
            - ManagementUser
            - AlianzaUser
            - BusinessLines
        userCount:
          type: integer
          format: int32
          description: A readonly (calculated) value which indicates how many users are assigned this Role.
        permissions:
          type: array
          description: The set of permissions which will apply to any users who are assigned to this role.
          items:
            $ref: '#/components/schemas/SecurityPermissionX'
          uniqueItems: true
    PartitionSettingX:
      type: object
      properties:
        partitionId:
          type: string
        type:
          type: string
          enum:
            - IntegrationNotificationEmail
            - CDRReportColumns
            - SipTrunkProxyServer
            - AllowAccountDangerousExtensions
            - InboundRatePlanDefault
            - SUB_DOMAINS
            - SEND_WELCOME_EMAIL
            - REGULATORY_TYPE
            - ACCOUNT_HOLD_MUSIC_DEFAULT
            - PLATFORM_TYPE_DEFAULT
            - GENERATED_SIP_PASSWORD_LENGTH
            - ENABLE_STAGED_CALL
            - MAX_BURST_CALL_PERCENTAGE
            - ALLOW_VM_MESSAGE_ACCESS
        value:
          type: object
          properties: {}
    TelephoneNumberSearchEventType:
      type: array
      items:
        type: string
        enum:
          - ACTIVATION
          - BYOTN_REQUEST
          - CSR_CHANGE_REQUEST
          - DISCONNECT
          - DYNAMIC_RESERVATION
          - NINE_ONE_ONE_ADDRESS
          - PORT_REQUEST
          - SERVICE_PROVIDER_TN
    TelephoneNumberSearchStatusType:
      type: array
      items:
        type: string
        enum:
          - PENDING
          - IN_PROGRESS
          - REJECTED
          - FOC_RECEIVED
          - FOC_REMOVED
          - CANCELLED
          - CANCEL_PENDING
          - CARRIER_CANCELLED
          - DELETE_PENDING
          - DELETE_SCHEDULED
          - COMPLETED
          - CORRECTED_COMPLETED
          - COOLDOWN
          - HOT_CUT_PORT
          - ON_HOLD
          - RESELLER_PENDING
    ServiceActivationEventResponseX:
      type: object
      properties:
        totalRecords:
          type: integer
          format: int64
        results:
          type: array
          items:
            $ref: '#/components/schemas/ServiceActivationEventX'
    TelephoneNumberAvailabilityX:
      type: object
      properties:
        prefix:
          type: string
        reorderName:
          type: string
        originalReorderName:
          type: string
        name:
          type: string
        abbrName:
          type: string
        msa:
          type: string
        zips:
          type: array
          items:
            type: string
          uniqueItems: true
        wireless:
          type: boolean
        state:
          type: string
        country:
          type: string
        portable:
          type: boolean
        serviceAvailable:
          type: boolean
        inboundCarrierType:
          type: string
          enum:
            - LEVEL_3
            - NO_API
            - E911
            - TELUS
            - TELUS_API
            - TELUS_ONEVOICE
            - PROVTEL
            - VERIZON_CARIANZA
            - ONVOY_CARIANZA
            - LEVEL3_CARIANZA
            - BANDWIDTH
            - LUMEN_IMS
            - LUMEN_VOICE_LI_ELS
            - SINCH
            - SERVICE_PROVIDER_CARRIER
    TelephoneNumberReservedX:
      type: object
      properties:
        tn:
          type: string
        reservedTime:
          type: string
          format: date-time
        reserved:
          type: boolean
        id:
          type: string
    LanguageReferenceX:
      type: object
      properties:
        id:
          type: string
        country:
          type: string
        language:
          type: string
    PermissionTypeDefaultsX:
      type: object
      properties:
        type:
          type: string
          enum:
            - NONE
            - Account
            - AccountHistory
            - AccountCallHistory
            - AccountBulkStatuses
            - IpWhitelist
            - PhoneNumber
            - PhoneNumberServiceActivation
            - PhoneNumberInventory
            - Product
            - ProductCallingPlan
            - ProductGroups
            - ProductUsers
            - Reports
            - RoutePlan
            - SipCredentials
            - EU_DeviceSwapCreate
            - EU_Account
            - EU_AccountMedia
            - EU_CallHistory
            - EU_Device
            - EU_DeviceSwap
            - EU_DeviceLine
            - EU_IVR
            - EU_LineAppearance
            - EU_LineHardware
            - EU_LineHuntGroup
            - EU_Voicemail
            - EU_VoicemailMessage
            - EU_VoicemailUnlock
            - EU_Telephone
            - EU_SipTrunk
            - EU_User
            - EU_UserResetPassword
            - EU_History
            - EU_BUSINESS_LINE
            - EU_BUSINESS_LINE_PROVISIONING
            - EU_BUSINESS_LINE_VOICEMAIL
            - EU_BUSINESS_LINE_HUNT_GROUP
            - EU_911_ADDRESS
            - EU_TELEPHONE_DESTINATION
            - EU_ENDUSER_REPURPOSE
            - ALIANZA_MasterRoutePlan
            - ALIANZA_TogglzAdmin
            - ANY_END_USER
            - ANY_MANAGEMENT_USER
            - ANY_ALIANZA_USER
        maxAccessType:
          type: string
          enum:
            - NONE
            - READ_MYUSER
            - READ
            - EDIT_MYUSER
            - EDIT
            - CREATE_MYUSER
            - CREATE
            - DELETE_MYUSER
            - DELETE
            - DENIED
    SystemDefaultMediaX:
      type: object
      properties:
        storageId:
          type: string
        subType:
          type: string
        title:
          type: string
        url:
          type: string
    ValidateSipUsernameDto:
      type: object
      properties:
        username:
          type: string
      required:
        - username
      title: ValidateSIPUsername
    TelephoneNumberPrefixViewX:
      type: object
      properties:
        prefix:
          type: string
        wireless:
          type: boolean
        wirelessBlockNumbers:
          type: array
          items:
            pattern: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$
            type: string
            format: byte
          uniqueItems: true
    RateCenterSearchViewX:
      type: object
      properties:
        name:
          type: string
        abbrName:
          type: string
        reorderName:
          type: string
        reorderNameAlias:
          type: string
        state:
          type: string
        country:
          type: string
        latitude:
          type: number
          format: double
        longitude:
          type: number
          format: double
        msa:
          type: string
        zips:
          type: array
          items:
            type: string
          uniqueItems: true
        prefixes:
          type: array
          items:
            $ref: '#/components/schemas/TelephoneNumberPrefixViewX'
        distance:
          type: number
          format: double
    UserGroupResponse:
      type: object
      properties:
        partitionId:
          type: string
          example: partitionId123
        accountId:
          type: string
          example: accountId123
        groupId:
          type: string
          example: group1234
        groupName:
          type: string
          example: Group Name
        groupDescription:
          type: string
          example: Group Description
        userIds:
          type: array
          items:
            type: object
            properties:
              userId:
                type: string
                example: ZXR1X6geTeCpzfHm-z-WbQ
              endUserType:
                type: string
                example: BASIC_ADMIN
    UserGroupRequest:
      type: object
      properties:
        partitionId:
          type: string
          example: partitionId123
        accountId:
          type: string
          example: accountId123
        groupId:
          type: string
          example: group1234
        groupName:
          type: string
          example: Group Name
        groupDescription:
          type: string
          example: Group Description
        userIds:
          type: array
          items:
            type: object
            properties:
              userId:
                type: string
                example: ZXR1X6geTeCpzfHm-z-WbQ
              endUserType:
                type: string
                example: BASIC_ADMIN
    DocumentVersion:
      type: object
      properties:
        id:
          type: string
        documentSeriesId:
          type: string
        versionNumber:
          type: integer
          format: int32
        roles:
          type: array
          items:
            type: string
            enum:
              - PORT_AUTHORIZATION
              - SMS_AUTHORIZATION
          uniqueItems: true
        comment:
          type: string
          nullable: true
        contentSize:
          type: integer
          format: int64
        contentDigestMethod:
          type: string
        contentDigestValue:
          type: string
        createdAt:
          type: string
        createdBy:
          type: string
          nullable: true
        updatedAt:
          type: string
          nullable: true
        updatedBy:
          type: string
          nullable: true
        deletedAt:
          type: string
          nullable: true
        deletedBy:
          type: string
          nullable: true
    DocumentContent:
      type: object
      properties:
        url:
          type: string
  securitySchemes:
    X-Auth-Token:
      type: apiKey
      in: header
      name: X-AUTH-TOKEN
  examples:
    CreateCollectionWithJsonRequestExample:
      summary: Create Collection with Json transformObjects
      value:
        id: string
        ownerId: string
        size: 0
        transformObjectType: CreateUserInput
        transformObjects:
          - First Name: firstName
            Last Name: lastName
            Extension Number: 4242
            User Tags: ''
            Time Zone: US/MOUNTAIN
            Email: email@example.com
            Username: username
            Feature Plan: STANDARD
            Voice Portal Access: 'NO'
            Calling Plan: ''
            Language: ENGLISH
    CreateCollectionWithFileExample:
      summary: Create Collection with upload file
      value:
        jobTypeId: create users
        columnTypes: object with column definitions
        transformObjectType: string
        transformObjectsFile: csvUploadFile.csv
    GetCollectionResponseExample:
      summary: Get collection response object
      value:
        id: collectionId
        ownerId: same as targetAccountId
        size: 0
        transformObjectType: CreateUserInput
        transformObjects: []
        createdDateTime: '2024-09-04T22:27:03.431Z'
    CreateJobExample:
      summary: Create a Job (multipart/form-data)
      value:
        transformObjectType: CreateUserInput
        transformObjectFile: <file to upload>
        targetAccountId: '0123948534'
        jobTypeId: create users
