openapi: 3.1.0
info:
  title: Number Management
  description: Bandwidth's Number Management APIs
  contact:
    name: Bandwidth
    url: https://dev.bandwidth.com/apis/numbers-apis/number-management
    email: support@bandwidth.com
  version: 1.0.0
  termsOfService: https://www.bandwidth.com/legal/terms-of-service/
servers:
  - url: https://api.bandwidth.com/api/v2
    description: Production
security:
  - Basic: []
  - Bearer: []
paths:
  /accounts/{accountId}/tags:
    get:
      summary: Retrieve Phone Number Tags
      description: >-
        Retrieve tags and associated phone numbers. You can filter by phone
        number, tag name, or tag value. If you filter by phone number, only tags
        associated with the given phone numbers will be returned.
      operationId: getPhoneNumberTag
      tags:
        - Phone Number Tagging
      parameters:
        - $ref: '#/components/parameters/accountIdPathParam'
        - $ref: '#/components/parameters/phoneNumbersQueryParam'
        - $ref: '#/components/parameters/tagNameQueryParam'
        - $ref: '#/components/parameters/tagValueQueryParam'
        - $ref: '#/components/parameters/pageSizeQueryParam'
        - $ref: '#/components/parameters/pageNumberQueryParam'
      responses:
        '200':
          $ref: '#/components/responses/getPhoneNumberTags'
        '400':
          $ref: '#/components/responses/badRequestError'
        '401':
          $ref: '#/components/responses/unauthorizedErrorBasic'
        '403':
          $ref: '#/components/responses/forbiddenError'
        '404':
          $ref: '#/components/responses/notFoundError'
        '405':
          $ref: '#/components/responses/methodNotAllowedError'
        '415':
          $ref: '#/components/responses/mediaTypeErrorJson'
        '429':
          $ref: '#/components/responses/tooManyRequestsError'
        '500':
          $ref: '#/components/responses/internalServerError'
      x-badges:
        - name: Beta
          color: '#076EA8'
  /accounts/{accountId}/tags/{tagName}/{tagValue}:
    patch:
      summary: Update Phone Number Tags
      description: >-
        Update the phone numbers associated with a tag. You can either move
        phone numbers to a specific tag or remove phone numbers from the tag. A
        MOVE operation will create a tag if it does not exist. If a phone number
        is already associated with a tag name, a MOVE operation will replace the
        tag value.
      operationId: updatePhoneNumberTags
      tags:
        - Phone Number Tagging
      parameters:
        - $ref: '#/components/parameters/accountIdPathParam'
        - $ref: '#/components/parameters/tagNamePathParam'
        - $ref: '#/components/parameters/tagValuePathParam'
      requestBody:
        $ref: '#/components/requestBodies/updatePhoneNumberTag'
      responses:
        '200':
          $ref: '#/components/responses/updatePhoneNumberTagsResponse'
        '400':
          $ref: '#/components/responses/updatePhoneNumberTagBadRequestError'
        '401':
          $ref: '#/components/responses/unauthorizedErrorBasic'
        '403':
          $ref: '#/components/responses/forbiddenError'
        '404':
          $ref: '#/components/responses/updatePhoneNumberTagNotFoundError'
        '405':
          $ref: '#/components/responses/methodNotAllowedError'
        '415':
          $ref: '#/components/responses/mediaTypeErrorJson'
        '429':
          $ref: '#/components/responses/tooManyRequestsError'
        '500':
          $ref: '#/components/responses/internalServerError'
      x-badges:
        - name: Beta
          color: '#076EA8'
    delete:
      summary: Delete Phone Number Tag
      description: >-
        Delete a phone number tag and dissociate all phone numbers from that
        tag.
      operationId: deletePhoneNumberTag
      tags:
        - Phone Number Tagging
      parameters:
        - $ref: '#/components/parameters/accountIdPathParam'
        - $ref: '#/components/parameters/tagNamePathParam'
        - $ref: '#/components/parameters/tagValuePathParam'
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/deleteTagBadRequestError'
        '401':
          $ref: '#/components/responses/unauthorizedErrorBasic'
        '403':
          $ref: '#/components/responses/forbiddenError'
        '404':
          $ref: '#/components/responses/notFoundError'
        '405':
          $ref: '#/components/responses/methodNotAllowedError'
        '415':
          $ref: '#/components/responses/mediaTypeErrorJson'
        '429':
          $ref: '#/components/responses/tooManyRequestsError'
        '500':
          $ref: '#/components/responses/internalServerError'
      x-badges:
        - name: Beta
          color: '#076EA8'
  /accounts/{accountId}/moveTns:
    get:
      tags:
        - Move TNs
      description: >-
        Retrieves the moveTns orders for the given account ID. A maximum of
        1,000 orders can be retrieved per request. If no date range or specific
        query parameter is provided, the order results will be limited to the
        last two years
      summary: List Move Telephone Numbers orders
      operationId: readMoveTnsOrders
      parameters:
        - $ref: '#/components/parameters/accountIdPathParam'
        - $ref: '#/components/parameters/statusQueryParam'
        - $ref: '#/components/parameters/telephoneNumberQueryParam'
        - $ref: '#/components/parameters/customerOrderIdQueryParam'
        - $ref: '#/components/parameters/createdDateFromQueryParam'
        - $ref: '#/components/parameters/createdDateToQueryParam'
        - $ref: '#/components/parameters/modifiedDateFromQueryParam'
        - $ref: '#/components/parameters/modifiedDateToQueryParam'
        - $ref: '#/components/parameters/pageSizeQueryParam'
        - $ref: '#/components/parameters/pageNumberQueryParam'
      responses:
        '200':
          $ref: '#/components/responses/getMoveTnsResponse200'
    post:
      tags:
        - Move TNs
      description: >-
        Creates a MoveTnsOrder request to move numbers to the given
        site/sub-account ID and SIP peer/location ID as specified in the body. A
        successfully submitted order will have a status of "RECEIVED".

        A successfully completed order will have a status of "COMPLETE" if all
        of the telephone numbers were successfully moved and "PARTIAL" if some
        of the telephone numbers were moved. A failed order will have a status
        of "FAILED" and no telephone numbers would have been moved.</p>


        <p>Numbers can be moved to sub-accounts (or sites) and locations (or SIP
        peers) of a different account (if the user has access to both accounts
        and the proper roles). This can be done by specifying the
        SourceAccountId parameter. The user can also specify how to handle E911
        service on the number (if it exists) using the optional
        e911ServiceAction parameter
      summary: Move Telephone Numbers
      operationId: createMoveTnsOrder
      parameters:
        - $ref: '#/components/parameters/accountIdPathParam'
      requestBody:
        $ref: '#/components/requestBodies/createMoveTnsOrderRequestBody'
      responses:
        '201':
          $ref: '#/components/responses/postMoveTnsResponse201'
        '400':
          $ref: '#/components/responses/postMoveTnsResponse400'
  /accounts/{accountId}/moveTns/{orderId}:
    get:
      tags:
        - Move TNs
      description: Retrieve information about a MoveTnsOrder with specified ID
      summary: Fetch Move Telephone Numbers order status
      operationId: readMoveTnsOrder
      parameters:
        - $ref: '#/components/parameters/accountIdPathParam'
        - $ref: '#/components/parameters/orderIdPathParam'
      responses:
        '200':
          $ref: '#/components/responses/getMoveTnsOrderByOrderIdResponse200'
        '404':
          $ref: '#/components/responses/getMoveTnsOrderByOrderIdResponse404'
  /accounts/{accountId}/moveTns/{orderId}/history:
    get:
      tags:
        - Move TNs
      description: Retrieves the history of the specified MoveTnsOrder
      summary: Fetch Move Telephone Numbers order history
      operationId: readMoveTnsOrderHistory
      parameters:
        - $ref: '#/components/parameters/accountIdPathParam'
        - $ref: '#/components/parameters/orderIdPathParam'
      responses:
        '200':
          $ref: '#/components/responses/getMoveTnsOrderHistoryResponse200'
        '404':
          $ref: '#/components/responses/getMoveTnsOrderByOrderIdResponse404'
  /accounts/{accountId}/moveTnsChecker:
    post:
      tags:
        - Move TNs Checker
      description: >-
        This API provides a dry-run capability for MoveTn orders that enables
        users to obtain the validation information without actually executing
        the order.


        <p>This is a synchronous process. Instead of generating an order this
        will provide a response that includes validation information for the
        submitted MoveTn request. This will include numbers that can be
        successfully moved and numbers where there is some compatibility or
        validation issue.</p>
      summary: Move Phone Numbers Checker
      operationId: moveTnsChecker
      parameters:
        - $ref: '#/components/parameters/accountIdPathParam'
      requestBody:
        $ref: '#/components/requestBodies/moveTnsCheckersRequestBody'
      responses:
        '200':
          $ref: '#/components/responses/postMoveTnsCheckerResponse200'
        '400':
          $ref: '#/components/responses/postMoveTnsCheckerResponse400'
  /accounts/{accountId}/moveTns/bulk:
    post:
      description: >-
        This endpoint creates a bulk MoveTNs order which will generate a number
        of child MoveTNs orders and track their

        progress. The amount and details of the child orders will be determined
        based on the information provided in the

        `orderDetails` element. Each item there should include a unique
        combination of details based on the desired

        destination and configuration of the TNs after the move.
      operationId: createMoveTnsBulkOrder
      parameters:
        - $ref: '#/components/parameters/accountIdPathParam'
      requestBody:
        $ref: '#/components/requestBodies/createMoveTnsBulkOrderRequest'
      responses:
        '202':
          $ref: '#/components/responses/createMoveTnsBulkOrder202Response'
        '400':
          $ref: '#/components/responses/createMoveTnsBulkOrder400Response'
        '401':
          $ref: '#/components/responses/unauthorizedErrorBasic'
        '403':
          $ref: '#/components/responses/forbiddenError'
        '404':
          $ref: '#/components/responses/notFoundError'
        '405':
          $ref: '#/components/responses/methodNotAllowedError'
        '429':
          $ref: '#/components/responses/tooManyRequestsError'
        '500':
          $ref: '#/components/responses/internalServerError'
      summary: Create Move TNs Bulk Order
      tags:
        - Move TNs Bulk Orders
  /accounts/{accountId}/moveTns/bulk/{orderId}:
    get:
      description: >-
        This endpoint returns the state of the bulk order, along with summary
        information about the child

        orders created from the bulk order submission. The response includes
        varying amounts of information based

        on the status of the bulk order. The `verbose` query param can be
        specified to include the original details

        which were supplied for the bulk move along with the child orders
        created for each set of details.
      operationId: getMoveTnsBulkOrderStatus
      parameters:
        - $ref: '#/components/parameters/accountIdPathParam'
        - $ref: '#/components/parameters/orderIdPathParam'
        - $ref: '#/components/parameters/bulkOrderVerboseQueryParam'
      responses:
        '200':
          $ref: '#/components/responses/getMoveTnsBulkOrderStatus200Response'
        '400':
          $ref: '#/components/responses/badRequestError'
        '401':
          $ref: '#/components/responses/unauthorizedErrorBasic'
        '403':
          $ref: '#/components/responses/forbiddenError'
        '404':
          $ref: '#/components/responses/notFoundError'
        '405':
          $ref: '#/components/responses/methodNotAllowedError'
        '429':
          $ref: '#/components/responses/tooManyRequestsError'
        '500':
          $ref: '#/components/responses/internalServerError'
      summary: Get Move TNs Bulk Order Status
      tags:
        - Move TNs Bulk Orders
  /accounts/{accountId}/numberReputationManagement/groups:
    get:
      tags:
        - Number Reputation Management
      description: List groups for a specific account
      operationId: listGroups
      summary: List Groups
      parameters:
        - $ref: '#/components/parameters/accountIdPathParam'
      responses:
        '200':
          $ref: '#/components/responses/getListOfGroups200Response'
        '400':
          $ref: '#/components/responses/badRequestError'
        '401':
          $ref: '#/components/responses/unauthorizedErrorBasic'
        '403':
          $ref: '#/components/responses/forbiddenError'
        '404':
          $ref: '#/components/responses/notFoundError'
        '405':
          $ref: '#/components/responses/methodNotAllowedError'
        '429':
          $ref: '#/components/responses/tooManyRequestsError'
        '500':
          $ref: '#/components/responses/internalServerError'
    post:
      tags:
        - Number Reputation Management
      description: >-
        Create a new group to which phone numbers can be assigned for Number
        Reputation Management.
      operationId: createGroup
      summary: Create Group
      parameters:
        - $ref: '#/components/parameters/accountIdPathParam'
      requestBody:
        $ref: '#/components/requestBodies/createGroupRequest'
      responses:
        '201':
          $ref: '#/components/responses/createGroupResponse'
        '400':
          $ref: '#/components/responses/badRequestError'
        '401':
          $ref: '#/components/responses/unauthorizedErrorBasic'
        '403':
          $ref: '#/components/responses/forbiddenError'
        '404':
          $ref: '#/components/responses/notFoundError'
        '405':
          $ref: '#/components/responses/methodNotAllowedError'
        '429':
          $ref: '#/components/responses/tooManyRequestsError'
        '500':
          $ref: '#/components/responses/internalServerError'
  /accounts/{accountId}/numberReputationManagement/groups/{groupId}:
    get:
      tags:
        - Number Reputation Management
      description: Get group information for a specific account and group ID
      operationId: getGroup
      summary: Get Group
      parameters:
        - $ref: '#/components/parameters/accountIdPathParam'
        - $ref: '#/components/parameters/groupIdPathParam'
      responses:
        '200':
          $ref: '#/components/responses/getGroup200Response'
        '400':
          $ref: '#/components/responses/badRequestError'
        '401':
          $ref: '#/components/responses/unauthorizedErrorBasic'
        '403':
          $ref: '#/components/responses/forbiddenError'
        '404':
          $ref: '#/components/responses/notFoundError'
        '405':
          $ref: '#/components/responses/methodNotAllowedError'
        '429':
          $ref: '#/components/responses/tooManyRequestsError'
        '500':
          $ref: '#/components/responses/internalServerError'
    patch:
      tags:
        - Number Reputation Management
      description: Update group attributes.
      operationId: updateGroup
      summary: Update Group
      parameters:
        - $ref: '#/components/parameters/accountIdPathParam'
        - $ref: '#/components/parameters/groupIdPathParam'
      requestBody:
        $ref: '#/components/requestBodies/groupPatchRequest'
      responses:
        '200':
          $ref: '#/components/responses/patchNumberGroupResponse'
        '400':
          $ref: '#/components/responses/badRequestError'
        '401':
          $ref: '#/components/responses/unauthorizedErrorBasic'
        '403':
          $ref: '#/components/responses/forbiddenError'
        '404':
          $ref: '#/components/responses/notFoundError'
        '405':
          $ref: '#/components/responses/methodNotAllowedError'
        '429':
          $ref: '#/components/responses/tooManyRequestsError'
        '500':
          $ref: '#/components/responses/internalServerError'
    delete:
      tags:
        - Number Reputation Management
      description: Deletes a group by its ID for the specified account.
      operationId: deleteGroup
      summary: Delete group by ID
      parameters:
        - $ref: '#/components/parameters/accountIdPathParam'
        - $ref: '#/components/parameters/groupIdPathParam'
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/badRequestError'
        '401':
          $ref: '#/components/responses/unauthorizedErrorBasic'
        '403':
          $ref: '#/components/responses/forbiddenError'
        '404':
          $ref: '#/components/responses/notFoundError'
        '405':
          $ref: '#/components/responses/methodNotAllowedError'
        '429':
          $ref: '#/components/responses/tooManyRequestsError'
        '500':
          $ref: '#/components/responses/internalServerError'
  /accounts/{accountId}/numberReputationManagement/phoneNumbers:
    get:
      tags:
        - Number Reputation Management
      description: Get phone number reputation details
      operationId: checkNumbersStatus
      summary: Get Phone Number Reputation Details
      parameters:
        - $ref: '#/components/parameters/accountIdPathParam'
        - $ref: '#/components/parameters/groupIdQueryParam'
        - $ref: '#/components/parameters/customerIdQueryParam'
        - $ref: '#/components/parameters/phoneNumberQueryParam'
        - $ref: '#/components/parameters/carriersReputationSummaryQueryParam'
        - $ref: '#/components/parameters/pageNumberQueryParam'
        - $ref: '#/components/parameters/pageSizeQueryParam'
      responses:
        '200':
          $ref: '#/components/responses/getPhoneNumberReputationDetailsResponse'
        '400':
          $ref: '#/components/responses/badRequestError'
        '401':
          $ref: '#/components/responses/unauthorizedErrorBasic'
        '403':
          $ref: '#/components/responses/forbiddenError'
        '404':
          $ref: '#/components/responses/notFoundError'
        '405':
          $ref: '#/components/responses/methodNotAllowedError'
        '429':
          $ref: '#/components/responses/tooManyRequestsError'
        '500':
          $ref: '#/components/responses/internalServerError'
  /accounts/{accountId}/numberReputationManagement/phoneNumbers/bulk:
    post:
      tags:
        - Number Reputation Management
      description: >-
        Update the assignment of multiple numbers to number reputation groups.
        This allows you to add numbers to a group by ID, or remove up to 5000
        numbers from any number of groups. If one or more numbers is unable to
        be updated, the valid numbers will still be updated and returned in the
        response.
      operationId: bulkPhoneNumberUpdate
      summary: Bulk Phone Number Update
      parameters:
        - $ref: '#/components/parameters/accountIdPathParam'
      requestBody:
        $ref: '#/components/requestBodies/bulkPhoneNumberUpdateRequestBody'
      responses:
        '200':
          $ref: '#/components/responses/bulkPhoneNumberUpdate200Response'
        '400':
          $ref: '#/components/responses/badRequestError'
        '401':
          $ref: '#/components/responses/unauthorizedErrorBasic'
        '403':
          $ref: '#/components/responses/forbiddenError'
        '404':
          $ref: '#/components/responses/notFoundError'
        '405':
          $ref: '#/components/responses/methodNotAllowedError'
        '409':
          $ref: '#/components/responses/conflictError'
        '429':
          $ref: '#/components/responses/tooManyRequestsError'
        '500':
          $ref: '#/components/responses/internalServerError'
  /accounts/{accountId}/numberReputationManagement/phoneNumbers/{phoneNumber}/history:
    get:
      tags:
        - Number Reputation Management
      description: >-
        Get historical reputation status data for a specific phone number
        managed by Number Reputation Management. Returns a list of historical
        status entries sorted in reverse chronological order by scan time.
      operationId: getPhoneNumberReputationHistory
      summary: Get Phone Number Reputation History
      parameters:
        - $ref: '#/components/parameters/accountIdPathParam'
        - $ref: '#/components/parameters/phoneNumberPathParam'
        - $ref: '#/components/parameters/scanTimeQueryParam'
        - $ref: '#/components/parameters/pageNumberQueryParam'
        - $ref: '#/components/parameters/pageSizeQueryParam'
      responses:
        '200':
          $ref: '#/components/responses/getPhoneNumberReputationHistoryResponse'
        '400':
          $ref: '#/components/responses/badRequestError'
        '401':
          $ref: '#/components/responses/unauthorizedErrorBasic'
        '403':
          $ref: '#/components/responses/forbiddenError'
        '404':
          $ref: '#/components/responses/notFoundError'
        '405':
          $ref: '#/components/responses/methodNotAllowedError'
        '429':
          $ref: '#/components/responses/tooManyRequestsError'
        '500':
          $ref: '#/components/responses/internalServerError'
  /accounts/{accountId}/numberReputationManagement/phoneNumbers/stats:
    get:
      tags:
        - Number Reputation Management
      description: Get phone number reputation statistics
      operationId: getNumberStats
      summary: Get Phone Number Reputation Statistics
      parameters:
        - $ref: '#/components/parameters/accountIdPathParam'
        - $ref: '#/components/parameters/groupIdQueryParam'
        - $ref: '#/components/parameters/phoneNumberQueryParam'
        - $ref: '#/components/parameters/carriersReputationSummaryQueryParam'
        - $ref: '#/components/parameters/customerIdQueryParam'
      responses:
        '200':
          $ref: '#/components/responses/statusStatsResponse'
        '400':
          $ref: '#/components/responses/badRequestError'
        '401':
          $ref: '#/components/responses/unauthorizedErrorBasic'
        '403':
          $ref: '#/components/responses/forbiddenError'
        '404':
          $ref: '#/components/responses/notFoundError'
        '405':
          $ref: '#/components/responses/methodNotAllowedError'
        '429':
          $ref: '#/components/responses/tooManyRequestsError'
        '500':
          $ref: '#/components/responses/internalServerError'
  /accounts/{accountId}/numberReputationManagement/customers:
    get:
      tags:
        - Number Reputation Management
      description: Get a list of customers for the specified account.
      operationId: listCustomers
      summary: List Customers
      parameters:
        - $ref: '#/components/parameters/accountIdPathParam'
      responses:
        '200':
          $ref: '#/components/responses/getListOfCustomers200Response'
        '400':
          $ref: '#/components/responses/badRequestErrorCustomer'
        '401':
          $ref: '#/components/responses/unauthorizedErrorBasicCustomer'
        '403':
          $ref: '#/components/responses/forbiddenErrorCustomer'
        '404':
          $ref: '#/components/responses/accountNotFoundError'
        '405':
          $ref: '#/components/responses/methodNotAllowedErrorCustomer'
        '409':
          $ref: '#/components/responses/conflictErrorCustomer'
        '429':
          $ref: '#/components/responses/tooManyRequestsErrorCustomer'
        '500':
          $ref: '#/components/responses/internalServerErrorCustomer'
  /accounts/{accountId}/numberReputationManagement/customers/{customerId}:
    get:
      tags:
        - Number Reputation Management
      description: Get a specific customer for the specified account.
      operationId: getCustomer
      summary: Get Customer
      parameters:
        - $ref: '#/components/parameters/accountIdPathParam'
        - $ref: '#/components/parameters/customerIdPathParam'
      responses:
        '200':
          $ref: '#/components/responses/getCustomer200Response'
        '400':
          $ref: '#/components/responses/badRequestErrorCustomer'
        '401':
          $ref: '#/components/responses/unauthorizedErrorBasicCustomer'
        '403':
          $ref: '#/components/responses/forbiddenErrorCustomer'
        '404':
          $ref: '#/components/responses/customerNotFoundError'
        '405':
          $ref: '#/components/responses/methodNotAllowedErrorCustomer'
        '409':
          $ref: '#/components/responses/conflictErrorCustomer'
        '429':
          $ref: '#/components/responses/tooManyRequestsErrorCustomer'
        '500':
          $ref: '#/components/responses/internalServerErrorCustomer'
  /accounts/{accountId}/serviceActivationChecker:
    post:
      tags:
        - Service Activation
      summary: Checks service activation status for a list of phone numbers
      description: >-
        Accepts a list of phone numbers and returns the service activation
        status for each phone number. If service is not able to be activated,
        missing requirements will also be returned.
      operationId: serviceActivationCheck
      parameters:
        - $ref: '#/components/parameters/accountIdPathParam'
      requestBody:
        $ref: '#/components/requestBodies/serviceActivationChecker'
      responses:
        '200':
          $ref: '#/components/responses/serviceActivationCheckerOk'
        '400':
          $ref: '#/components/responses/serviceActivationCheckerBadRequest'
        '401':
          $ref: '#/components/responses/unauthorizedError'
        '403':
          $ref: '#/components/responses/forbiddenError'
        '404':
          $ref: '#/components/responses/notFoundError'
        '405':
          $ref: '#/components/responses/methodNotAllowedError'
        '429':
          $ref: '#/components/responses/tooManyRequestsError'
        '500':
          $ref: '#/components/responses/internalServerError'
  /accounts/{accountId}/serviceActivationOrders:
    get:
      tags:
        - Service Activation
      summary: Gets a list of service activation orders
      description: >-
        Gets a list of the service activation orders belonging to the specified
        account. Orders can be filtered by customer order ID (exact match or
        starts with). Results are paginated.
      operationId: serviceActivationOrderList
      parameters:
        - $ref: '#/components/parameters/accountIdPathParam'
        - $ref: '#/components/parameters/customerOrderIdQueryParamEqStartsWith'
        - $ref: '#/components/parameters/pageNumberQueryParam'
        - $ref: '#/components/parameters/pageSizeQueryParam'
        - $ref: '#/components/parameters/verboseParam'
      responses:
        '200':
          $ref: '#/components/responses/serviceActivationSearch'
        '400':
          $ref: '#/components/responses/badRequestError'
        '401':
          $ref: '#/components/responses/unauthorizedError'
        '403':
          $ref: '#/components/responses/forbiddenError'
        '404':
          $ref: '#/components/responses/notFoundError'
        '405':
          $ref: '#/components/responses/methodNotAllowedError'
        '429':
          $ref: '#/components/responses/tooManyRequestsError'
        '500':
          $ref: '#/components/responses/internalServerError'
    post:
      tags:
        - Service Activation
      summary: Creates a service activation order
      description: >-
        Creates a service activation order to activate service on a list of
        telephone numbers.
      operationId: serviceActivationOrder
      parameters:
        - $ref: '#/components/parameters/accountIdPathParam'
      requestBody:
        $ref: '#/components/requestBodies/serviceActivationOrder'
      responses:
        '201':
          $ref: '#/components/responses/serviceActivationOrderCreated'
        '400':
          $ref: '#/components/responses/badRequestError'
        '401':
          $ref: '#/components/responses/unauthorizedError'
        '403':
          $ref: '#/components/responses/forbiddenError'
        '404':
          $ref: '#/components/responses/notFoundError'
        '405':
          $ref: '#/components/responses/methodNotAllowedError'
        '429':
          $ref: '#/components/responses/tooManyRequestsError'
        '500':
          $ref: '#/components/responses/internalServerError'
  /accounts/{accountId}/serviceActivationOrders/{orderId}:
    get:
      tags:
        - Service Activation
      summary: Gets a service activation order
      description: Gets a service activation order with the specified orderId.
      operationId: serviceActivationOrderGet
      parameters:
        - $ref: '#/components/parameters/accountIdPathParam'
        - $ref: '#/components/parameters/orderIdPathParam'
      responses:
        '200':
          $ref: '#/components/responses/serviceActivationOrderDetails'
        '400':
          $ref: '#/components/responses/badRequestError'
        '401':
          $ref: '#/components/responses/unauthorizedError'
        '403':
          $ref: '#/components/responses/forbiddenError'
        '404':
          $ref: '#/components/responses/notFoundError'
        '405':
          $ref: '#/components/responses/methodNotAllowedError'
        '429':
          $ref: '#/components/responses/tooManyRequestsError'
        '500':
          $ref: '#/components/responses/internalServerError'
components:
  securitySchemes:
    Basic:
      type: http
      scheme: basic
      description: >-
        Basic authentication is a simple authentication scheme built into the
        HTTP protocol. To use it, send your HTTP requests with an Authorization
        header that contains the word Basic followed by a space and a
        base64-encoded string `username:password`. Example: `Authorization:
        Basic dXNlcm5hbWU6cGFzc3dvcmQ=`
    Bearer:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Bearer authentication (also called token authentication) is an HTTP
        authentication scheme that involves security tokens called bearer
        tokens. The name “Bearer authentication” can be understood as “give
        access to the bearer of this token.” The client must send this token in
        the Authorization header when making requests to protected resources.


        Example: `Authorization: Bearer <token>`
  schemas:
    getPhoneNumbersTagsResponse:
      title: List phone number tags and associated phone numbers
      type: object
      properties:
        links:
          $ref: '#/components/schemas/links'
        data:
          type: object
          properties:
            totalCount:
              type: number
              description: Total number of tags listed.
            tags:
              type: array
              items:
                type: object
                properties:
                  tagName:
                    $ref: '#/components/schemas/tagName'
                  tagValue:
                    $ref: '#/components/schemas/tagValue'
                  phoneNumbers:
                    $ref: '#/components/schemas/phoneNumbers'
        errors:
          $ref: '#/components/schemas/errors'
        page:
          $ref: '#/components/schemas/page'
    updatePhoneNumberTagResponse:
      title: Update phone number tag response
      type: object
      properties:
        links:
          $ref: '#/components/schemas/links'
        data:
          type: object
          properties:
            tagName:
              $ref: '#/components/schemas/tagName'
            tagValue:
              $ref: '#/components/schemas/tagValue'
            phoneNumbers:
              $ref: '#/components/schemas/phoneNumbers'
        errors:
          $ref: '#/components/schemas/errors'
    updatePhoneNumberTagRequest:
      type: object
      properties:
        action:
          $ref: '#/components/schemas/phoneNumberTagActions'
        phoneNumbers:
          $ref: '#/components/schemas/phoneNumbers'
      required:
        - action
        - phoneNumbers
    phoneNumberTagActions:
      type: string
      description: >-
        The MOVE action moves phone numbers to a specific tag. The REMOVE action
        removes phone numbers from a specific tag.
      enum:
        - MOVE
        - REMOVE
    tagName:
      type: string
      description: Name of tag associated with a phone number.
      example: customerId
    tagValue:
      type: string
      description: Value of tag associated with a phone number.
      example: 11111111-1111-1111-1111-111111111111
    paginationLinks:
      type: object
      title: Links
      properties:
        first:
          type: string
        next:
          type: string
        previous:
          type: string
        last:
          type: string
    moveTnsCheckerResponse400Json:
      type: object
      properties:
        data:
          type: object
          nullable: true
        errors:
          type: array
          items:
            title: error
            properties:
              code:
                type: integer
              description:
                type: string
        links:
          title: Links
          type: array
          items:
            type: object
    moveTnsCheckerPayloadJson:
      title: MoveTnsCheckerResponseJson
      properties:
        links:
          title: Links
          type: array
          items:
            type: object
            properties:
              href:
                type: string
                description: URI of the link
                example: /self/uri
              rel:
                type: string
                description: Specifies the relationship between this link and the resource.
                example: SelfResource
              method:
                type: string
                description: HTTP method to be used
                example: POST
        data:
          type: object
          properties:
            validPhoneNumbers:
              type: array
              minItems: 0
              maxItems: 5000
              items:
                type: string
                description: E.164
        errors:
          title: error
          type: array
          items:
            type: object
            properties:
              code:
                type: integer
              description:
                type: string
    moveTnsCheckerRequestJson:
      type: object
      title: moveTnsCheckerRequestJson
      required:
        - phoneNumbers
        - subAccountId
        - locationId
      properties:
        subAccountId:
          $ref: '#/components/schemas/subAccountId'
        locationId:
          $ref: '#/components/schemas/locationId'
        phoneNumbers:
          $ref: '#/components/schemas/phoneNumbers'
        sourceAccountId:
          $ref: '#/components/schemas/sourceAccountId'
        messagingService:
          $ref: '#/components/schemas/messagingService'
        e911ServiceAction:
          $ref: '#/components/schemas/e911ServiceAction'
        voiceConfigurationPackageId:
          $ref: '#/components/schemas/voiceConfigurationPackageId'
        requirementsPackageId:
          $ref: '#/components/schemas/requirementsPackageId'
        bypassMessagingLossBlock:
          $ref: '#/components/schemas/bypassMessagingLossBlock'
        bypassMessagingCampaignBlock:
          $ref: '#/components/schemas/bypassMessagingCampaignBlock'
    subAccountId:
      type: number
      example: 487
      description: The ID of the sub-account to which the phone numbers will be moved.
    locationId:
      type: number
      example: 538036
      description: The ID of the location to which the phone numbers will be moved.
    phoneNumbers:
      type: array
      items:
        type: string
      minItems: 1
      maxItems: 5000
      description: The list of phone numbers in E.164 format.
      example:
        - '+19195551000'
        - '+19195551001'
        - '+19195551002'
    e911ServiceAction:
      type: string
      description: >-
        This parameter provides flexibility on handling the E911 service of a
        number when moving to a new account.

        The default is to “MOVE,” but that may not be possible, resulting in an
        error where DELETE is required.

        For example, if moving numbers to an account that uses PIDFLO for E911
        then E911ServiceAction = DELETE

        is required, and the E911 service will need to be configured on the
        numbers after the move.
      enum:
        - MOVE
        - DELETE
      default: MOVE
    messagingService:
      type: string
      description: >-
        The action to be taken on the messaging service when moving numbers.
        This field

        ensures that the destination account has compatible messaging settings
        to support moving numbers. If the 

        validation passes, the numbers are moved without altering their existing
        messaging settings. However, 

        if the validation fails, the order will be rejected with an error
        messaging indicating incompatible settings.


        If set to `useDestinationSettings`, this will apply the destination
        location's messaging settings to the number.


        If set to `useCurrentNumberSettings`, this will validate and apply
        whether the destination location 

        can accept the numbers' existing messaging settings.
      enum:
        - USE_DESTINATION_SETTINGS
        - USE_CURRENT_NUMBER_SETTINGS
      default: USE_DESTINATION_SETTINGS
    voiceConfigurationPackageId:
      title: Voice Configuration Package ID
      type: string
      format: uuid
      example: c7951e4f-6285-4b75-83e5-392558f59067
      description: >-
        The identifier of the voice configuration package containing the voice
        origination settings. Upon activation, 

        telephone numbers will be configured with the voice origination settings
        specified in the voice configuration

        package. This is required if the numbers currently have voice service
        and are being moved to another account

        which has the voice configuration package feature.
    requirementsPackageId:
      title: Requirements Package ID
      type: string
      format: uuid
      example: c7951e4f-6285-4b75-83e5-392558f59067
      description: >-
        The identifier of the requirements package containing the end user
        details for the telephone numbers. This

        is required if the numbers are being moved across accounts and if they
        are a part of a country and number type

        which has end user validation requirements. The provided requirements
        package must be approved and compatible

        with the telephone numbers being moved.
    bypassMessagingLossBlock:
      type: boolean
      description: >-
        A flag that determines whether to bypass the messaging loss block. 


        If set to **true**, no error will occur when moving a number with
        messaging to a location or account that does

        not support messaging; messaging will simply be disabled in this case.


        If set to **false**, an error will be triggered if such a move is
        attempted, preventing the move from processing.


        Default value is false.
      example: false
    bypassMessagingCampaignBlock:
      type: boolean
      description: >-
        A flag that determines whether to bypass the messaging campaign block.


        If set to **true** and the numbers are associated with a messaging
        campaign, the move TN request will succeed,

        but the campaign will be removed from the numbers during the move.


        If set to **false** and the numbers are associated with a messaging
        campaign, the move request will 

        fail with an error.


        Default value is false.
      example: false
    sourceAccountId:
      type: number
      example: 9902975
      description: ID of source account, in the case of moving numbers across accounts.
    migrateCampaign:
      type: boolean
      default: false
      description: >-
        Flag for cross-account moves denoting whether any campaigns associated
        with phone numbers from the order should

        also be migrated to the new account. If set to `true`, all phone numbers
        from each involved campaign must be

        moved in the same bulk order and the messaging settings of the source
        and destination accounts must be the same.

        If set to `false`, the moved numbers will be removed from their current
        campaigns if they are moved to a new account.
    lastModifiedDate:
      type: string
      format: date-time
      example: '2026-02-02T17:16:54.081Z'
      description: The date/time when the order was last modified.
    orderDate:
      type: string
      format: date-time
      example: '2026-02-02T17:16:53.458Z'
      description: The date/time when the order was created.
    orderIds:
      description: >-
        A list of order IDs for child orders generated from this group of phone
        number configurations. If there were more than 5000

        phone numbers for one grouping of bulk order details, multiple child
        orders will be created.
      items:
        type: string
        format: uuid
      type: array
    orderId:
      type: string
      format: uuid
      description: Unique identifier for the order that was created.
    userId:
      type: string
      description: The ID of the user who created the order.
    bulkMoveTnsOrderStatus:
      type: string
      description: >-
        Processing status of the bulk Move TNs order.


        RECEIVED - Order has been received without any synchronous errors and
        will be processed through further validation.


        PROCESSING - Order has passed validation and is being processed
        asynchronously. Some child orders may have completed, but at least one
        is in progress.


        FAILED - This implies that the order did not pass synchronous validation
        (Either number specific or non-number specific errors will be
        displayed).


        COMPLETE - All child orders have been processed and the order is
        complete. Review the statuses of each child order for details on the
        outcome.
      enum:
        - RECEIVED
        - PROCESSING
        - COMPLETE
        - FAILED
    childMoveTnsOrderStatus:
      type: string
      description: >-
        Processing status of the child Move TNs order.


        RECEIVED - Order has been received without any synchronous errors and
        will be processed through further validation.


        PROCESSING - The order has passed initial validation and is now being
        processed. This child order will now go through further asynchronous
        validation.


        COMPLETE - This implies that this child order has been successfully
        processed and all numbers have been moved with the desired
        configurations.


        FAILED - This implies that some asynchronous errors are associated with
        the child order. No numbers were moved within this specific child order.


        PARTIAL - This implies that some numbers were successfully moved while
        others encountered asynchronous errors within this specific child order.
      enum:
        - RECEIVED
        - PROCESSING
        - COMPLETE
        - FAILED
        - PARTIAL
    bulkMoveTnsErrors:
      description: >-
        Errors which arose on the bulk order during validation. Any phone
        numbers which encounter errors at this point will not

        be moved and will remain on their current account and location.
      items:
        properties:
          code:
            description: Error code unique to the specific failure which occurred.
            type: string
          description:
            description: Error description.
            type: string
          meta:
            properties:
              phoneNumbers:
                description: List of phone numbers for which the error occurred.
                items:
                  type: string
                type: array
            type: object
        type: object
      type: array
    actionEnum:
      type: string
      description: The action to take with the specified phone numbers.
      enum:
        - ADD
        - REMOVE
      example: ADD
    groupId:
      type: number
      description: >-
        The ID of the group to which phone numbers are being added. Required for
        the `ADD` action and ignored for the `REMOVE` action.
      example: 123456
    bulkPhoneNumberUpdateRequest:
      type: object
      properties:
        action:
          $ref: '#/components/schemas/actionEnum'
        groupId:
          $ref: '#/components/schemas/groupId'
        phoneNumbers:
          $ref: '#/components/schemas/phoneNumbers'
      required:
        - action
        - phoneNumbers
    bulkPhoneNumberUpdate200Response:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/bulkPhoneNumberUpdateResponseData'
        links:
          type: array
          items:
            $ref: '#/components/schemas/link'
          example: []
        errors:
          type: array
          items:
            $ref: '#/components/schemas/error'
      required:
        - data
        - links
        - errors
    bulkPhoneNumberUpdateResponseData:
      type: object
      properties:
        action:
          $ref: '#/components/schemas/actionEnum'
          description: The action that was taken on the phone numbers.
        groupId:
          $ref: '#/components/schemas/groupId'
          description: >-
            The ID of the group to which numbers are being added. Returned only
            for the `ADD` action.
        updatedPhoneNumbers:
          $ref: '#/components/schemas/phoneNumbers'
          description: >-
            The list of phone numbers that were successfully updated by the
            request, in E.164 format.
    telephoneNumberGroupError:
      type: object
      title: Error
      properties:
        Code:
          type: integer
        Description:
          type: string
        TelephoneNumbers:
          type: array
          xml:
            wrapped: true
          items:
            type: string
            xml:
              name: TelephoneNumber
    moveTnsOrders:
      type: object
      properties:
        TotalCount:
          type: integer
        Links:
          $ref: '#/components/schemas/paginationLinks'
        MoveTnsOrderSummary:
          type: array
          items:
            $ref: '#/components/schemas/orderSummary'
    moveTnsJsonOrders:
      type: object
      properties:
        totalCount:
          type: integer
        links:
          $ref: '#/components/schemas/paginationLinks'
        orders:
          type: array
          items:
            $ref: '#/components/schemas/moveTnsOrderSummaryJson'
    orderSummary:
      type: object
      properties:
        AccountId:
          type: integer
        UserId:
          type: string
        OrderId:
          type: string
        LastModifiedDate:
          type: string
        CountOfTNs:
          type: integer
        LastModifiedNote:
          $ref: '#/components/schemas/note'
        SuppCount:
          type: integer
        OrderType:
          type: string
        CustomerOrderId:
          type: string
          description: >-
            The customer-defined reference ID for this order, if one was
            provided at creation. Not unique — Bandwidth applies no uniqueness
            constraint, so multiple orders may share the same value. Each order
            has a distinct Bandwidth-assigned `orderId`.
        OrderDate:
          type: string
        OrderStatus:
          type: string
    moveTnsOrderSummaryJson:
      type: object
      properties:
        accountId:
          type: integer
        sourceAccountId:
          type: integer
        userId:
          type: string
        orderId:
          type: string
        lastModifiedDate:
          type: string
        phoneNumberCount:
          type: integer
        orderType:
          type: string
        orderDate:
          type: string
        orderStatus:
          type: string
    moveTnsOrderJsonResponsePayload:
      title: MoveTnsOrder
      type: object
      properties:
        orderId:
          type: string
        accountId:
          type: integer
        lastModifiedDate:
          type: string
        createdByUser:
          type: string
        customerOrderId:
          type: string
          description: >-
            The customer-defined reference ID for this order, if one was
            provided at creation. Not unique — Bandwidth applies no uniqueness
            constraint, so multiple orders may share the same value. Each order
            has a distinct Bandwidth-assigned `orderId`.
        subAccountId:
          type: integer
        sourceAccountId:
          type: integer
        locationId:
          type: integer
        orderCreateDate:
          type: string
        phoneNumbers:
          type: array
          items:
            type: string
        orderStatus:
          type: string
          enum:
            - RECEIVED
            - PROCESSING
            - PARTIAL
            - COMPLETE
            - FAILED
        errors:
          type: array
          items:
            $ref: '#/components/schemas/telephoneNumberGroupJsonError'
        warnings:
          type: array
          items:
            $ref: '#/components/schemas/jsonWarning'
    jsonWarning:
      type: object
      properties:
        phoneNumber:
          type: string
        type:
          type: string
          enum:
            - SMS
            - E911
        description:
          type: string
          description: Details about the issue which may require user attention.
    moveTnsOrder:
      title: MoveTnsOrder
      type: object
      required:
        - TelephoneNumbers
        - SiteId
        - SipPeerId
      properties:
        TelephoneNumbers:
          description: >-
            List of telephone numbers to be moved. Maximum of 5,000 allowed per
            POST
          type: array
          minItems: 1
          maxItems: 5000
          items:
            type: object
            properties:
              TelephoneNumber:
                description: Ten digit phone number with no dots or dashes
                type: integer
        SiteId:
          description: A site id to which telephone number will be moved
          type: integer
        CustomerOrderId:
          pattern: ^[a-zA-Z0-9 -]{1,255}$
          description: >-
            Optional customer-defined reference ID for this order. Only
            alphanumeric values, dashes and spaces are allowed. Max length is
            255 characters. Not unique — Bandwidth applies no uniqueness
            constraint, so multiple orders may share the same value. Each order
            receives its own unique Bandwidth-assigned `orderId`.
          type: string
        SipPeerId:
          description: >-
            A sippeer id of provided site to which telephone number will be
            moved
          type: integer
        SourceAccountId:
          description: Id of source account, in the case of moving numbers across accounts
          type: integer
        E911ServiceAction:
          description: >-
            Only valid when moving to a different account using SourceAccountId.
            When set to move (default) the E911 service information (if applied
            to the number) will be moved with the number to the new account.
            When set to delete the E911 service will be removed from the number
          type: string
          enum:
            - MOVE
            - DELETE
          default: MOVE
    moveTnsOrderResponse:
      type: object
      properties:
        MoveTnsOrder:
          $ref: '#/components/schemas/moveTnsOrderPayload'
    moveTnsOrderRequest:
      type: object
      properties:
        MoveTnsOrder:
          $ref: '#/components/schemas/moveTnsOrder'
    moveTnsOrderPayload:
      title: MoveTnsOrder
      type: object
      properties:
        OrderId:
          type: string
        AccountId:
          type: integer
        LastModifiedDate:
          type: string
        CreatedByUser:
          type: string
        CustomerOrderId:
          type: string
          description: >-
            The customer-defined reference ID for this order, if one was
            provided at creation. Not unique — Bandwidth applies no uniqueness
            constraint, so multiple orders may share the same value. Each order
            has a distinct Bandwidth-assigned `orderId`.
        SiteId:
          type: integer
        SourceAccountId:
          type: integer
        SipPeerId:
          type: integer
        OrderCreateDate:
          type: string
        TelephoneNumbers:
          type: array
          xml:
            wrapped: true
          items:
            type: string
            xml:
              name: TelephoneNumber
        ProcessingStatus:
          type: string
          enum:
            - RECEIVED
            - PROCESSING
            - PARTIAL
            - COMPLETE
            - FAILED
        Errors:
          type: array
          xml:
            wrapped: true
          items:
            $ref: '#/components/schemas/telephoneNumberGroupError'
    moveTnsOrderPayload404XmlResponse:
      type: object
      title: error
      properties:
        Code:
          type: integer
        Description:
          type: string
    moveTnsOrderPayload404JsonResponse:
      type: object
      title: error
      properties:
        code:
          type: integer
        description:
          type: string
    telephoneNumberGroupJsonError:
      type: object
      title: Error
      properties:
        code:
          type: integer
        description:
          type: string
        phoneNumbers:
          type: array
          items:
            type: string
    note:
      type: object
      properties:
        Note:
          type: object
          properties:
            Id:
              description: >-
                This is the Order Note identifier that is automatically
                generated by system.
              type: string
            UserId:
              description: >-
                The UserId is authenticated for access to the network via a
                username string.
              type: string
            Description:
              description: This is the Order Note description.
              type: string
            LastDateModifier:
              description: This is the date when Order Note was last modified.
              type: string
    orderHistoryWrapper:
      type: object
      properties:
        OrderHistoryWrapper:
          type: object
          properties:
            OrderHistory:
              $ref: '#/components/schemas/orderHistory'
    orderHistory:
      type: object
      properties:
        OrderDate:
          description: This is the date/time when the order history entry was created.
          type: string
        Note:
          description: This is the order note that accompanied the order history entry.
          type: string
        Author:
          description: >-
            This is the user that initiated the event that caused the order
            history to be updated.
          type: string
        Difference:
          description: SUPP changes difference.
          type: string
        Status:
          description: >-
            This is the state that the order was in when the order history event
            occurred.
          type: string
    orderHistoryJson:
      type: object
      properties:
        orderHistory:
          type: array
          items:
            type: object
            properties:
              orderDate:
                description: >-
                  This is the date/time when the order history entry was
                  created.
                type: string
                format: date-time
              note:
                description: >-
                  This is the order note that accompanied the order history
                  entry.
                type: string
              author:
                description: >-
                  This is the user that initiated the event that caused the
                  order history to be updated.
                type: string
              status:
                $ref: '#/components/schemas/processingStatus'
    moveTnsOrderJsonRequest:
      title: moveTnsOrder
      type: object
      required:
        - phoneNumbers
        - subAccountId
        - locationId
      properties:
        phoneNumbers:
          description: >-
            List of telephone numbers to be moved. Maximum of 5,000 allowed per
            POST
          type: array
          minItems: 1
          maxItems: 5000
          items:
            type: string
        subAccountId:
          description: A subAccountId to which telephone number will be moved
          type: integer
        customerOrderId:
          pattern: ^[a-zA-Z0-9 -]{1,255}$
          description: >-
            Optional customer-defined reference ID for this order. Only
            alphanumeric values, dashes and spaces are allowed. Max length is
            255 characters. Not unique — Bandwidth applies no uniqueness
            constraint, so multiple orders may share the same value. Each order
            receives its own unique Bandwidth-assigned `orderId`.
          type: string
        locationId:
          description: >-
            A locationId id of provided subAccount to which telephone number
            will be moved
          type: integer
        sourceAccountId:
          description: Id of source account, in the case of moving numbers across accounts
          type: integer
        e911ServiceAction:
          description: >-
            Only valid when moving to a different account using SourceAccountId.
            When set to move (default) the E911 service information (if applied
            to the number) will be moved with the number to the new account.
            When set to delete the E911 service will be removed from the number
          type: string
          enum:
            - MOVE
            - DELETE
          default: MOVE
    createMoveTnsBulkOrderRequest:
      properties:
        orderDetails:
          items:
            properties:
              subAccountId:
                $ref: '#/components/schemas/subAccountId'
              locationId:
                $ref: '#/components/schemas/locationId'
              phoneNumbers:
                allOf:
                  - $ref: '#/components/schemas/phoneNumbers'
                  - maxItems: 20000
              sourceAccountId:
                $ref: '#/components/schemas/sourceAccountId'
              voiceConfigurationPackageId:
                $ref: '#/components/schemas/voiceConfigurationPackageId'
              requirementsPackageId:
                $ref: '#/components/schemas/requirementsPackageId'
              messagingService:
                $ref: '#/components/schemas/messagingService'
              e911ServiceAction:
                $ref: '#/components/schemas/e911ServiceAction'
              bypassMessagingLossBlock:
                $ref: '#/components/schemas/bypassMessagingLossBlock'
              bypassMessagingCampaignBlock:
                $ref: '#/components/schemas/bypassMessagingCampaignBlock'
            required:
              - phoneNumbers
              - locationId
              - subAccountId
            type: object
          type: array
        customerOrderId:
          $ref: '#/components/schemas/customerOrderId'
        migrateCampaign:
          $ref: '#/components/schemas/migrateCampaign'
      required:
        - orderDetails
      title: Create Move TNs Bulk Order Request
      type: object
    getMoveTnsBulkOrderStatusResponse:
      properties:
        data:
          properties:
            orderDetails:
              description: >-
                This `orderDetails` list is only returned in the response if the
                user includes the `verbose=true` query parameter in the request.
              items:
                properties:
                  orderIds:
                    $ref: '#/components/schemas/orderIds'
                  subAccountId:
                    $ref: '#/components/schemas/subAccountId'
                  locationId:
                    $ref: '#/components/schemas/locationId'
                  sourceAccountId:
                    $ref: '#/components/schemas/sourceAccountId'
                  voiceConfigurationPackageId:
                    $ref: '#/components/schemas/voiceConfigurationPackageId'
                  requirementsPackageId:
                    $ref: '#/components/schemas/requirementsPackageId'
                  messagingService:
                    $ref: '#/components/schemas/messagingService'
                  e911ServiceAction:
                    $ref: '#/components/schemas/e911ServiceAction'
                  bypassMessagingLossBlock:
                    $ref: '#/components/schemas/bypassMessagingLossBlock'
                  bypassMessagingCampaignBlock:
                    $ref: '#/components/schemas/bypassMessagingCampaignBlock'
                type: object
              type: array
            childOrders:
              description: >-
                This childOrders list is returned when at least one child order
                has been created from the original bulk order request.

                The full details for each child order can be retrieved from the
                [Fetch MoveTNs Order Status
                API](#tag/Move-TNs/operation/readMoveTnsOrder).
              items:
                properties:
                  orderId:
                    $ref: '#/components/schemas/orderId'
                  orderStatus:
                    $ref: '#/components/schemas/childMoveTnsOrderStatus'
                type: object
              type: array
            migrateCampaign:
              $ref: '#/components/schemas/migrateCampaign'
            customerOrderId:
              $ref: '#/components/schemas/customerOrderId'
            errors:
              $ref: '#/components/schemas/bulkMoveTnsErrors'
            lastModifiedDate:
              $ref: '#/components/schemas/lastModifiedDate'
            orderDate:
              $ref: '#/components/schemas/orderDate'
            orderId:
              $ref: '#/components/schemas/orderId'
            orderStatus:
              $ref: '#/components/schemas/bulkMoveTnsOrderStatus'
            userId:
              $ref: '#/components/schemas/userId'
          type: object
        errors:
          $ref: '#/components/schemas/errors'
        links:
          $ref: '#/components/schemas/links'
      title: Get Move Tns Bulk Order Status Response
      type: object
    createMoveTnsBulkOrder202Response:
      properties:
        data:
          properties:
            customerOrderId:
              $ref: '#/components/schemas/customerOrderId'
            lastModifiedDate:
              $ref: '#/components/schemas/lastModifiedDate'
            orderDate:
              $ref: '#/components/schemas/orderDate'
            orderId:
              $ref: '#/components/schemas/orderId'
            orderStatus:
              $ref: '#/components/schemas/bulkMoveTnsOrderStatus'
            userId:
              $ref: '#/components/schemas/userId'
          type: object
        errors:
          $ref: '#/components/schemas/bulkMoveTnsErrors'
        links:
          $ref: '#/components/schemas/links'
      title: Move TNs Bulk Order 202 Response
      type: object
    createMoveTnsBulkOrder400Response:
      properties:
        data:
          example: null
          nullable: true
          type: object
        errors:
          $ref: '#/components/schemas/bulkMoveTnsErrors'
        links:
          $ref: '#/components/schemas/links'
      title: Create Move TNs Bulk Order 400 Response
      type: object
    link:
      type: object
      properties:
        href:
          type: string
          description: The URI of the link
          example: >-
            https://api.bandwidth.com/api/v2/accounts/6555555/numberReputationManagement
        rel:
          type: string
          description: Specifies the relationship between this and the resource
          example: self
        method:
          type: string
          description: The HTTP method to use when accessing the link
          example: GET
    links:
      type: array
      items:
        $ref: '#/components/schemas/link'
      nullable: true
      description: An array of links related to the resource
      example: null
    errorCode:
      type: integer
      format: int32
      description: >-
        An application-specific error code for services with extensive error
        scenarios to supplement `description`
      minimum: 4
      example: 51130
    errorDescription:
      type: string
      description: >-
        A human-readable explanation that SHOULD be specific to this occurrence
        of the problem
      example: There was an issue with a field in your request body
    errorType:
      type: string
      description: >-
        A short, human-readable summary of the problem that SHOULD NOT change
        from occurrence to occurrence of the problem
      example: REQUEST_ERROR
    errorSource:
      type: object
      properties:
        parameter:
          type: string
          description: A string indicating which URI query parameter caused the error
          example: someParameter
        field:
          type: string
          description: A string indicating which request body field caused the error
          example: someField
        header:
          type: string
          description: A string indicating which header field caused the error
          example: someHeader
        reference:
          type: string
          description: >-
            A string that references a resource ID or path to the resource (or
            non-existent resource) causing the error
          example: /some/reference
    error:
      type: object
      properties:
        id:
          type: string
          description: A unique identifier for this particular instance of this problem
          example: optional-error-id
        type:
          $ref: '#/components/schemas/errorType'
        description:
          $ref: '#/components/schemas/errorDescription'
        code:
          $ref: '#/components/schemas/errorCode'
        meta:
          type: object
          description: >-
            A meta object containing application-specific information or
            non-standard metadata about the error
        source:
          $ref: '#/components/schemas/errorSource'
      required:
        - code
        - description
    errors:
      nullable: true
      type: array
      items:
        $ref: '#/components/schemas/error'
      example: []
    processingStatus:
      type: string
      description: >-
        This is the state that the order was in when the order history event
        occurred.
      enum:
        - RECEIVED
        - PROCESSING
        - PARTIAL
        - COMPLETE
        - FAILED
    page:
      type: object
      properties:
        pageNumber:
          type: integer
          description: The current page number
          example: 1
        pageSize:
          type: integer
          description: The number of items returned in the current page
          example: 50
        totalElements:
          type: integer
          description: The total number of elements in all pages
          example: 100
        totalPages:
          type: integer
          description: The total number of pages
          example: 2
      required:
        - pageNumber
        - pageSize
    genericError:
      type: object
      properties:
        data:
          type: object
          nullable: true
          example: null
        links:
          $ref: '#/components/schemas/links'
        errors:
          $ref: '#/components/schemas/errors'
    genericErrorCustomer:
      type: object
      properties:
        data:
          type: object
          nullable: true
          example: null
        links:
          $ref: '#/components/schemas/links'
        errors:
          $ref: '#/components/schemas/genericErrorsCustomer'
    genericErrorsCustomer:
      type: array
      items:
        $ref: '#/components/schemas/customerError'
      example: []
    customerError:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/errorType'
        description:
          $ref: '#/components/schemas/errorDescription'
        code:
          $ref: '#/components/schemas/errorCode'
        source:
          $ref: '#/components/schemas/errorSourceCustomer'
      required:
        - code
        - description
    errorSourceCustomer:
      type: object
      properties:
        reference:
          type: string
          description: >-
            A string that references a resource ID or path to the resource (or
            non-existent resource) causing the error
          example: /some/reference
    scanTime:
      type: string
      format: date-time
      description: The date and time when this reputation scan was performed
      example: '2021-01-15T10:30:00Z'
    riskRatingEnum:
      type: string
      description: The risk rating of the number.
      example: IN_REMEDIATION
      enum:
        - REMEDIATION_DENIED
        - IN_REMEDIATION
        - CLEAN
        - FLAGGED
        - NOT_RATED
    unauthorizedErrorSignum:
      type: object
      properties:
        timestamp:
          type: string
          format: date-time
          example: '2025-05-31T18:03:53.273+00:00'
        status:
          type: integer
          example: 401
          description: HTTP status code.
        error:
          type: string
          example: Unauthorized
          description: Error message.
        path:
          type: string
          description: The request path that caused the error.
          example: /api/v2/self-resource
    carriersReputationSummaryEnum:
      type: string
      description: >-
        A summary of the number's reputation based on its status with the three
        main carriers, AT&T, Verizon, and T-Mobile. This will be set to
        `FLAGGED` if the number is in a `FLAGGED` status with at least one of
        those carriers.
      example: FLAGGED
      enum:
        - STATUS_PENDING
        - FLAGGED
        - CLEAN
    groupIntentEnum:
      type: string
      title: Group Intent
      description: >-
        The intent or purpose of the group. This indicates how the phone numbers
        in the group will be used.

        - GOVN: Government

        - SATE: Sales/Telemarketing

        - ACCS: Account Services

        - SURV: Survey

        - POLI: Political

        - FUND: Fundraising

        - DEBC: Debt Collection

        - APPR: Appointment Reminder

        - INFO: Information

        - CUSE: Customer Services

        - APPS: Appointment Setting

        - BILL: Billing

        - EMER: Emergency

        - ATTO: Attorney/Law

        - FSER: Financial Service

        - FRES: First Responder

        - HOSP: Health Care/Hospital

        - INSU: Insurance

        - PHAR: Pharmacy

        - REST: Real Estate

        - COLL: School/College

        - NPF: Non-Profit

        - MUL: Multi use line
      enum:
        - GOVN
        - SATE
        - ACCS
        - SURV
        - POLI
        - FUND
        - DEBC
        - APPR
        - INFO
        - CUSE
        - APPS
        - BILL
        - EMER
        - ATTO
        - FSER
        - FRES
        - HOSP
        - INSU
        - PHAR
        - REST
        - COLL
        - NPF
        - MUL
      example: GOVN
    groupBaseProperties:
      type: object
      title: Group Base Properties
      description: Common properties for group request bodies.
      properties:
        name:
          type: string
          description: The name of the group.
          example: Group Name
        description:
          type: string
          description: The description of the group.
          example: Group Description
        intent:
          $ref: '#/components/schemas/groupIntentEnum'
      required:
        - name
        - description
        - intent
    groupData:
      type: object
      title: Group Data
      description: Common properties for group response data objects.
      properties:
        groupId:
          type: number
          description: The ID of the group.
          example: 26
        groupName:
          type: string
          description: The name of the group.
          example: Group Name
        description:
          type: string
          description: The description of the group.
          example: Group Description
        intent:
          $ref: '#/components/schemas/groupIntentEnum'
        phoneNumberCount:
          type: integer
          description: The number of phone numbers associated with the group.
          example: 2
        createdAt:
          type: string
          format: date-time
          description: The date and time the group was created.
          example: '2021-01-01T00:00:00Z'
      required:
        - groupId
        - groupName
        - description
        - intent
        - phoneNumberCount
        - createdAt
    createGroupRequestEnterprise:
      title: Create Group Request - Enterprise
      allOf:
        - $ref: '#/components/schemas/groupBaseProperties'
    createGroupRequestReseller:
      title: Create Group Request - Reseller
      allOf:
        - $ref: '#/components/schemas/groupBaseProperties'
        - type: object
          properties:
            customerId:
              type: integer
              description: The ID of the customer the group belongs to
              example: 42
          required:
            - customerId
    groupPatchRequest:
      title: Group update request
      type: object
      properties:
        name:
          type: string
          description: The name of the group
          example: Group Name
        description:
          type: string
          description: The description of the group
          example: Group Description
        intent:
          $ref: '#/components/schemas/groupIntentEnum'
    phoneNumberReputationEnterpriseWeeklyCheckDetails:
      type: object
      properties:
        phoneNumber:
          type: string
          description: The phone number
          example: '+18558647776'
        groupId:
          type: number
          description: The ID of the group
          example: 26
        groupName:
          type: string
          description: The name of the group
          example: Group Name
        attRiskRating:
          $ref: '#/components/schemas/riskRatingEnum'
        verizonRiskRating:
          $ref: '#/components/schemas/riskRatingEnum'
        tmobileRiskRating:
          $ref: '#/components/schemas/riskRatingEnum'
        carriersReputationSummary:
          $ref: '#/components/schemas/carriersReputationSummaryEnum'
        lastTest:
          type: string
          format: date-time
          description: The date and time the number was last tested
          example: '2021-01-01T00:00:00Z'
        lastFlagged:
          type: string
          format: date-time
          description: The date and time the number was last flagged
          example: '2021-01-01T00:00:00Z'
    phoneNumberReputationResellerWeeklyCheckDetails:
      type: object
      properties:
        phoneNumber:
          type: string
          description: The phone number
          example: '+18558647776'
        groupId:
          type: number
          description: The ID of the group
          example: 26
        groupName:
          type: string
          description: The name of the group
          example: Group Name
        customerId:
          type: integer
          description: The ID of the customer the group belongs to
          example: 42
        customerName:
          type: string
          description: The name of the customer the group belongs to
          example: Customer Name
        attRiskRating:
          $ref: '#/components/schemas/riskRatingEnum'
        verizonRiskRating:
          $ref: '#/components/schemas/riskRatingEnum'
        tmobileRiskRating:
          $ref: '#/components/schemas/riskRatingEnum'
        carriersReputationSummary:
          $ref: '#/components/schemas/carriersReputationSummaryEnum'
        lastTest:
          type: string
          format: date-time
          description: The date and time the number was last tested
          example: '2021-01-01T00:00:00Z'
        lastFlagged:
          type: string
          format: date-time
          description: The date and time the number was last flagged
          example: '2021-01-01T00:00:00Z'
    phoneNumberReputationEnterpriseDailyCheckDetails:
      type: object
      properties:
        phoneNumber:
          type: string
          description: The phone number
          example: '+18558647776'
        groupId:
          type: number
          description: The ID of the group
          example: 26
        groupName:
          type: string
          description: The name of the group
          example: Group Name
        attRiskRating:
          $ref: '#/components/schemas/riskRatingEnum'
        verizonRiskRating:
          $ref: '#/components/schemas/riskRatingEnum'
        tmobileRiskRating:
          $ref: '#/components/schemas/riskRatingEnum'
        ftcRiskRating:
          $ref: '#/components/schemas/riskRatingEnum'
        nomoroboRiskRating:
          $ref: '#/components/schemas/riskRatingEnum'
        ihsRiskRating:
          $ref: '#/components/schemas/riskRatingEnum'
        ttsRiskRating:
          $ref: '#/components/schemas/riskRatingEnum'
        robokillerRiskRating:
          $ref: '#/components/schemas/riskRatingEnum'
        youmailRiskRating:
          $ref: '#/components/schemas/riskRatingEnum'
        fccRiskRating:
          $ref: '#/components/schemas/riskRatingEnum'
        carriersReputationSummary:
          $ref: '#/components/schemas/carriersReputationSummaryEnum'
        lastTest:
          type: string
          format: date-time
          description: The date and time the number was last tested
          example: '2021-01-01T00:00:00Z'
        lastFlagged:
          type: string
          format: date-time
          description: The date and time the number was last flagged
          example: '2021-01-01T00:00:00Z'
    phoneNumberReputationResellerDailyCheckDetails:
      type: object
      properties:
        phoneNumber:
          type: string
          description: The phone number
          example: '+18558647776'
        groupId:
          type: number
          description: The ID of the group
          example: 26
        groupName:
          type: string
          description: The name of the group
          example: Group Name
        customerId:
          type: integer
          description: The ID of the customer the group belongs to
          example: 42
        customerName:
          type: string
          description: The name of the customer the group belongs to
          example: Customer Name
        attRiskRating:
          $ref: '#/components/schemas/riskRatingEnum'
        verizonRiskRating:
          $ref: '#/components/schemas/riskRatingEnum'
        tmobileRiskRating:
          $ref: '#/components/schemas/riskRatingEnum'
        ftcRiskRating:
          $ref: '#/components/schemas/riskRatingEnum'
        nomoroboRiskRating:
          $ref: '#/components/schemas/riskRatingEnum'
        ihsRiskRating:
          $ref: '#/components/schemas/riskRatingEnum'
        ttsRiskRating:
          $ref: '#/components/schemas/riskRatingEnum'
        robokillerRiskRating:
          $ref: '#/components/schemas/riskRatingEnum'
        youmailRiskRating:
          $ref: '#/components/schemas/riskRatingEnum'
        fccRiskRating:
          $ref: '#/components/schemas/riskRatingEnum'
        carriersReputationSummary:
          $ref: '#/components/schemas/carriersReputationSummaryEnum'
        lastTest:
          type: string
          format: date-time
          description: The date and time the number was last tested
          example: '2021-01-01T00:00:00Z'
        lastFlagged:
          type: string
          format: date-time
          description: The date and time the number was last flagged
          example: '2021-01-01T00:00:00Z'
    phoneNumberReputationHistoryWeeklyCheckEntry:
      type: object
      properties:
        scanTime:
          $ref: '#/components/schemas/scanTime'
        attRiskRating:
          $ref: '#/components/schemas/riskRatingEnum'
        verizonRiskRating:
          $ref: '#/components/schemas/riskRatingEnum'
        tmobileRiskRating:
          $ref: '#/components/schemas/riskRatingEnum'
        carriersReputationSummary:
          $ref: '#/components/schemas/carriersReputationSummaryEnum'
    phoneNumberReputationHistoryDailyCheckEntry:
      type: object
      properties:
        scanTime:
          $ref: '#/components/schemas/scanTime'
        attRiskRating:
          $ref: '#/components/schemas/riskRatingEnum'
        verizonRiskRating:
          $ref: '#/components/schemas/riskRatingEnum'
        tmobileRiskRating:
          $ref: '#/components/schemas/riskRatingEnum'
        ftcRiskRating:
          $ref: '#/components/schemas/riskRatingEnum'
        nomoroboRiskRating:
          $ref: '#/components/schemas/riskRatingEnum'
        ihsRiskRating:
          $ref: '#/components/schemas/riskRatingEnum'
        ttsRiskRating:
          $ref: '#/components/schemas/riskRatingEnum'
        robokillerRiskRating:
          $ref: '#/components/schemas/riskRatingEnum'
        youmailRiskRating:
          $ref: '#/components/schemas/riskRatingEnum'
        fccRiskRating:
          $ref: '#/components/schemas/riskRatingEnum'
        carriersReputationSummary:
          $ref: '#/components/schemas/carriersReputationSummaryEnum'
    createGroupEnterprise201Response:
      title: Create Group Response - Enterprise
      type: object
      properties:
        data:
          $ref: '#/components/schemas/groupData'
        errors:
          type: array
          items:
            $ref: '#/components/schemas/error'
          nullable: true
          example: null
        links:
          type: array
          items:
            $ref: '#/components/schemas/link'
      required:
        - data
        - links
        - errors
    createGroupReseller201Response:
      title: Create Group Response - Reseller
      type: object
      properties:
        data:
          allOf:
            - $ref: '#/components/schemas/groupData'
            - type: object
              properties:
                customerId:
                  type: integer
                  description: The ID of the customer the group belongs to
                  example: 42
              required:
                - customerId
        errors:
          type: array
          items:
            $ref: '#/components/schemas/error'
          nullable: true
          example: null
        links:
          type: array
          items:
            $ref: '#/components/schemas/link'
      required:
        - data
        - links
        - errors
    getGroupEnterprise200Response:
      title: Get Group Response - Enterprise
      type: object
      properties:
        data:
          $ref: '#/components/schemas/groupData'
        errors:
          type: array
          items:
            $ref: '#/components/schemas/error'
          nullable: true
          example: null
        links:
          type: array
          items:
            $ref: '#/components/schemas/link'
      required:
        - data
        - links
        - errors
    getGroupReseller200Response:
      title: Get Group Response - Reseller
      type: object
      properties:
        data:
          allOf:
            - $ref: '#/components/schemas/groupData'
            - type: object
              properties:
                customerId:
                  type: integer
                  description: The ID of the customer the group belongs to
                  example: 42
                customerName:
                  type: string
                  description: The name of the customer the group belongs to
                  example: Customer A
              required:
                - customerId
                - customerName
        errors:
          type: array
          items:
            $ref: '#/components/schemas/error'
          nullable: true
          example: null
        links:
          type: array
          items:
            $ref: '#/components/schemas/link'
      required:
        - data
        - links
        - errors
    getListOfGroupsEnterprise200Response:
      title: Get Groups Response - Enterprise
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/groupData'
        errors:
          type: array
          items:
            $ref: '#/components/schemas/error'
          nullable: true
          example: null
        links:
          type: array
          items:
            $ref: '#/components/schemas/link'
      required:
        - data
        - links
        - errors
    getListOfGroupsReseller200Response:
      title: Get Groups Response - Reseller
      type: object
      properties:
        data:
          type: array
          items:
            allOf:
              - $ref: '#/components/schemas/groupData'
              - type: object
                properties:
                  customerId:
                    type: integer
                    description: The ID of the customer the group belongs to
                    example: 42
                  customerName:
                    type: string
                    description: The name of the customer the group belongs to
                    example: Customer A
                required:
                  - customerId
                  - customerName
        errors:
          type: array
          items:
            $ref: '#/components/schemas/error'
          nullable: true
          example: null
        links:
          type: array
          items:
            $ref: '#/components/schemas/link'
      required:
        - data
        - links
        - errors
    getListOfCustomers200Response:
      type: object
      properties:
        data:
          type: array
          items:
            type: object
            properties:
              customerId:
                type: integer
                description: The unique identifier of the customer.
                example: 42
              customerName:
                type: string
                description: The name of the customer.
                example: Customer A
              description:
                type: string
                description: A description of the customer.
                example: This is a sample customer.
              numeracleEntityCode:
                type: string
                description: The Numeracle entity code associated with the customer.
                example: NEC12345
              createdAt:
                type: string
                format: date-time
                description: The date and time when the customer was created.
                example: '2024-01-01T12:00:00Z'
              updatedAt:
                type: string
                format: date-time
                description: The date and time when the customer was last updated.
                example: '2024-01-02T15:30:00Z'
              groupCount:
                type: integer
                description: The number of groups associated with the customer.
                example: 5
        links:
          type: array
          items:
            $ref: '#/components/schemas/link'
          example: []
        errors:
          type: array
          items:
            $ref: '#/components/schemas/error'
          nullable: true
          example: null
      required:
        - data
        - links
        - errors
    getCustomer200Response:
      type: object
      properties:
        data:
          type: object
          properties:
            customerId:
              type: integer
              description: The unique identifier of the customer.
              example: 42
            customerName:
              type: string
              description: The name of the customer.
              example: Customer A
            description:
              type: string
              description: A description of the customer.
              example: This is a sample customer.
            numeracleEntityCode:
              type: string
              description: The Numeracle entity code associated with the customer.
              example: NEC12345
            createdAt:
              type: string
              format: date-time
              description: The date and time when the customer was created.
              example: '2024-01-01T12:00:00Z'
            updatedAt:
              type: string
              format: date-time
              description: The date and time when the customer was last updated.
              example: '2024-01-02T15:30:00Z'
            groupCount:
              type: integer
              description: The number of groups associated with the customer.
              example: 5
        links:
          type: array
          items:
            $ref: '#/components/schemas/link'
          example: []
        errors:
          type: array
          items:
            $ref: '#/components/schemas/error'
          nullable: true
          example: null
      required:
        - data
        - links
        - errors
    getPhoneNumberReputationDetailsEnterpriseWeeklyChecks200Response:
      title: Get Phone Number Reputation Details (Weekly Checks) - Enterprise
      type: object
      properties:
        data:
          type: array
          items:
            $ref: >-
              #/components/schemas/phoneNumberReputationEnterpriseWeeklyCheckDetails
        links:
          type: array
          items:
            $ref: '#/components/schemas/link'
        errors:
          type: array
          items:
            $ref: '#/components/schemas/error'
        page:
          $ref: '#/components/schemas/page'
      required:
        - data
        - links
        - errors
        - page
    getPhoneNumberReputationDetailsResellerWeeklyChecks200Response:
      title: Get Phone Number Reputation Details (Weekly Checks) - Reseller
      description: OK
      type: object
      properties:
        data:
          type: array
          items:
            $ref: >-
              #/components/schemas/phoneNumberReputationResellerWeeklyCheckDetails
        links:
          type: array
          items:
            $ref: '#/components/schemas/link'
        errors:
          type: array
          items:
            $ref: '#/components/schemas/error'
        page:
          $ref: '#/components/schemas/page'
      required:
        - data
        - links
        - errors
        - page
    getPhoneNumberReputationDetailsEnterpriseDailyChecks200Response:
      title: Get Phone Number Reputation Details (Daily Checks) - Enterprise
      description: OK
      type: object
      properties:
        data:
          type: array
          items:
            $ref: >-
              #/components/schemas/phoneNumberReputationEnterpriseDailyCheckDetails
        links:
          type: array
          items:
            $ref: '#/components/schemas/link'
        errors:
          type: array
          items:
            $ref: '#/components/schemas/error'
        page:
          $ref: '#/components/schemas/page'
      required:
        - data
        - links
        - errors
        - page
    getPhoneNumberReputationDetailsResellerDailyChecks200Response:
      title: Get Phone Number Reputation Details (Daily Checks) - Reseller
      description: OK
      type: object
      properties:
        data:
          type: array
          items:
            $ref: >-
              #/components/schemas/phoneNumberReputationResellerDailyCheckDetails
        links:
          type: array
          items:
            $ref: '#/components/schemas/link'
        errors:
          type: array
          items:
            $ref: '#/components/schemas/error'
        page:
          $ref: '#/components/schemas/page'
      required:
        - data
        - links
        - errors
        - page
    getPhoneNumberReputationHistoryWeeklyChecks200Response:
      title: Get Phone Number Reputation History (Weekly Checks)
      description: OK
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/phoneNumberReputationHistoryWeeklyCheckEntry'
        links:
          type: array
          items:
            $ref: '#/components/schemas/link'
        errors:
          type: array
          items:
            $ref: '#/components/schemas/error'
        page:
          $ref: '#/components/schemas/page'
      required:
        - data
        - links
        - errors
        - page
    getPhoneNumberReputationHistoryDailyChecks200Response:
      title: Get Phone Number Reputation History (Daily Checks)
      description: OK
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/phoneNumberReputationHistoryDailyCheckEntry'
        links:
          type: array
          items:
            $ref: '#/components/schemas/link'
        errors:
          type: array
          items:
            $ref: '#/components/schemas/error'
        page:
          $ref: '#/components/schemas/page'
      required:
        - data
        - links
        - errors
        - page
    serviceActivationCheckerRequest:
      description: ServiceActivationCheckerRequest
      type: object
      required:
        - phoneNumbers
      properties:
        phoneNumbers:
          type: array
          items:
            type: string
    serviceActivationOrderPhoneNumberObject:
      type: array
      items:
        type: object
        properties:
          phoneNumber:
            type: string
          services:
            type: object
            properties:
              voice:
                $ref: '#/components/schemas/serviceActivationCheckerVoiceServices'
              messaging:
                $ref: '#/components/schemas/serviceActivationCheckerServiceType'
              emergency:
                $ref: '#/components/schemas/serviceActivationCheckerServiceType'
        required:
          - phoneNumber
          - services
    serviceActivationCheckerResponse:
      type: object
      properties:
        data:
          type: object
          properties:
            phoneNumbers:
              $ref: '#/components/schemas/serviceActivationOrderPhoneNumberObject'
          required:
            - phoneNumbers
        errors:
          $ref: '#/components/schemas/errors'
        links:
          type: array
          items:
            $ref: '#/components/schemas/link'
      required:
        - data
        - errors
        - links
    serviceActivationCheckerBadRequestResponse:
      description: BadRequest
      type: object
      properties:
        data:
          type: object
          nullable: true
          properties:
            phoneNumbers:
              $ref: '#/components/schemas/serviceActivationOrderPhoneNumberObject'
        errors:
          $ref: '#/components/schemas/errors'
        links:
          type: array
          items:
            $ref: '#/components/schemas/link'
    serviceActivationCheckerServiceType:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/phoneNumberServiceStatus'
        reasons:
          type: array
          items:
            type: object
            properties:
              code:
                type: string
              description:
                type: string
    serviceActivationCheckerVoiceServices:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/phoneNumberServiceStatus'
        inbound:
          type: object
          properties:
            reasons:
              $ref: '#/components/schemas/reasons'
            status:
              $ref: '#/components/schemas/phoneNumberServiceStatus'
        outboundNational:
          type: object
          properties:
            reasons:
              $ref: '#/components/schemas/reasons'
            status:
              $ref: '#/components/schemas/phoneNumberServiceStatus'
        outboundInternational:
          type: object
          properties:
            reasons:
              $ref: '#/components/schemas/reasons'
            status:
              $ref: '#/components/schemas/phoneNumberServiceStatus'
    serviceActivationOrder:
      description: ServiceActivationOrder
      type: object
      required:
        - action
        - phoneNumbers
        - services
      properties:
        customerOrderId:
          $ref: '#/components/schemas/customerOrderId'
        phoneNumbers:
          type: array
          items:
            type: string
        services:
          $ref: '#/components/schemas/services'
        action:
          $ref: '#/components/schemas/serviceActivationActions'
    serviceActivationOrderResponse:
      description: ServiceActivationOrder
      type: object
      required:
        - data
        - errors
        - links
      properties:
        links:
          type: array
          items:
            $ref: '#/components/schemas/link'
        data:
          type: object
          properties:
            customerOrderId:
              $ref: '#/components/schemas/customerOrderId'
            userId:
              type: string
            orderDate:
              type: string
              format: date-time
            lastModifiedDate:
              type: string
              format: date-time
            orderId:
              type: string
            orderStatus:
              type: string
            action:
              type: string
            completedPhoneNumbers:
              type: array
              items:
                type: string
            failedPhoneNumbers:
              type: array
              items:
                type: string
            partialPhoneNumbers:
              type: array
              items:
                type: string
            missingRequirementsPhoneNumbers:
              type: array
              items:
                type: string
            requestedPhoneNumbers:
              type: array
              items:
                type: string
            services:
              $ref: '#/components/schemas/services'
          required:
            - userId
            - orderDate
            - lastModifiedDate
            - orderId
            - orderStatus
            - requestedPhoneNumbers
        errors:
          type: array
          items:
            $ref: '#/components/schemas/serviceActivationOrderError'
    serviceActivationOrderSearchResponse:
      description: ServiceActivationOrderSearchResponse
      type: object
      properties:
        data:
          type: object
          properties:
            serviceActivationOrders:
              type: array
              items:
                type: object
                properties:
                  requestedPhoneNumbers:
                    type: array
                    items:
                      type: string
                  services:
                    $ref: '#/components/schemas/services'
                  action:
                    $ref: '#/components/schemas/serviceActivationActions'
                  customerOrderId:
                    $ref: '#/components/schemas/customerOrderId'
                  orderId:
                    type: string
                  orderStatus:
                    type: string
                  orderDate:
                    type: string
                    format: date-time
                  lastModifiedDate:
                    type: string
                    format: date-time
                  userId:
                    type: string
        errors:
          type: array
          items:
            $ref: '#/components/schemas/error'
        links:
          type: array
          items:
            $ref: '#/components/schemas/link'
        page:
          type: object
          properties:
            pageSize:
              type: integer
              description: The number of items per page.
            totalElements:
              type: integer
              description: The total number of elements across all pages.
            totalPages:
              type: integer
              description: The total number of pages.
            pageNumber:
              type: integer
              description: The current page number.
    serviceActivationOrderSearchResponseVerbose:
      description: ServiceActivationOrderSearchResponse
      type: object
      properties:
        data:
          type: object
          properties:
            serviceActivationOrders:
              type: array
              items:
                type: object
                properties:
                  requestedPhoneNumbers:
                    type: array
                    items:
                      type: string
                  services:
                    $ref: '#/components/schemas/services'
                  action:
                    $ref: '#/components/schemas/serviceActivationActions'
                  customerOrderId:
                    $ref: '#/components/schemas/customerOrderId'
                  orderId:
                    type: string
                  orderStatus:
                    type: string
                  orderDate:
                    type: string
                    format: date-time
                  lastModifiedDate:
                    type: string
                    format: date-time
                  userId:
                    type: string
                  completedPhoneNumbers:
                    type: array
                    items:
                      type: string
                  failedPhoneNumbers:
                    type: array
                    items:
                      type: string
                  partialPhoneNumbers:
                    type: array
                    items:
                      type: string
                  missingRequirementsPhoneNumbers:
                    type: array
                    items:
                      type: string
        errors:
          type: array
          items:
            $ref: '#/components/schemas/error'
        links:
          type: array
          items:
            $ref: '#/components/schemas/link'
        page:
          type: object
          properties:
            pageSize:
              type: integer
              description: The number of items per page.
            totalElements:
              type: integer
              description: The total number of elements across all pages.
            totalPages:
              type: integer
              description: The total number of pages.
            pageNumber:
              type: integer
              description: The current page number.
    phoneNumberServiceStatus:
      type: string
      enum:
        - IN_SERVICE
        - READY_TO_ACTIVATE
        - ACTIVATION_REQUIREMENTS_NOT_MET
        - ACCOUNT_NOT_CONFIGURED
        - NOT_SUPPORTED
    serviceActivationActions:
      type: string
      enum:
        - ACTIVATE
        - DEACTIVATE
    customerOrderId:
      description: >-
        An optional customer-defined reference ID for this order. Not unique —
        Bandwidth applies no uniqueness constraint, so multiple orders may share
        the same value. Each order receives its own unique Bandwidth-assigned
        `orderId`. Only alphanumeric values, dashes, and spaces are allowed. Max
        length is 255 characters.
      type: string
      maxLength: 255
    voiceActivationSubtypes:
      type: string
      enum:
        - ALL
        - INBOUND
        - OUTBOUND_NATIONAL
        - OUTBOUND_INTERNATIONAL
    messagingAndEmergencyActivationTypes:
      type: string
      enum:
        - ALL
    reasons:
      type: array
      items:
        type: object
        properties:
          code:
            type: string
          description:
            type: string
    services:
      type: object
      properties:
        voice:
          type: array
          items:
            $ref: '#/components/schemas/voiceActivationSubtypes'
        messaging:
          type: array
          items:
            $ref: '#/components/schemas/messagingAndEmergencyActivationTypes'
        emergency:
          type: array
          items:
            $ref: '#/components/schemas/messagingAndEmergencyActivationTypes'
      description: Service types on which to apply specific action
    queryParamStringEqStartsWith:
      type: object
      properties:
        eq:
          type: string
        startsWith:
          type: string
    serviceActivationOrderError:
      title: Error
      type: object
      properties:
        code:
          $ref: '#/components/schemas/errorCode'
        description:
          $ref: '#/components/schemas/errorDescription'
        meta:
          type: array
          items:
            $ref: '#/components/schemas/metaObject'
          description: >-
            A meta object containing application-specific information or
            non-standard metadata about the error
      required:
        - code
        - description
    metaObject:
      properties:
        phoneNumbers:
          type: array
          items:
            type: string
        service:
          type: string
        serviceType:
          type: string
    queryParamStringEq:
      properties:
        eq:
          type: string
      type: object
  requestBodies:
    updatePhoneNumberTag:
      description: Update a phone number tag.
      required: true
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/updatePhoneNumberTagRequest'
          examples:
            addPhoneNumbersRequestExample:
              $ref: '#/components/examples/patchAddPhoneNumberTagRequest'
            removePhoneNumbersRequestExample:
              $ref: '#/components/examples/patchRemovePhoneNumberTagRequest'
    createMoveTnsOrderRequestBody:
      content:
        application/xml:
          schema:
            $ref: '#/components/schemas/moveTnsOrderRequest'
          examples:
            example:
              $ref: '#/components/examples/postMoveTnsOrderRequestXmlExample'
        application/json:
          schema:
            $ref: '#/components/schemas/moveTnsOrderJsonRequest'
          examples:
            example:
              value:
                sourceAccountId: 12346159
                subAccountId: 487
                locationId: 500076
                phoneNumbers:
                  - '+18012141003'
    createMoveTnsBulkOrderRequest:
      content:
        application/json:
          examples:
            createMoveTnsBulkOrderRequestExample:
              $ref: '#/components/examples/createMoveTnsBulkOrderRequestExample'
          schema:
            $ref: '#/components/schemas/createMoveTnsBulkOrderRequest'
    bulkPhoneNumberUpdateRequestBody:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/bulkPhoneNumberUpdateRequest'
          examples:
            bulkPhoneNumberAddRequestExample:
              $ref: '#/components/examples/bulkPhoneNumberAddRequestExample'
            bulkPhoneNumberRemoveRequestExample:
              $ref: '#/components/examples/bulkPhoneNumberRemoveRequestExample'
    moveTnsCheckersRequestBody:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/moveTnsCheckerRequestJson'
          examples:
            example:
              $ref: '#/components/examples/moveTnsCheckerRequestJsonExample'
    createGroupRequest:
      content:
        application/json:
          schema:
            anyOf:
              - $ref: '#/components/schemas/createGroupRequestEnterprise'
              - $ref: '#/components/schemas/createGroupRequestReseller'
          examples:
            enterpriseUserExample:
              $ref: '#/components/examples/createGroupEnterpriseUserExample'
            resellerUserExample:
              $ref: '#/components/examples/createGroupResellerUserExample'
      description: >-
        The request body for creating a new group for both a enterprise and
        reseller user.
    groupPatchRequest:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/groupPatchRequest'
          examples:
            patchExample:
              $ref: '#/components/examples/groupPatchRequestExample'
      description: The request body for updating a group.
    serviceActivationChecker:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/serviceActivationCheckerRequest'
          examples:
            requestExample:
              $ref: '#/components/examples/serviceActivationCheckerRequestExample'
      required: true
    serviceActivationOrder:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/serviceActivationOrder'
          examples:
            activateExample:
              $ref: '#/components/examples/serviceActivationOrderActivateExample'
            deactivateExample:
              $ref: '#/components/examples/serviceActivationOrderDeactivateExample'
      required: true
  responses:
    updatePhoneNumberTagsResponse:
      description: OK
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/updatePhoneNumberTagResponse'
          examples:
            updatePhoneNumberTagMoveExample:
              $ref: '#/components/examples/updatePhoneNumberTagMoveExample'
            updatePhoneNumberTagRemoveExample:
              $ref: '#/components/examples/updatePhoneNumberTagRemoveExample'
    getPhoneNumberTags:
      description: OK
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/getPhoneNumbersTagsResponse'
          examples:
            getAllTagsExample:
              $ref: '#/components/examples/getAllTagsExample'
            filterByTagNameExample:
              $ref: '#/components/examples/filterByTagNameExample'
            filterByTagExample:
              $ref: '#/components/examples/filterByTagExample'
            filterByPhoneNumberExample:
              $ref: '#/components/examples/filterByPhoneNumberExample'
    getMoveTnsResponse200:
      description: >-
        The descriptive payload for the moveTnsOrder query provides information
        about the orders found by the query, including the data associated with
        the order, the state of the order, a list of the successfully imported
        Telephone Numbers, and description of any encountered errors
      content:
        application/xml:
          schema:
            $ref: '#/components/schemas/moveTnsOrders'
          examples:
            example:
              $ref: '#/components/examples/getMoveTnsResponse200XmlExample'
        application/json:
          schema:
            $ref: '#/components/schemas/moveTnsJsonOrders'
          examples:
            example:
              value:
                totalCount: 5
                links:
                  first: >-
                    https://api.bandwidth.com/api/v2/accounts/12346160/moveTns?page=1&size=2
                  next: >-
                    https://api.bandwidth.com/api/v2/accounts/12346160/moveTns?page=e0ad355f-9e0c-45a0-a8cb-9a98eae0661f&size=2
                orders:
                  - accountId: 12346160
                    orderId: 4bf48140-59ba-45d0-8d52-661574781ab0
                    userId: systemUser
                    lastModifiedDate: '2025-05-27T11:16:37.967Z'
                    phoneNumberCount: 1
                    orderType: move_tns
                    orderDate: '2025-05-27T11:16:37.648Z'
                    orderStatus: COMPLETE
                    sourceAccountId: 12346159
                  - accountId: 12346160
                    orderId: c17efbb9-9cb6-4bd3-9326-566bad84cb09
                    userId: systemUser
                    lastModifiedDate: '2025-05-27T04:07:59.327Z'
                    phoneNumberCount: 1
                    orderType: move_tns
                    orderDate: '2025-05-27T04:07:59.256Z'
                    orderStatus: FAILED
                    sourceAccountId: 12346159
    postMoveTnsResponse201:
      description: >-
        The order has been created. An order ID will be specified in the payload
        and header
      content:
        application/xml:
          schema:
            $ref: '#/components/schemas/moveTnsOrderResponse'
          examples:
            example:
              $ref: '#/components/examples/postMoveTnsResponse201XmlExample'
        application/json:
          schema:
            $ref: '#/components/schemas/moveTnsOrderJsonResponsePayload'
          examples:
            example:
              value:
                orderId: 4bf48140-59ba-45d0-8d52-661574781ab0
                accountId: 9900012
                sourceAccountId: 9900013
                lastModifiedDate: '2025-05-27T11:16:37.967Z'
                createdByUser: systemUser
                subAccountId: 487
                orderCreateDate: '2025-05-27T11:16:37.648Z'
                phoneNumbers:
                  - '+18012141003'
                orderStatus: RECEIVED
                errors: []
                warnings: []
                locationId: 500026
    postMoveTnsResponse400:
      description: >-
        The order failed. One of the input parameters is invalid. The error text
        and an error code will be provided in the ErrorList element
      content:
        application/xml:
          examples:
            example:
              $ref: '#/components/examples/postMoveTnsResponse400XmlExample'
        application/json:
          examples:
            example:
              value:
                errorCode: 1003
                description: subAccountId is required
    getMoveTnsOrderByOrderIdResponse200:
      description: >-
        The information has been successfully retrieved and displayed in the
        payload
      content:
        application/xml:
          schema:
            $ref: '#/components/schemas/moveTnsOrderPayload'
          examples:
            example:
              $ref: '#/components/examples/getMoveTnsOrderResponseXmlExample'
        application/json:
          schema:
            $ref: '#/components/schemas/moveTnsOrderJsonResponsePayload'
          examples:
            moveTnsSuccess:
              value:
                orderId: 4bf48140-59ba-45d0-8d52-661574781ab0
                accountId: 9900012
                sourceAccountId: 9900013
                lastModifiedDate: '2025-05-27T11:16:37.967Z'
                createdByUser: systemUser
                subAccountId: 487
                orderCreateDate: '2025-05-27T11:16:37.648Z'
                phoneNumbers:
                  - '+18012141003'
                orderStatus: COMPLETE
                errors: []
                warnings: []
                locationId: 500026
            moveTnsSuccessWithWarning:
              value:
                orderId: d1f266c1-1819-4a82-ad77-399bb2e7c2a0
                accountId: 12346181
                lastModifiedDate: '2025-05-30T08:15:31.383Z'
                createdByUser: systemUser
                subAccountId: 508
                orderCreateDate: '2025-05-30T08:15:30.883Z'
                phoneNumbers:
                  - '+18012141002'
                orderStatus: COMPLETE
                sourceAccountId: 12346159
                e911ServiceAction: MOVE
                errors: []
                warnings:
                  - phoneNumber: '+18012141002'
                    description: E911 provisioning failed.
                locationId: 500047
            moveTnsFailure:
              value:
                orderId: e2e5c8f4-70fa-4c4a-b69a-386abee8c1c4
                accountId: 12346160
                lastModifiedDate: '2025-05-29T11:33:44.644Z'
                createdByUser: systemUser
                subAccountId: 487
                orderCreateDate: '2025-05-29T11:33:41.496Z'
                phoneNumbers:
                  - '+18012141002'
                orderStatus: FAILED
                sourceAccountId: 12346159
                errors:
                  - code: 5312
                    description: An order is already processing this TN.
                    phoneNumbers:
                      - '+18012141002'
                warnings: []
                locationId: 500026
    getMoveTnsOrderByOrderIdResponse404:
      description: Data not found for the requested orderId
      content:
        application/xml:
          schema:
            $ref: '#/components/schemas/moveTnsOrderPayload404XmlResponse'
          examples:
            example:
              $ref: '#/components/examples/moveTnsOrderPayload404XmlExample'
        application/json:
          schema:
            $ref: '#/components/schemas/moveTnsOrderPayload404JsonResponse'
          examples:
            example:
              value:
                code: 404
                description: Order with such id was not found.
    postMoveTnsCheckerResponse200:
      description: OK
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/moveTnsCheckerPayloadJson'
          examples:
            example:
              $ref: '#/components/examples/moveTnsCheckerResponseJsonExample200'
    postMoveTnsCheckerResponse400:
      description: >-
        The request failed. One of the input parameters is invalid. The error
        text and an error code will be provided in the ErrorList element
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/moveTnsCheckerResponse400Json'
          examples:
            example:
              $ref: '#/components/examples/moveTnsCheckerResponseJsonExample400'
    getMoveTnsOrderHistoryResponse200:
      description: The history has been successfully retrieved and displayed in the payload
      content:
        application/xml:
          schema:
            $ref: '#/components/schemas/orderHistoryWrapper'
          examples:
            example:
              $ref: '#/components/examples/getMoveTnsOrderHistoryResponseXmlExample'
        application/json:
          schema:
            $ref: '#/components/schemas/orderHistoryJson'
          examples:
            example:
              $ref: '#/components/examples/getMoveTnsOrderHistoryResponseJsonExample'
    createMoveTnsBulkOrder202Response:
      content:
        application/json:
          examples:
            moveTnsBulkOrder202ResponseExample:
              $ref: '#/components/examples/createMoveTnsBulkOrder202ResponseExample'
          schema:
            $ref: '#/components/schemas/createMoveTnsBulkOrder202Response'
      description: Accepted
    createMoveTnsBulkOrder400Response:
      content:
        application/json:
          examples:
            createMoveTnsBulkOrder400ResponseWithMetaExample:
              $ref: >-
                #/components/examples/createMoveTnsBulkOrder400ResponseWithMetaExample
            createMoveTnsBulkOrder400ResponseWithoutMetaExample:
              $ref: >-
                #/components/examples/createMoveTnsBulkOrder400ResponseWithoutMetaExample
          schema:
            $ref: '#/components/schemas/createMoveTnsBulkOrder400Response'
      description: Bad Request
    bulkPhoneNumberUpdate200Response:
      description: OK
      content:
        application/json:
          examples:
            bulkPhoneNumberAddSuccessResponseExample:
              $ref: '#/components/examples/bulkPhoneNumberAddSuccessResponseExample'
            bulkPhoneNumberAddSuccessWithErrorsResponseExample:
              $ref: >-
                #/components/examples/bulkPhoneNumberAddSuccessWithErrorsResponseExample
            bulkPhoneNumberRemoveSuccessResponseExample:
              $ref: >-
                #/components/examples/bulkPhoneNumberRemoveSuccessResponseExample
            bulkPhoneNumberRemoveSuccessWithErrorsResponseExample:
              $ref: >-
                #/components/examples/bulkPhoneNumberRemoveSuccessWithErrorsResponseExample
          schema:
            $ref: '#/components/schemas/bulkPhoneNumberUpdate200Response'
    getMoveTnsBulkOrderStatus200Response:
      content:
        application/json:
          examples:
            getMoveTnsBulkOrderCompleteExample:
              $ref: '#/components/examples/getMoveTnsBulkOrderCompleteExample'
            getMoveTnsBulkOrderCompleteResponseExampleWithDetails:
              $ref: >-
                #/components/examples/getMoveTnsBulkOrderCompleteResponseExampleWithDetails
            getMoveTnsBulkOrderFailedResponseExample:
              $ref: '#/components/examples/getMoveTnsBulkOrderFailedResponseExample'
            getMoveTnsBulkOrderProcessingExample:
              $ref: '#/components/examples/getMoveTnsBulkOrderProcessingExample'
            getMoveTnsBulkOrderReceivedResponseExample:
              $ref: '#/components/examples/getMoveTnsBulkOrderReceivedResponseExample'
          schema:
            $ref: '#/components/schemas/getMoveTnsBulkOrderStatusResponse'
      description: OK
    getListOfCustomers200Response:
      description: OK
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/getListOfCustomers200Response'
          examples:
            example:
              $ref: '#/components/examples/getListOfCustomers200ResponseExample'
    getCustomer200Response:
      description: OK
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/getCustomer200Response'
          examples:
            example:
              $ref: '#/components/examples/getCustomer200ResponseExample'
    badRequestError:
      description: Bad Request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/genericError'
          examples:
            badRequestErrorExample:
              $ref: '#/components/examples/badRequestErrorExample'
    updatePhoneNumberTagBadRequestError:
      description: Bad Request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/genericError'
          examples:
            invalidPhoneNumberBadRequestErrorExample:
              $ref: '#/components/examples/invalidPhoneNumberBadRequestErrorExample'
            invalidActionBadRequestErrorExample:
              $ref: '#/components/examples/invalidActionBadRequestErrorExample'
    deleteTagBadRequestError:
      description: Bad Request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/genericError'
          examples:
            tagNotFoundBadRequestErrorExample:
              $ref: '#/components/examples/tagNotFoundBadRequestErrorExample'
    badRequestErrorCustomer:
      description: Bad Request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/genericErrorCustomer'
          examples:
            badRequestErrorExample:
              $ref: '#/components/examples/badRequestErrorExample'
    unauthorizedErrorBasic:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/genericError'
          examples:
            unauthorizedErrorExample:
              $ref: '#/components/examples/unauthorizedErrorExample'
    unauthorizedErrorBasicCustomer:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/genericErrorCustomer'
          examples:
            unauthorizedErrorExample:
              $ref: '#/components/examples/unauthorizedErrorExample'
    unauthorizedError:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/unauthorizedErrorSignum'
    forbiddenError:
      description: Forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/genericErrorCustomer'
          examples:
            unknownAccountErrorExample:
              $ref: '#/components/examples/forbiddenErrorExample'
    customerNotFoundError:
      description: Not Found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/genericErrorCustomer'
          examples:
            customerNotFoundErrorExample:
              $ref: '#/components/examples/customerNotFoundErrorExample'
    methodNotAllowedError:
      description: Method Not Allowed
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/genericError'
          examples:
            unknownAccountErrorExample:
              $ref: '#/components/examples/methodNotAllowedErrorExample'
    mediaTypeErrorJson:
      description: Unsupported Media Type
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/genericError'
          examples:
            jsonMediaTypeErrorExample:
              $ref: '#/components/examples/jsonMediaTypeErrorExample'
    conflictError:
      description: Conflict
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/genericError'
          examples:
            unknownAccountErrorExample:
              $ref: '#/components/examples/conflictErrorExample'
    tooManyRequestsError:
      description: Too Many Requests Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/genericError'
          examples:
            unknownAccountErrorExample:
              $ref: '#/components/examples/tooManyRequestsErrorExample'
    internalServerError:
      description: Internal Server Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/genericError'
          examples:
            unknownAccountErrorExample:
              $ref: '#/components/examples/internalServerErrorExample'
    forbiddenErrorCustomer:
      description: Forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/genericErrorCustomer'
          examples:
            unknownAccountErrorExample:
              $ref: '#/components/examples/forbiddenErrorExample'
    notFoundErrorCustomer:
      description: Not Found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/genericErrorCustomer'
          examples:
            unknownAccountErrorExample:
              $ref: '#/components/examples/notFoundErrorExample'
    methodNotAllowedErrorCustomer:
      description: Method Not Allowed
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/genericErrorCustomer'
          examples:
            unknownAccountErrorExample:
              $ref: '#/components/examples/methodNotAllowedErrorExample'
    conflictErrorCustomer:
      description: Conflict
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/genericErrorCustomer'
          examples:
            unknownAccountErrorExample:
              $ref: '#/components/examples/conflictErrorExample'
    tooManyRequestsErrorCustomer:
      description: Too Many Requests Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/genericErrorCustomer'
          examples:
            unknownAccountErrorExample:
              $ref: '#/components/examples/tooManyRequestsErrorExample'
    internalServerErrorCustomer:
      description: Internal Server Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/genericErrorCustomer'
          examples:
            unknownAccountErrorExample:
              $ref: '#/components/examples/internalServerErrorExample'
    notFoundError:
      description: Not Found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/genericError'
          examples:
            unknownAccountErrorExample:
              $ref: '#/components/examples/notFoundErrorExample'
    accountNotFoundError:
      description: Not Found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/genericError'
          examples:
            accountNotFoundErrorExample:
              $ref: '#/components/examples/accountNotFoundErrorExample'
    updatePhoneNumberTagNotFoundError:
      description: Not Found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/genericError'
          examples:
            unknownAccountErrorExample:
              $ref: '#/components/examples/updatePhoneNumberTagNotFoundErrorExample'
    createGroupResponse:
      description: Create Group Response
      content:
        application/json:
          schema:
            anyOf:
              - $ref: '#/components/schemas/createGroupEnterprise201Response'
              - $ref: '#/components/schemas/createGroupReseller201Response'
          examples:
            enterpriseUserExample:
              $ref: '#/components/examples/createGroupEnterprise201ResponseExample'
            resellerUserExample:
              $ref: '#/components/examples/createGroupReseller201ResponseExample'
    getGroup200Response:
      description: OK
      content:
        application/json:
          schema:
            anyOf:
              - $ref: '#/components/schemas/getGroupEnterprise200Response'
              - $ref: '#/components/schemas/getGroupReseller200Response'
          examples:
            enterpriseUserExample:
              $ref: '#/components/examples/getGroupEnterprise200ResponseExample'
            resellerUserExample:
              $ref: '#/components/examples/getGroupReseller200ResponseExample'
    patchNumberGroupResponse:
      description: OK
      content:
        application/json:
          schema:
            type: object
            properties:
              links:
                type: array
                items:
                  $ref: '#/components/schemas/link'
                example:
                  - href: >-
                      https://api.bandwidth.com/api/v2/accounts/6555555/numberReputationManagement/groups/26
                    rel: get-group
                    method: GET
              errors:
                type: array
                items:
                  $ref: '#/components/schemas/error'
                nullable: true
                example: null
    getPhoneNumberReputationDetailsResponse:
      description: OK
      content:
        application/json:
          schema:
            anyOf:
              - $ref: >-
                  #/components/schemas/getPhoneNumberReputationDetailsEnterpriseWeeklyChecks200Response
              - $ref: >-
                  #/components/schemas/getPhoneNumberReputationDetailsResellerWeeklyChecks200Response
              - $ref: >-
                  #/components/schemas/getPhoneNumberReputationDetailsEnterpriseDailyChecks200Response
              - $ref: >-
                  #/components/schemas/getPhoneNumberReputationDetailsResellerDailyChecks200Response
          examples:
            getPhoneNumberReputationDetailsEnterpriseWeeklyExample:
              $ref: >-
                #/components/examples/getPhoneNumberReputationDetailsEnterpriseWeeklyChecks200ResponseExample
            getPhoneNumberReputationDetailsResellerWeeklyExample:
              $ref: >-
                #/components/examples/getPhoneNumberReputationDetailsResellerWeeklyChecks200ResponseExample
            getPhoneNumberReputationDetailsEnterpriseDailyExample:
              $ref: >-
                #/components/examples/getPhoneNumberReputationDetailsEnterpriseDailyChecks200ResponseExample
            getPhoneNumberReputationDetailsResellerDailyExample:
              $ref: >-
                #/components/examples/getPhoneNumberReputationDetailsResellerDailyChecks200ResponseExample
    getPhoneNumberReputationHistoryResponse:
      description: OK
      content:
        application/json:
          schema:
            anyOf:
              - $ref: >-
                  #/components/schemas/getPhoneNumberReputationHistoryWeeklyChecks200Response
              - $ref: >-
                  #/components/schemas/getPhoneNumberReputationHistoryDailyChecks200Response
          examples:
            getPhoneNumberReputationHistoryWeeklyExample:
              $ref: >-
                #/components/examples/getPhoneNumberReputationHistoryWeeklyChecks200ResponseExample
            getPhoneNumberReputationHistoryDailyExample:
              $ref: >-
                #/components/examples/getPhoneNumberReputationHistoryDailyChecks200ResponseExample
    statusStatsResponse:
      description: OK
      content:
        application/json:
          schema:
            type: object
            properties:
              data:
                type: object
                properties:
                  totalNumbers:
                    type: integer
                    description: The total number of phone numbers matching the filters
                    example: 100
                  carriersReputationSummaryCounts:
                    type: object
                    properties:
                      STATUS_PENDING:
                        type: integer
                        description: >-
                          The number of phone numbers with the identity status
                          "REGISTRATION_IN_PROGRESS"
                        example: 10
                      FLAGGED:
                        type: integer
                        description: >-
                          The number of phone numbers with the identity status
                          "REMEDIATION_DENIED"
                        example: 10
                      CLEAN:
                        type: integer
                        description: >-
                          The number of phone numbers with the identity status
                          "CLEAN"
                        example: 50
              links:
                type: array
                items:
                  $ref: '#/components/schemas/link'
                example:
                  - href: >-
                      https://api.bandwidth.com/api/v2/accounts/6555555/numberReputationManagement/phoneNumbers/stats?groupId=26
                    rel: self
                    method: GET
              errors:
                type: array
                items:
                  $ref: '#/components/schemas/error'
                nullable: true
                example: null
            required:
              - data
              - links
              - errors
    getListOfGroups200Response:
      description: OK
      content:
        application/json:
          schema:
            anyOf:
              - $ref: '#/components/schemas/getListOfGroupsEnterprise200Response'
              - $ref: '#/components/schemas/getListOfGroupsReseller200Response'
          examples:
            getListOfGroupsEnterpriseExample:
              $ref: >-
                #/components/examples/getListOfGroupsEnterprise200ResponseExample
            getListOfGroupsResellerExample:
              $ref: '#/components/examples/getListOfGroupsReseller200ResponseExample'
    serviceActivationCheckerOk:
      description: OK
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/serviceActivationCheckerResponse'
          examples:
            successExample1:
              $ref: '#/components/examples/serviceActivationCheckerResponseExample1'
            successExample2:
              $ref: '#/components/examples/serviceActivationCheckerResponseExample2'
            successExample3:
              $ref: '#/components/examples/serviceActivationCheckerResponseExample3'
    serviceActivationCheckerBadRequest:
      description: Bad Request.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/serviceActivationCheckerBadRequestResponse'
          examples:
            badRequestExample:
              $ref: >-
                #/components/examples/serviceActivationCheckerBadRequestErrorExample
    serviceActivationSearch:
      description: Ok
      content:
        application/json:
          schema:
            anyOf:
              - $ref: '#/components/schemas/serviceActivationOrderSearchResponse'
              - $ref: >-
                  #/components/schemas/serviceActivationOrderSearchResponseVerbose
          examples:
            Search response without verbose flag:
              $ref: >-
                #/components/examples/serviceActivationOrderSearchResponseExample
            Search response with verbose flag:
              $ref: >-
                #/components/examples/serviceActivationOrderSearchResponseVerboseExample
    serviceActivationOrderCreated:
      description: Created
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/serviceActivationOrderResponse'
          examples:
            createdResponseExample:
              $ref: '#/components/examples/serviceActivationOrderResponseExample'
    serviceActivationOrderDetails:
      description: Ok
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/serviceActivationOrderResponse'
          examples:
            getServiceActivationOrderExample:
              $ref: '#/components/examples/getServiceActivationOrderExample'
  parameters:
    tagNamePathParam:
      name: tagName
      description: >-
        Name of tag. Only alphanumeric values, dashes and underscores are
        allowed. Between 1 and 255 characters. Is case sensitive.
      in: path
      required: true
      schema:
        type: string
        example: customerId
    tagValuePathParam:
      name: tagValue
      description: >-
        Value of tag. Only alphanumeric values, dashes and underscores are
        allowed. Between 1 and 255 characters. Is case sensitive.
      in: path
      required: true
      schema:
        type: string
        example: 11111111-1111-1111-1111-111111111111
    phoneNumbersQueryParam:
      name: phoneNumbers
      in: query
      description: >-
        Filter by phone number(s). If omitted, all tags will be included. If
        included only tags associated with the phone numbers specified will be
        returned.
      style: deepObject
      explode: true
      schema:
        properties:
          contains:
            $ref: '#/components/schemas/phoneNumbers'
      example:
        contains:
          - '+19199918388'
          - '+19199918389'
    tagNameQueryParam:
      name: tagName
      description: Filter by tag name. If omitted, all tag names will be included
      in: query
      required: false
      style: deepObject
      schema:
        properties:
          eq:
            description: A tag name to filter by.
            example: customerId
            type: string
      example:
        eq: customerId
    tagValueQueryParam:
      name: tagValue
      description: Filter by tag value. If omitted, all tag values will be included
      in: query
      required: false
      style: deepObject
      schema:
        properties:
          eq:
            description: A tag value to filter by.
            example: 11111111-1111-1111-1111-111111
            type: string
      example:
        eq: 11111111-1111-1111-1111-111111
    orderIdPathParam:
      name: orderId
      description: ID of order to retrieve
      in: path
      required: true
      schema:
        type: string
      example: bf1305b8-8998-1111-2222-51ba3ce52d4e
    accountIdPathParam:
      name: accountId
      description: User's account ID.
      in: path
      required: true
      schema:
        type: string
      example: '1234567'
    bulkOrderVerboseQueryParam:
      description: Whether to include the `orderDetails` list in the response.
      in: query
      name: verbose
      required: false
      schema:
        default: false
        type: boolean
    limitQueryParam:
      description: Limit the number of returned records.
      in: query
      name: limit
      required: false
      schema:
        default: 100
        example: 50
        maximum: 1000
        minimum: 1
        type: integer
    beforeCursor:
      description: Opaque base64-encoded Order ID to retrieve the previous set of results.
      in: query
      name: beforeCursor
      schema:
        example: bGl2ZSBsb25nIGFuZCBwcm9zcGVy
        type: string
    afterCursor:
      description: Opaque base64-encoded Order ID to retrieve the next set of results.
      in: query
      name: afterCursor
      schema:
        example: bWF5IHRoZSBmb3JjZSBiZSB3aXRoIHlvdQ
        type: string
    statusQueryParamEq:
      description: The status of the item
      example:
        eq: VERIFIED
      explode: true
      in: query
      name: status
      required: false
      schema:
        $ref: '#/components/schemas/queryParamStringEq'
      style: deepObject
    customerIdPathParam:
      name: customerId
      description: The unique identifier of the customer.
      in: path
      required: true
      schema:
        type: integer
      example: 42
    statusQueryParam:
      name: status
      description: The status of the moveTnsOrder being searched for
      in: query
      required: false
      schema:
        type: string
      example: PARTIAL
    telephoneNumberQueryParam:
      name: tn
      description: A Telephone Number (TN) that is referenced in the order
      in: query
      required: false
      schema:
        type: string
      example: '+19199918388'
    customerOrderIdQueryParam:
      name: customerOrderId
      description: >
        Filter orders by a customer-assigned reference ID. Because
        `customerOrderId` is not unique — Bandwidth applies no uniqueness
        constraint — this query may return multiple orders if the same value was
        used across multiple orders. Each result will have a distinct
        Bandwidth-assigned `orderId`. To retrieve a single specific order, use
        its `orderId` instead.
      in: query
      required: false
      schema:
        type: string
      example: ABCCorp12345
    createdDateFromQueryParam:
      name: createdDateFrom
      description: >-
        Checks the order's creation date against this value. Orders that have a
        creation date after this date will be included. Format is yyyy-MM-dd.
      in: query
      required: false
      schema:
        type: string
      example: '2013-10-22'
    createdDateToQueryParam:
      name: createdDateTo
      description: >-
        Checks the order's creation date against this value. Orders that have a
        creation date before this date will be included. Format is yyyy-MM-dd.
      in: query
      required: false
      schema:
        type: string
      example: '2013-10-25'
    modifiedDateFromQueryParam:
      name: modifiedDateFrom
      description: >-
        For Date-based searches, the starting date of a date range (inclusive)
        that will be used to find Import Tn Orders that were modified within the
        date range. It is in the form yyyy-MM-dd.
      in: query
      required: false
      schema:
        type: string
      example: '2013-10-22'
    modifiedDateToQueryParam:
      name: modifiedDateTo
      description: >-
        For Date-based searches, the ending date of a date range (inclusive)
        that will be used to find Import Tn Orders that were modified within the
        date range. It is in the form yyyy-MM-dd.
      in: query
      required: false
      schema:
        type: string
      example: '2013-10-25'
    groupIdPathParam:
      name: groupId
      in: path
      description: The ID of the group
      required: true
      schema:
        type: integer
        example: 26
    groupIdQueryParam:
      name: groupId
      in: query
      description: Filter by group ID. If omitted, all groups will be included
      style: deepObject
      explode: true
      schema:
        properties:
          eq:
            description: A comma-separated list of group IDs to filter by
            example: 12,45
            type: string
    customerIdQueryParam:
      name: customerId
      in: query
      description: Filter by customer ID. If omitted, all customers will be included
      style: deepObject
      explode: true
      schema:
        properties:
          eq:
            description: A comma-separated list of customer IDs to filter by
            example: 12,45
            type: string
    pageQueryParam:
      name: page
      description: >-
        The number of the page to return. If not specified, the default page is
        1.
      in: query
      required: false
      schema:
        type: string
      example: '1'
    pageNumberQueryParam:
      name: pageNumber
      in: query
      description: >-
        The number of the page to return. If not specified, the default page is
        0.
      schema:
        type: integer
        default: 0
        minimum: 0
    pageSizeQueryParam:
      name: pageSize
      in: query
      description: >-
        The number of records to return. If not specified, the default size is
        500.
      schema:
        type: integer
        default: 500
        maximum: 5000
        minimum: 1
    phoneNumberQueryParam:
      name: phoneNumber
      in: query
      description: Filter by phone number. If omitted, all phone numbers will be included
      style: deepObject
      explode: true
      schema:
        properties:
          eq:
            description: A comma-separated list of phone numbers to filter by
            example: +19195551234,+19195556789
            type: string
    carriersReputationSummaryQueryParam:
      name: carriersReputationSummary
      in: query
      description: >-
        Filter by carriersReputationSummary. Allowed values are
        `STATUS_PENDING`, `FLAGGED`, `CLEAN`. If omitted, all values will be
        included
      style: deepObject
      explode: true
      schema:
        properties:
          eq:
            description: >-
              A comma-separated list of carriersReputationSummary values to
              filter byAllowed values are `STATUS_PENDING`, `FLAGGED`, `CLEAN`.
              If omitted, all values will be included
            example: STATUS_PENDING,FLAGGED
            type: string
    phoneNumberPathParam:
      name: phoneNumber
      in: path
      description: The phone number in E.164 format (e.g., +18558647776)
      required: true
      schema:
        type: string
        pattern: ^\+[1-9]\d{1,14}$
      example: '+18558647776'
    scanTimeQueryParam:
      name: scanTime
      in: query
      description: >-
        Filter based on the time at which the reputation scan was performed. If
        omitted, all scan times will be included.
      style: deepObject
      explode: true
      schema:
        properties:
          gte:
            description: >-
              Filter for reputation scans performed on or after this date and
              time (ISO 8601 format). If not specified, defaults to 3 months
              before the current date and time.
            example: '2021-01-01T00:00:00Z'
            type: string
            format: date-time
          lte:
            description: >-
              Filter for reputation scans performed on or before this date and
              time (ISO 8601 format).
            example: '2021-01-31T00:00:00Z'
            type: string
            format: date-time
    customerOrderIdQueryParamEqStartsWith:
      in: query
      name: customerOrderId
      required: false
      style: deepObject
      explode: true
      schema:
        $ref: '#/components/schemas/queryParamStringEqStartsWith'
      examples:
        eq:
          value:
            eq: exampleOrder
        startsWith:
          value:
            startsWith: example
      description: Query by customer order ID.
    verboseParam:
      in: query
      name: verbose
      required: false
      schema:
        type: boolean
        example: true
        default: false
      description: >-
        A flag to get detailed lists of the completed, failed, partial and
        missing requirements numbers of the orders returned in the response.
  examples:
    patchAddPhoneNumberTagRequest:
      summary: Add a tag to a list of phone numbers
      value:
        action: MOVE
        phoneNumbers:
          - '+442046008993'
          - '+442046008994'
          - '+442046008995'
    patchRemovePhoneNumberTagRequest:
      summary: Remove a tag from a list of phone numbers
      value:
        action: REMOVE
        phoneNumbers:
          - '+442046008993'
          - '+442046008994'
          - '+442046008995'
    getAllTagsExample:
      summary: Retrieve all tags
      value:
        data:
          totalCount: 4
          tags:
            - tagName: customerId
              tagValue: 11111111-1111-1111-1111-111111111111
              phoneNumbers:
                - '+442046008993'
                - '+442046008994'
            - tagName: customerId
              tagValue: 22222222-2222-2222-2222-222222222222
              phoneNumbers:
                - '+442046008995'
                - '+442046008996'
            - tagName: campaignId
              tagValue: 33333333-3333-3333-3333-333333333333
              phoneNumbers:
                - '+442046008997'
            - tagName: otherTag
              tagValue: 44444444-4444-4444-4444-444444444444
        links:
          - href: https://api.bandwidth.com/v2/accounts/1234567/tags
            rel: self
            method: GET
          - href: >-
              https://api.bandwidth.com/v2/accounts/1234567/tags?pageNumber=0&pageSize=500
            rel: first
            method: GET
          - href: >-
              https://api.bandwidth.com/v2/accounts/1234567/tags?pageNumber=1&pageSize=500
            rel: next
            method: GET
          - href: >-
              https://api.bandwidth.com/v2/accounts/1234567/tags?pageNumber=5&pageSize=500
            rel: last
            method: GET
        errors: []
        page:
          pageNumber: 1
          pageSize: 500
    filterByTagNameExample:
      summary: Retrieve tags filtered by tag name
      value:
        data:
          totalCount: 2
          tags:
            - tagName: customerId
              tagValue: 11111111-1111-1111-1111-111111111111
              phoneNumbers:
                - '+442046008993'
                - '+442046008994'
            - tagName: customerId
              tagValue: 22222222-2222-2222-2222-222222222222
              phoneNumbers:
                - '+442046008995'
                - '+442046008996'
        links:
          - href: >-
              https://api.bandwidth.com/v2/accounts/1234567/tags?tagName=customerId
            rel: self
            method: GET
          - href: >-
              https://api.bandwidth.com/v2/accounts/1234567/tags?tagName=customerId&pageNumber=1&pageSize=500
            rel: next
            method: GET
          - href: >-
              https://api.bandwidth.com/v2/accounts/1234567/tags?tagName=customerId&pageNumber=5&pageSize=500
            rel: last
            method: GET
        errors: []
        page:
          pageNumber: 1
          pageSize: 500
    filterByTagExample:
      summary: Retrieve tags filtered by tag name and tag value
      value:
        data:
          totalCount: 1
          tags:
            - tagName: customerId
              tagValue: 11111111-1111-1111-1111-111111111111
              phoneNumbers:
                - '+442046008993'
                - '+442046008994'
        links:
          - href: >-
              https://api.bandwidth.com/v2/accounts/1234567/tags?tagName=customerId&tagValue=11111111-1111-1111-1111-111111111111
            rel: self
            method: GET
          - href: >-
              https://api.bandwidth.com/v2/accounts/1234567/tags?pageNumber=0&pageSize=500&tagName=customerId&tagValue=11111111-1111-1111-1111-111111111111
            rel: first
            method: GET
          - href: >-
              https://api.bandwidth.com/v2/accounts/1234567/tags?pageNumber=1&pageSize=500&tagName=customerId&tagValue=11111111-1111-1111-1111-111111111111
            rel: next
            method: GET
          - href: >-
              https://api.bandwidth.com/v2/accounts/1234567/tags?pageNumber=1&pageSize=500&tagName=customerId&tagValue=11111111-1111-1111-1111-111111111111
            rel: last
            method: GET
        errors: []
        page:
          pageNumber: 1
          pageSize: 500
    filterByPhoneNumberExample:
      summary: Retrieve tags filtered by phone number
      value:
        data:
          totalCount: 2
          tags:
            - tagName: customerId
              tagValue: 11111111-1111-1111-1111-111111111111
              phoneNumbers:
                - '+442046008993'
                - '+442046008994'
            - tagName: campaignId
              tagValue: 33333333-3333-3333-3333-333333333333
              phoneNumbers:
                - '+442046008997'
        links:
          - href: >-
              https://api.bandwidth.com/v2/accounts/1234567/tags?phoneNumber=+442046008993,+442046008997
            rel: self
            method: GET
          - href: >-
              https://api.bandwidth.com/v2/accounts/1234567/tags?pageNumber=0&pageSize=500&phoneNumber=+442046008993,+442046008997
            rel: first
            method: GET
          - href: >-
              https://api.bandwidth.com/v2/accounts/1234567/tags?pageNumber=0&pageSize=500phoneNumber=+442046008993,+442046008997
            rel: last
            method: GET
        errors: []
        page:
          pageNumber: 1
          pageSize: 500
    updatePhoneNumberTagMoveExample:
      summary: Result of moving phone numbers to a tag
      value:
        data:
          tags:
            - tagName: customerId
              tagValue: 11111111-1111-1111-1111-111111111111
              phoneNumbers:
                - '+442046008992'
                - '+442046008993'
                - '+442046008994'
                - '+442046008995'
        links:
          - href: >-
              https://api.bandwidth.com/v2/accounts/1234567/tags/customerId/11111111-1111-1111-1111-111111111111
            rel: self
            method: PATCH
        errors: []
    updatePhoneNumberTagRemoveExample:
      summary: Result of removing phone numbers from a tag
      value:
        data:
          tags:
            - tagName: customerId
              tagValue: 11111111-1111-1111-1111-111111111111
              phoneNumbers:
                - '+442046008992'
        links:
          - href: >-
              https://api.bandwidth.com/v2/accounts/1234567/tags/customerId/11111111-1111-1111-1111-111111111111
            rel: self
            method: PATCH
        errors: []
    updatePhoneNumberTagNotFoundErrorExample:
      summary: >-
        Not Found Error when trying to remove phone numbers from a tag that does
        not exist
      value:
        data: null
        links: []
        errors:
          - description: >-
              Cannot remove phone nubmers because tag does not exist on the
              account
            code: 50003
            type: not_found
    jsonMediaTypeErrorExample:
      summary: >-
        An example a Media Type Error where the user is requesting/offering XML
        but the client expects json
      value:
        data: null
        links: []
        errors:
          - description: Invalid media type
            code: 50001
            type: bad_request
    postMoveTnsResponse201XmlExample:
      value: |-
        <?xml version="1.0" encoding="UTF-8"?>
        <MoveTnsOrderResponse>
           <MoveTnsOrder>
              <OrderCreateDate>2020-09-15T16:36:22.076Z</OrderCreateDate>
              <AccountId>9999999</AccountId>
              <SourceAccountId>6555555</SourceAccountId>
              <CreatedByUser>systemUser</CreatedByUser>
              <OrderId>093a9f9b-1a78-4e47-b6e2-776a484596f4</OrderId>
              <LastModifiedDate>2020-09-15T16:36:22.096Z</LastModifiedDate>
              <SiteId>483</SiteId>
              <TelephoneNumbers>
                 <TelephoneNumber>+12032081004</TelephoneNumber>
                 <TelephoneNumber>+12032081005</TelephoneNumber>
              </TelephoneNumbers>
              <ProcessingStatus>RECEIVED</ProcessingStatus>
              <SipPeerId>500025</SipPeerId>
           </MoveTnsOrder>
        </MoveTnsOrderResponse>
    getMoveTnsOrderResponseXmlExample:
      value: |-
        <?xml version="1.0" encoding="UTF-8"?>
        <MoveTnsOrder>
           <OrderCreateDate>2020-08-10T02:58:04.615Z</OrderCreateDate>
           <AccountId>9900012</AccountId>
           <SourceAccountId>9900013</SourceAccountId>
           <CreatedByUser>jdb</CreatedByUser>
           <OrderId>bf1305b8-8998-1111-2222-51ba3ce52d4e</OrderId>
           <CustomerOrderId>123-456-789-abc</CustomerOrderId>
           <LastModifiedDate>2018-01-09T02:58:05.298Z</LastModifiedDate>
           <SiteId>65487</SiteId>
           <SipPeerId>885544</SipPeerId>
           <TelephoneNumbers>
              <TelephoneNumber>+12106078250</TelephoneNumber>
              <TelephoneNumber>+12109678273</TelephoneNumber>
              <TelephoneNumber>+12109678331</TelephoneNumber>
              <TelephoneNumber>+12109678337</TelephoneNumber>
              <TelephoneNumber>+12266401468</TelephoneNumber>
              <TelephoneNumber>+12262665583</TelephoneNumber>
           </TelephoneNumbers>
           <ProcessingStatus>PARTIAL</ProcessingStatus>
           <Errors>
              <Error>
                 <Code>7518</Code>
                 <Description>Telephone Number Not Active.</Description>
                 <TelephoneNumbers>
                    <TelephoneNumber>+12262665583</TelephoneNumber>
                 </TelephoneNumbers>
              </Error>
           </Errors>
        </MoveTnsOrder>
    moveTnsOrderPayload404XmlExample:
      value: |-
        <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
        <ErrorResponse>
            <irisStatus>
                <Code>404</Code>
                <Description>Order with such id was not found.</Description>
            </irisStatus>
        </ErrorResponse>
    postMoveTnsResponse400XmlExample:
      value: |-
        <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
        <MoveTnsOrderResponse>
            <ResponseStatus>
                <ErrorCode>1003</ErrorCode>
                <Description>SiteId is required</Description>
            </ResponseStatus>
        </MoveTnsOrderResponse>
    getMoveTnsResponse200XmlExample:
      value: |-
        <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
        <MoveTnsOrders>
           <TotalCount>2</TotalCount>
           <Links>
                <first>Link=&lt;https://api.bandwidth.com/api/v2/accounts/12346160/moveTns?page=1&amp;size=1>;rel="first";</first>
                <next>Link=&lt;https://api.bandwidth.com/api/v2/accounts/12346160/moveTns?page=fe3c18b8-0307-4de7-928e-0ddd77295190&amp;size=1>;rel="next";</next>
           </Links>
           <MoveTnsOrderSummary>
              <accountId>1234567</accountId>
              <SourceAccountId>15</SourceAccountId>
              <CountOfTNs>1</CountOfTNs>
              <CustomerOrderId>CustomerOrderId</CustomerOrderId>
              <userId>systemUser</userId>
              <lastModifiedDate>2022-01-24T11:08:09.770Z</lastModifiedDate>
              <OrderDate>2022-01-24T11:08:09.770Z</OrderDate>
              <OrderType>move_tns</OrderType>
              <OrderStatus>COMPLETE</OrderStatus>
              <OrderId>211a103c-5f9c-4117-8833-c574bdc390fd</OrderId>
           </MoveTnsOrderSummary>
           <MoveTnsOrderSummary>
              <accountId>14</accountId>
              <SourceAccountId>15</SourceAccountId>
              <CountOfTNs>2</CountOfTNs>
              <CustomerOrderId>CustomerOrderId</CustomerOrderId>
              <userId>systemUser</userId>
              <lastModifiedDate>2022-01-24T10:43:16.934Z</lastModifiedDate>
              <OrderDate>2022-01-24T10:43:16.934Z</OrderDate>
              <OrderType>move_tns</OrderType>
              <OrderStatus>PARTIAL</OrderStatus>
              <OrderId>8dc32f09-2329-4c73-b702-526f46b02712</OrderId>
           </MoveTnsOrderSummary>
        </MoveTnsOrders>
    postMoveTnsOrderRequestXmlExample:
      value: |-
        <?xml version="1.0" encoding="UTF-8"?>
        <MoveTnsOrder>
           <CustomerOrderId>ICPA123ABC</CustomerOrderId>
           <SourceAccountId>12346159</SourceAccountId>
           <E911ServiceAction>move</E911ServiceAction>
           <SiteId>743</SiteId>
           <SipPeerId>303716</SipPeerId>
           <TelephoneNumbers>
              <TelephoneNumber>+19199918388</TelephoneNumber>
              <TelephoneNumber>+14158714245</TelephoneNumber>
              <TelephoneNumber>+14352154439</TelephoneNumber>
              <TelephoneNumber>+14352154466</TelephoneNumber>
           </TelephoneNumbers>
        </MoveTnsOrder>
    createMoveTnsBulkOrderRequestExample:
      summary: Move TNs Bulk Order Request
      value:
        orderDetails:
          - bypassMessagingCampaignBlock: true
            bypassMessagingLossBlock: false
            e911ServiceAction: DELETE
            locationId: 483
            messagingServiceAction: USE_CURRENT_NUMBER_SETTINGS
            phoneNumbers:
              - '+12032081004'
              - '+12032081005'
            requirementsPackageId: 2f013e5b-2225-4993-a2f2-fe679a13581e
            sourceAccountId: 500025
            subAccountId: 123456
            voiceConfigurationPackageId: 26988a6a-8efb-4fb3-a595-d5caa43a8a2c
          - bypassMessagingCampaignBlock: false
            bypassMessagingLossBlock: true
            e911ServiceAction: MOVE
            locationId: 484
            messagingServiceAction: USE_DESTINATION_SETTINGS
            phoneNumbers:
              - '+19195551000'
              - '+19195551001'
              - '+19195551002'
            requirementsPackageId: 5a7f3d8c-2512-4aa8-9fe3-a4382b6447bb
            sourceAccountId: 500025
            subAccountId: 123456
            voiceConfigurationPackageId: 26988a6a-8efb-4fb3-a595-d5caa43a8a2c
        customerOrderId: Bulk Migration
    createMoveTnsBulkOrder202ResponseExample:
      summary: Move TNs Bulk Order 202 Response
      value:
        data:
          customerOrderId: Bulk Migration
          lastModifiedDate: '2025-03-04T00:00:00.000Z'
          orderDate: '2025-03-04T00:00:00.000Z'
          orderId: 80eb8180-9543-4bb7-ada1-c4b8ff5df2de
          orderStatus: RECEIVED
          userId: jbrown
        errors: []
        links:
          - href: https://api.bandwidth.com/api/v2/accounts/6777777/moveTns/bulk
            method: POST
            rel: self
          - href: >-
              https://api.bandwidth.com/api/v2/accounts/6777777/moveTns/bulk/80eb8180-9543-4bb7-ada1-c4b8ff5df2de
            method: GET
            rel: bulkOrder
    createMoveTnsBulkOrder400ResponseWithMetaExample:
      summary: Phone number validation error
      value:
        data: null
        links: []
        errors:
          - code: '5093'
            description: Order cannot contain duplicate phone numbers.
            meta:
              phoneNumbers:
                - '+19195551000'
    createMoveTnsBulkOrder400ResponseWithoutMetaExample:
      summary: Validation error unrelated to a phone number
      value:
        data: null
        links: []
        errors:
          - code: '5052'
            description: >-
              Customer Order ID is invalid. Only alphanumeric values, dashes and
              spaces are allowed. Max length is 255 characters.
    bulkPhoneNumberAddRequestExample:
      summary: Bulk phone number add request
      value:
        action: ADD
        groupId: 123456
        phoneNumbers:
          - '+19195551000'
          - '+19195551001'
          - '+19195551002'
    bulkPhoneNumberRemoveRequestExample:
      summary: Bulk phone number remove request
      value:
        action: REMOVE
        phoneNumbers:
          - '+19195551000'
          - '+19195551001'
          - '+19195551002'
    bulkPhoneNumberAddSuccessResponseExample:
      summary: Bulk phone number add success response
      value:
        data:
          action: ADD
          groupId: 123456
          updatedPhoneNumbers:
            - '+19195551000'
            - '+19195551001'
            - '+19195551002'
        links: []
        errors: []
    bulkPhoneNumberAddSuccessWithErrorsResponseExample:
      summary: Bulk phone number add success with errors response
      value:
        data:
          action: ADD
          groupId: 123456
          updatedPhoneNumbers:
            - '+19195551000'
            - '+19195551001'
        links: []
        errors:
          - code: 50105
            description: Phone number(s) are not owned by account.
            meta:
              phoneNumbers:
                - '+19195551002'
    bulkPhoneNumberRemoveSuccessResponseExample:
      summary: Bulk phone number remove success response
      value:
        data:
          action: REMOVE
          updatedPhoneNumbers:
            - '+19195551000'
            - '+19195551001'
            - '+19195551002'
        links: []
        errors: []
    bulkPhoneNumberRemoveSuccessWithErrorsResponseExample:
      summary: Bulk phone number remove success with errors response
      value:
        data:
          action: REMOVE
          updatedPhoneNumbers:
            - '+19195551000'
            - '+19195551001'
        links: []
        errors:
          - code: 50104
            description: Phone number(s) do not belong to any group.
            meta:
              phoneNumbers:
                - '+19195551002'
    getMoveTnsBulkOrderCompleteExample:
      summary: Completed Move TNs Bulk Order
      value:
        data:
          childOrders:
            - orderId: 0e9c7183-a19d-4713-bb17-e67697ca53f5
              orderStatus: FAILED
            - orderId: 1980a5cb-9637-4aec-9749-ebc5e56d06b9
              orderStatus: PARTIAL
            - orderId: cb2358c8-e34d-4caa-aa15-6e48d2a16254
              orderStatus: COMPLETE
          customerOrderId: Bulk Migration
          lastModifiedDate: '2025-03-04T00:00:00.000Z'
          orderDate: '2025-03-04T00:00:00.000Z'
          orderId: 80eb8180-9543-4bb7-ada1-c4b8ff5df2de
          orderStatus: COMPLETE
          userId: jbrown
        errors: []
        links:
          - href: >-
              https://api.bandwidth.com/api/v2/accounts/6777777/moveTns/bulk/80eb8180-9543-4bb7-ada1-c4b8ff5df2de
            method: GET
            rel: bulkOrder
    getMoveTnsBulkOrderCompleteResponseExampleWithDetails:
      summary: Completed Move TNs Bulk Order with details
      value:
        data:
          orderDetails:
            - locationId: 538036
              orderIds:
                - 0e9c7183-a19d-4713-bb17-e67697ca53f5
                - 1980a5cb-9637-4aec-9749-ebc5e56d06b9
              sourceAccountId: 6555555
              subAccountId: 13644
              voiceConfigurationPackageId: 26988a6a-8efb-4fb3-a595-d5caa43a8a2c
              requirementsPackageId: 2f013e5b-2225-4993-a2f2-fe679a13581e
              bypassMessagingCampaignBlock: true
              bypassMessagingLossBlock: false
              e911ServiceAction: DELETE
              messagingServiceAction: USE_CURRENT_NUMBER_SETTINGS
            - locationId: 538037
              orderIds:
                - cb2358c8-e34d-4caa-aa15-6e48d2a16254
              sourceAccountId: 6555555
              subAccountId: 13644
              voiceConfigurationPackageId: c488b879-952c-4095-87f1-2451cf9c5536
              requirementsPackageId: 5a7f3d8c-2512-4aa8-9fe3-a4382b6447bb
              bypassMessagingCampaignBlock: false
              bypassMessagingLossBlock: true
              e911ServiceAction: MOVE
              messagingServiceAction: USE_DESTINATION_SETTINGS
          childOrders:
            - orderId: 0e9c7183-a19d-4713-bb17-e67697ca53f5
              orderStatus: FAILED
            - orderId: 1980a5cb-9637-4aec-9749-ebc5e56d06b9
              orderStatus: PARTIAL
            - orderId: cb2358c8-e34d-4caa-aa15-6e48d2a16254
              orderStatus: COMPLETE
          customerOrderId: Bulk Migration
          lastModifiedDate: '2025-03-04T00:00:00.000Z'
          orderDate: '2025-03-04T00:00:00.000Z'
          orderId: 80eb8180-9543-4bb7-ada1-c4b8ff5df2de
          orderStatus: COMPLETE
          userId: jbrown
        errors: []
        links:
          - href: >-
              https://api.bandwidth.com/api/v2/accounts/6777777/moveTns/bulk/80eb8180-9543-4bb7-ada1-c4b8ff5df2de
            method: GET
            rel: bulkOrder
    getMoveTnsBulkOrderFailedResponseExample:
      summary: Failed Move TNs Bulk Order
      value:
        data:
          customerOrderId: Bulk Migration
          errors:
            - code: '5226'
              description: >-
                Source account doesn't correspond to the telephone number's
                account.
              meta:
                phoneNumbers:
                  - '+19195551000'
          lastModifiedDate: '2025-03-04T00:00:00.000Z'
          orderDate: '2025-03-04T00:00:00.000Z'
          orderId: 80eb8180-9543-4bb7-ada1-c4b8ff5df2de
          orderStatus: FAILED
          userId: jbrown
        errors: []
        links:
          - href: >-
              https://api.bandwidth.com/api/v2/accounts/6777777/moveTns/bulk/80eb8180-9543-4bb7-ada1-c4b8ff5df2de
            method: GET
            rel: bulkOrder
    getMoveTnsBulkOrderProcessingExample:
      summary: Processing Move TNs Bulk Order
      value:
        data:
          childOrders:
            - orderId: 0e9c7183-a19d-4713-bb17-e67697ca53f5
              orderStatus: PROCESSING
            - orderId: 1980a5cb-9637-4aec-9749-ebc5e56d06b9
              orderStatus: PROCESSING
            - orderId: cb2358c8-e34d-4caa-aa15-6e48d2a16254
              orderStatus: COMPLETE
          customerOrderId: Bulk Migration
          lastModifiedDate: '2025-03-04T00:00:00.000Z'
          orderDate: '2025-03-04T00:00:00.000Z'
          orderId: 80eb8180-9543-4bb7-ada1-c4b8ff5df2de
          orderStatus: PROCESSING
          userId: jbrown
        errors: []
        links:
          - href: >-
              https://api.bandwidth.com/api/v2/accounts/6777777/moveTns/bulk/80eb8180-9543-4bb7-ada1-c4b8ff5df2de
            method: GET
            rel: bulkOrder
    getMoveTnsBulkOrderReceivedResponseExample:
      summary: Received Move TNs Bulk Order
      value:
        data:
          customerOrderId: Bulk Migration
          lastModifiedDate: '2025-03-04T00:00:00.000Z'
          orderDate: '2025-03-04T00:00:00.000Z'
          orderId: 80eb8180-9543-4bb7-ada1-c4b8ff5df2de
          orderStatus: RECEIVED
          userId: jbrown
        errors: []
        links:
          - href: >-
              https://api.bandwidth.com/api/v2/accounts/6777777/moveTns/bulk/80eb8180-9543-4bb7-ada1-c4b8ff5df2de
            method: GET
            rel: bulkOrder
    getMoveTnsOrderHistoryResponseXmlExample:
      value: |-
        <?xml version="1.0" encoding="UTF-8"?>
        <OrderHistoryWrapper>
           <OrderHistory>
              <OrderDate>2020-09-17T08:56:39.607Z</OrderDate>
              <Note>Move TNs order has been received by the system.</Note>
              <Author>admin</Author>
              <Status>received</Status>
           </OrderHistory>
           <OrderHistory>
              <OrderDate>2020-09-17T08:56:39.743Z</OrderDate>
              <Note>Move TNs order processing has started.</Note>
              <Author>admin</Author>
              <Status>processing</Status>
           </OrderHistory>
           <OrderHistory>
              <OrderDate>2020-09-17T08:56:39.820Z</OrderDate>
              <Note>Move TNs order is complete.</Note>
              <Author>admin</Author>
              <Status>complete</Status>
           </OrderHistory>
        </OrderHistoryWrapper>
    getMoveTnsOrderHistoryResponseJsonExample:
      summary: An example of a get Move TNs Order History response in JSON.
      value:
        orderHistory:
          - orderDate: '2015-06-16T14:03:10.225Z'
            note: Move TNs order is received.
            author: admin
            status: RECEIVED
          - orderDate: '2015-06-16T14:03:10.330Z'
            note: Move TNs order is processing.
            author: admin
            status: PROCESSING
          - orderDate: '2015-06-16T14:03:10.789Z'
            note: Move TNs order is partial.
            author: admin
            status: PARTIAL
    moveTnsCheckerRequestJsonExample:
      summary: An example of a Move TNs Checker Request in JSON.
      value:
        subAccountId: 487
        locationId: 538036
        phoneNumbers:
          - '+442046008993'
          - '+442046008994'
        sourceAccountId: 9902975
        voiceConfigurationPackageId: c1dfbfd3-3099-4f7f-bf4c-4ff6b5f8ea85
        requirementsPackageId: 1b2c3d4e-5f6a-7b8c-9d0e-f1a2b3c4d5e6
        messagingService: USE_DESTINATION_SETTINGS
        e911ServiceAction: MOVE
        bypassMessagingLossBlock: true
        bypassMessagingCampaignBlock: false
    moveTnsCheckerResponseJsonExample200:
      summary: An example of a Move TNs Checker 200 Response in JSON.
      value:
        data:
          validPhoneNumbers:
            - '+12032081006'
            - '+12032081007'
        errors: []
        links:
          - href: /v2/accounts/9902975/moveTnsChecker
            rel: self
            method: POST
    moveTnsCheckerResponseJsonExample400:
      summary: An example of a Move TNs Checker 400 Response in JSON.
      value:
        data: null
        errors:
          - code: 1003
            description: SiteId/subAccountId is required.
        links:
          - href: /v2/accounts/9902975/moveTnsChecker
            rel: self
            method: POST
    getListOfCustomers200ResponseExample:
      summary: An example of a get list of customers response
      value:
        data:
          - customerId: 42
            customerName: Customer B
            description: This customer manages all groups related to Customer B.
            numeracleEntityCode: NEC67890
            createdAt: '2023-09-15T10:20:30.000'
            updatedAt: '2023-09-15T10:20:30.000Z'
            groupCount: 2
          - customerId: 43
            customerName: Customer C
            description: This customer manages all groups related to Customer C.
            numeracleEntityCode: NEC54321
            createdAt: '2023-09-20T11:25:35.000'
            updatedAt: '2023-09-20T11:25:35.000Z'
            groupCount: 5
        links:
          - href: >-
              https://api.bandwidth.com/api/v2/accounts/6555555/numberReputationManagement/customers
            rel: self
            method: GET
        errors: []
    getCustomer200ResponseExample:
      summary: An example of a get customer response
      value:
        data:
          customerId: 42
          customerName: Customer B
          description: This customer manages all groups related to Customer B.
          numeracleEntityCode: NEC67890
          createdAt: '2023-09-15T10:20:30.000'
          updatedAt: '2023-09-15T10:20:30.000Z'
          groupCount: 2
        links:
          - href: >-
              https://api.bandwidth.com/api/v2/accounts/6555555/numberReputationManagement/customers/42
            rel: self
            method: GET
        errors: []
    getPhoneNumberReputationDetailsEnterpriseWeeklyChecks200ResponseExample:
      summary: Get phone number reputation details enterprise response - Weekly Checks
      value:
        data:
          - phoneNumber: '+18558647776'
            groupId: 26
            groupName: Group A
            attRiskRating: REMEDIATION_DENIED
            verizonRiskRating: IN_REMEDIATION
            tmobileRiskRating: CLEAN
            carriersReputationSummary: FLAGGED
            lastTest: '2021-01-01T00:00:00Z'
            lastFlagged: '2021-01-01T00:00:00Z'
          - phoneNumber: '+18558647777'
            groupId: 26
            groupName: Group A
            attRiskRating: CLEAN
            verizonRiskRating: CLEAN
            tmobileRiskRating: CLEAN
            carriersReputationSummary: CLEAN
            lastTest: '2021-01-01T00:00:00Z'
            lastFlagged: '2021-01-01T00:00:00Z'
        links:
          - href: >-
              https://api.bandwidth.com/api/v2/accounts/6555555/numberReputationManagement/phoneNumbers?groupId=26&pageNumber=0&pageSize=50
            rel: self
            method: GET
        errors: []
        page:
          pageSize: 7
          totalElements: 7
          totalPages: 1
          pageNumber: 0
    getPhoneNumberReputationDetailsResellerWeeklyChecks200ResponseExample:
      summary: Get phone number reputation details reseller response - Weekly Checks
      value:
        data:
          - phoneNumber: '+18558647776'
            groupId: 26
            groupName: Group A
            customerId: 42
            customerName: Customer B
            attRiskRating: REMEDIATION_DENIED
            verizonRiskRating: IN_REMEDIATION
            tmobileRiskRating: CLEAN
            carriersReputationSummary: FLAGGED
            lastTest: '2021-01-01T00:00:00Z'
            lastFlagged: '2021-01-01T00:00:00Z'
          - phoneNumber: '+18558647777'
            groupId: 26
            groupName: Group A
            customerId: 27
            customerName: Customer C
            attRiskRating: CLEAN
            verizonRiskRating: CLEAN
            tmobileRiskRating: CLEAN
            carriersReputationSummary: CLEAN
            lastTest: '2021-01-01T00:00:00Z'
            lastFlagged: '2021-01-01T00:00:00Z'
        links:
          - href: >-
              https://api.bandwidth.com/api/v2/accounts/6555555/numberReputationManagement/phoneNumbers?groupId=26&pageNumber=0&pageSize=50
            rel: self
            method: GET
        errors: []
        page:
          pageSize: 7
          totalElements: 7
          totalPages: 1
          pageNumber: 0
    getPhoneNumberReputationDetailsEnterpriseDailyChecks200ResponseExample:
      summary: Get phone number reputation details enterprise response - Daily Checks
      value:
        data:
          - phoneNumber: '+18558647776'
            groupId: 26
            groupName: Group A
            attRiskRating: REMEDIATION_DENIED
            verizonRiskRating: IN_REMEDIATION
            tmobileRiskRating: CLEAN
            ftcRiskRating: CLEAN
            nomoroboRiskRating: FLAGGED
            ihsRiskRating: FLAGGED
            ttsRiskRating: CLEAN
            robokillerRiskRating: CLEAN
            youmailRiskRating: CLEAN
            fcRiskRating: CLEAN
            carriersReputationSummary: FLAGGED
            lastTest: '2021-01-01T00:00:00Z'
            lastFlagged: '2021-01-01T00:00:00Z'
          - phoneNumber: '+18558647777'
            groupId: 26
            groupName: Group A
            attRiskRating: CLEAN
            verizonRiskRating: CLEAN
            tmobileRiskRating: CLEAN
            ftcRiskRating: CLEAN
            nomoroboRiskRating: CLEAN
            ihsRiskRating: CLEAN
            ttsRiskRating: CLEAN
            robokillerRiskRating: CLEAN
            youmailRiskRating: CLEAN
            fcRiskRating: CLEAN
            carriersReputationSummary: CLEAN
            lastTest: '2021-01-01T00:00:00Z'
            lastFlagged: '2021-01-01T00:00:00Z'
        links:
          - href: >-
              https://api.bandwidth.com/api/v2/accounts/6555555/numberReputationManagement/phoneNumbers?groupId=26&pageNumber=0&pageSize=50
            rel: self
            method: GET
        errors: []
        page:
          pageSize: 7
          totalElements: 7
          totalPages: 1
          pageNumber: 0
    getPhoneNumberReputationDetailsResellerDailyChecks200ResponseExample:
      summary: Get phone number reputation details reseller response - Daily Checks
      value:
        data:
          - phoneNumber: '+18558647776'
            groupId: 26
            groupName: Group A
            customerId: 42
            customerName: Customer B
            attRiskRating: REMEDIATION_DENIED
            verizonRiskRating: IN_REMEDIATION
            tmobileRiskRating: CLEAN
            ftcRiskRating: CLEAN
            nomoroboRiskRating: FLAGGED
            ihsRiskRating: FLAGGED
            ttsRiskRating: CLEAN
            robokillerRiskRating: CLEAN
            youmailRiskRating: CLEAN
            fcRiskRating: CLEAN
            carriersReputationSummary: FLAGGED
            lastTest: '2021-01-01T00:00:00Z'
            lastFlagged: '2021-01-01T00:00:00Z'
          - phoneNumber: '+18558647777'
            groupId: 26
            groupName: Group A
            customerId: 27
            customerName: Customer C
            attRiskRating: CLEAN
            verizonRiskRating: CLEAN
            tmobileRiskRating: CLEAN
            ftcRiskRating: CLEAN
            nomoroboRiskRating: CLEAN
            ihsRiskRating: CLEAN
            ttsRiskRating: CLEAN
            robokillerRiskRating: CLEAN
            youmailRiskRating: CLEAN
            fcRiskRating: CLEAN
            carriersReputationSummary: CLEAN
            lastTest: '2021-01-01T00:00:00Z'
            lastFlagged: '2020-01-01T00:00:00Z'
        links:
          - href: >-
              https://api.bandwidth.com/api/v2/accounts/6555555/numberReputationManagement/phoneNumbers?groupId=26&pageNumber=0&pageSize=50
            rel: self
            method: GET
        errors: []
        page:
          pageSize: 7
          totalElements: 7
          totalPages: 1
          pageNumber: 0
    getPhoneNumberReputationHistoryDailyChecks200ResponseExample:
      summary: Get phone number reputation history - Daily Checks
      value:
        data:
          - scanTime: '2021-01-15T10:30:00Z'
            attRiskRating: CLEAN
            verizonRiskRating: CLEAN
            tmobileRiskRating: CLEAN
            ftcRiskRating: CLEAN
            nomoroboRiskRating: CLEAN
            ihsRiskRating: CLEAN
            ttsRiskRating: CLEAN
            robokillerRiskRating: CLEAN
            youmailRiskRating: CLEAN
            fccRiskRating: CLEAN
            carriersReputationSummary: CLEAN
          - scanTime: '2021-01-14T10:30:00Z'
            attRiskRating: REMEDIATION_DENIED
            verizonRiskRating: IN_REMEDIATION
            tmobileRiskRating: CLEAN
            ftcRiskRating: CLEAN
            nomoroboRiskRating: FLAGGED
            ihsRiskRating: FLAGGED
            ttsRiskRating: CLEAN
            robokillerRiskRating: CLEAN
            youmailRiskRating: CLEAN
            fccRiskRating: CLEAN
            carriersReputationSummary: FLAGGED
          - scanTime: '2021-01-13T10:30:00Z'
            attRiskRating: CLEAN
            verizonRiskRating: CLEAN
            tmobileRiskRating: CLEAN
            ftcRiskRating: CLEAN
            nomoroboRiskRating: CLEAN
            ihsRiskRating: CLEAN
            ttsRiskRating: CLEAN
            robokillerRiskRating: CLEAN
            youmailRiskRating: CLEAN
            fccRiskRating: CLEAN
            carriersReputationSummary: CLEAN
        links:
          - href: >-
              https://api.bandwidth.com/api/v2/accounts/6555555/numberReputationManagement/phoneNumbers/+18558647776/history?pageNumber=0&pageSize=50
            rel: self
            method: GET
        errors: []
        page:
          pageSize: 50
          totalElements: 3
          totalPages: 1
          pageNumber: 0
    getPhoneNumberReputationHistoryWeeklyChecks200ResponseExample:
      summary: Get phone number reputation history - Weekly Checks
      value:
        data:
          - scanTime: '2021-01-15T10:30:00Z'
            attRiskRating: CLEAN
            verizonRiskRating: CLEAN
            tmobileRiskRating: CLEAN
            carriersReputationSummary: CLEAN
          - scanTime: '2021-01-08T10:30:00Z'
            attRiskRating: REMEDIATION_DENIED
            verizonRiskRating: IN_REMEDIATION
            tmobileRiskRating: CLEAN
            carriersReputationSummary: FLAGGED
          - scanTime: '2021-01-01T10:30:00Z'
            attRiskRating: CLEAN
            verizonRiskRating: CLEAN
            tmobileRiskRating: CLEAN
            carriersReputationSummary: CLEAN
        links:
          - href: >-
              https://api.bandwidth.com/api/v2/accounts/6555555/numberReputationManagement/phoneNumbers/+18558647776/history?pageNumber=0&pageSize=50
            rel: self
            method: GET
        errors: []
        page:
          pageSize: 50
          totalElements: 3
          totalPages: 1
          pageNumber: 0
    createGroupEnterpriseUserExample:
      summary: Create group request in an enterprise account.
      value:
        name: Group Name
        description: Group Description
        intent: GOVN
    createGroupResellerUserExample:
      summary: Create group request in a reseller account.
      value:
        name: Group Name
        description: Group Description
        intent: GOVN
        customerId: 42
    groupPatchRequestExample:
      summary: Update group request.
      value:
        name: Group Name
        description: Group Description
        intent: GOVN
    createGroupEnterprise201ResponseExample:
      summary: Create group response in an enterprise account.
      value:
        data:
          groupId: 26
          groupName: Group Name
          description: Group Description
          intent: GOVN
          createdAt: '2023-10-01T12:00:00Z'
          phoneNumberCount: 1
        links:
          - href: >-
              https://api.bandwidth.com/api/v2/accounts/6555555/numberReputationManagement/groups/26
            rel: get-group
            method: GET
          - href: >-
              https://api.bandwidth.com/api/v2/accounts/6555555/numberReputationManagement/groups
            rel: list-groups
            method: GET
        errors: []
    createGroupReseller201ResponseExample:
      summary: Create group response in a reseller account.
      value:
        data:
          groupId: 26
          groupName: Group Name
          description: Group Description
          customerId: 42
          intent: GOVN
          createdAt: '2023-10-01T12:00:00Z'
          phoneNumberCount: 1
        links:
          - href: >-
              https://api.bandwidth.com/api/v2/accounts/6555555/numberReputationManagement/groups/26
            rel: get-group
            method: GET
          - href: >-
              https://api.bandwidth.com/api/v2/accounts/6555555/numberReputationManagement/groups
            rel: list-groups
            method: GET
        errors: []
    getGroupEnterprise200ResponseExample:
      summary: Get group response in an enterprise account.
      value:
        data:
          groupId: 26
          groupName: Group Name
          description: Group Description
          intent: GOVN
          createdAt: '2023-10-01T12:00:00Z'
          phoneNumberCount: 1
        links:
          - href: >-
              https://api.bandwidth.com/api/v2/accounts/6555555/numberReputationManagement/groups/26
            rel: self
            method: GET
          - href: >-
              https://api.bandwidth.com/api/v2/accounts/6555555/numberReputationManagement/groups
            rel: list-groups
            method: GET
        errors: []
    getGroupReseller200ResponseExample:
      summary: Get group response in a reseller account.
      value:
        data:
          groupId: 26
          groupName: Group Name
          customerId: 42
          customerName: Customer B
          description: Group Description
          intent: GOVN
          createdAt: '2023-10-01T12:00:00Z'
          phoneNumberCount: 1
        links:
          - href: >-
              https://api.bandwidth.com/api/v2/accounts/6555555/numberReputationManagement/groups/26
            rel: self
            method: GET
          - href: >-
              https://api.bandwidth.com/api/v2/accounts/6555555/numberReputationManagement/groups
            rel: list-groups
            method: GET
        errors: []
    getListOfGroupsEnterprise200ResponseExample:
      summary: Get list of groups in an enterprise account.
      value:
        data:
          - groupId: 26
            groupName: Group Name
            description: Group Description
            intent: GOVN
            createdAt: '2008-09-15T13:45:30Z'
            phoneNumberCount: 2
          - groupId: 27
            groupName: Group Name 2
            description: Group Description 2
            intent: GOVN
            createdAt: '2008-09-15T13:45:30Z'
            phoneNumberCount: 3
        links:
          - href: >-
              https://api.bandwidth.com/api/v2/accounts/6555555/numberReputationManagement/groups
            rel: self
            method: GET
        errors: []
    getListOfGroupsReseller200ResponseExample:
      summary: Get list of groups in a reseller account.
      value:
        data:
          - groupId: 26
            groupName: Group Name
            customerId: 42
            customerName: Customer B
            description: Group Description
            intent: GOVN
            createdAt: '2008-09-15T13:45:30Z'
            phoneNumberCount: 2
          - groupId: 27
            groupName: Group Name 2
            customerId: 42
            customerName: Customer C
            description: Group Description 2
            intent: GOVN
            createdAt: '2008-09-15T13:45:30Z'
            phoneNumberCount: 3
        links:
          - href: >-
              https://api.bandwidth.com/api/v2/accounts/6555555/numberReputationManagement/groups
            rel: self
            method: GET
        errors: []
    badRequestErrorExample:
      summary: Generic Bad Request Error
      value:
        data: null
        links: []
        errors:
          - description: There was an issue with your request body.
            code: 50001
            type: bad_request
    tagNotFoundBadRequestErrorExample:
      summary: Tag Not Found Bad Request Error
      value:
        data: null
        links: []
        errors:
          - code: 15620
            description: Tag does not exist on the account
            type: tag-not-found
    invalidPhoneNumberBadRequestErrorExample:
      summary: Invalid phone number Bad Request Error
      value:
        data: null
        links: []
        errors:
          - code: 15610
            description: Phone Numbers cannot be found on account
            meta:
              phoneNumbers:
                - '+442046008993'
            type: invalid-phone-numbers
    invalidActionBadRequestErrorExample:
      summary: Invalid action Bad Request Error
      value:
        data: null
        links: []
        errors:
          - code: 15630
            description: Invalid action. Action must be either 'MOVE' or 'REMOVE'.
            type: invalid-action
    unauthorizedErrorExample:
      summary: Generic Unauthorized Error
      value:
        data: null
        links: []
        errors:
          - description: Invalid or missing credentials.
            code: 50000
            type: invalid-request
    forbiddenErrorExample:
      summary: Generic Unknown Account Error
      value:
        data: null
        links: []
        errors:
          - description: User do not have required permissions.
            code: 50002
            type: forbidden
    customerNotFoundErrorExample:
      summary: Generic Not Found Error
      value:
        data: null
        links: []
        errors:
          - type: resource-not-found
            code: 50003
            description: >-
              The resource
              '/accounts/10001/numberReputationManagement/customers/10002' is
              not found.
            source:
              reference: /accounts/10001/numberReputationManagement/customers/10002
    accountNotFoundErrorExample:
      summary: Generic Not Found Error
      value:
        data: null
        links: []
        errors:
          - type: resource-not-found
            code: 50003
            description: The resource '/accounts/1' is not found.
            source:
              reference: /accounts/1
    notFoundErrorExample:
      summary: Generic Not Found Error
      value:
        data: null
        links: []
        errors:
          - description: The requested resource was not found.
            code: 50003
            type: not_found
    methodNotAllowedErrorExample:
      summary: Generic Method Not Allowed Error
      value:
        data: null
        links: []
        errors:
          - description: The HTTP method used is not supported by this resource.
            code: 50004
            type: method_not_found
    conflictErrorExample:
      summary: Generic Conflict Error
      value:
        links: []
        data: null
        errors:
          - description: >-
              A conflict with current state prevented this request from being
              possible
            code: 50005
            type: invalid_state
    tooManyRequestsErrorExample:
      summary: Generic Too Many Requests Error
      value:
        links: []
        data: null
        errors:
          - description: >-
              Rate limit exceeded. Wait for the time specified in the
              'Retry-After' header before sending another request
            code: 50005
            type: too_many_requests
    internalServerErrorExample:
      summary: Generic Internal Server Error
      value:
        links: []
        data: null
        errors:
          - description: An unexpected error occurred on the server.
            code: 50006
            type: internal_server_error
    serviceActivationOrderSearchResponseExample:
      value:
        data:
          serviceActivationOrders:
            - requestedPhoneNumbers:
                - '+19195551212'
                - '+19195551313'
              services:
                VOICE:
                  - INBOUND
                  - OUTBOUND_NATIONAL
                  - OUTBOUND_INTERNATIONAL
              action: ACTIVATE
              orderId: 39348601-8a95-4096-9704-bf8316f218b9
              customerOrderId: exampleOrder1
              orderStatus: COMPLETE
              orderDate: '2021-01-01T00:00:00.000Z'
              lastModifiedDate: '2021-01-01T00:00:00.000Z'
              userId: someUser
            - requestedPhoneNumbers:
                - '+19195551414'
              services:
                VOICE:
                  - INBOUND
                  - OUTBOUND_NATIONAL
                  - OUTBOUND_INTERNATIONAL
              action: DEACTIVATE
              orderId: 02affe7b-5be8-491e-a44a-8d1e82b6dd5a
              customerOrderId: exampleOrder2
              orderStatus: RECEIVED
              orderDate: '2021-01-01T00:00:00.000Z'
              lastModifiedDate: '2021-01-01T00:00:00.000Z'
              userId: someUser
        errors: []
        links:
          - href: >-
              https://api.bandwidth.com/api/v2/accounts/1234/serviceActivation?page=1&size=10
            method: GET
            rel: next
        page:
          pageSize: 10
          totalElements: 10
          totalPages: 1
          pageNumber: 1
    serviceActivationOrderSearchResponseVerboseExample:
      value:
        data:
          serviceActivationOrders:
            - completedPhoneNumbers:
                - '+19195551212'
              failedPhoneNumbers:
                - '+19195551313'
              partialPhoneNumbers:
                - '+19195551314'
              missingRequirementsPhoneNumbers:
                - '+19195551315'
              requestedPhoneNumbers:
                - '+19195551212'
                - '+19195551313'
                - '+19195551414'
                - '+19195551415'
              services:
                VOICE:
                  - INBOUND
                  - OUTBOUND_NATIONAL
                  - OUTBOUND_INTERNATIONAL
              action: ACTIVATE
              orderId: 39348601-8a95-4096-9704-bf8316f218b9
              customerOrderId: exampleOrder1
              orderStatus: COMPLETE
              orderDate: '2021-01-01T00:00:00.000Z'
              lastModifiedDate: '2021-01-01T00:00:00.000Z'
              userId: someUser
            - completedPhoneNumbers:
                - '+19195551216'
              failedPhoneNumbers:
                - '+19195551217'
              partialPhoneNumbers:
                - '+19195551218'
              requestedPhoneNumbers:
                - '+19195551216'
                - '+19195551217'
                - '+19195551218'
              services:
                VOICE:
                  - INBOUND
                  - OUTBOUND_NATIONAL
                  - OUTBOUND_INTERNATIONAL
              action: DEACTIVATE
              orderId: 02affe7b-5be8-491e-a44a-8d1e82b6dd5a
              customerOrderId: exampleOrder2
              orderStatus: RECEIVED
              orderDate: '2021-01-01T00:00:00.000Z'
              lastModifiedDate: '2021-01-01T00:00:00.000Z'
              userId: someUser
        errors: []
        links:
          - href: >-
              https://api.bandwidth.com/api/v2/accounts/1234/serviceActivation?page=1&size=10
            method: GET
            rel: next
        page:
          pageSize: 10
          totalElements: 10
          totalPages: 1
          pageNumber: 1
    serviceActivationCheckerRequestExample:
      value:
        phoneNumbers:
          - '+19195551212'
          - '+19195551313'
    serviceActivationOrderActivateExample:
      value:
        customerOrderId: exampleOrder
        phoneNumbers:
          - '+19195551212'
          - '+19195551313'
        services:
          voice:
            - INBOUND
            - OUTBOUND_NATIONAL
            - OUTBOUND_INTERNATIONAL
        action: ACTIVATE
    serviceActivationOrderDeactivateExample:
      value:
        userId: someUser
        customerOrderId: exampleOrder
        phoneNumbers:
          - '+19195551212'
          - '+19195551313'
        services:
          voice:
            - INBOUND
            - OUTBOUND_NATIONAL
            - OUTBOUND_INTERNATIONAL
        action: DEACTIVATE
    serviceActivationOrderResponseExample:
      value:
        data:
          userId: someUser
          orderId: 39348601-8a95-4096-9704-bf8316f218b9
          orderDate: '2024-01-01T00:00:00.000Z'
          lastModifiedDate: '2024-02-02T00:00:00.000Z'
          customerOrderId: exampleOrder
          action: ACTIVATE
          orderStatus: RECEIVED
          requestedPhoneNumbers:
            - '+19195551212'
            - '+19195551313'
          services:
            VOICE:
              - INBOUND
              - OUTBOUND_NATIONAL
              - OUTBOUND_INTERNATIONAL
            messaging: []
            emergency: []
        errors: []
        links:
          - href: https://api.bandwidth.com/api/v2/accounts/1234/serviceActivation
            method: POST
            rel: self
          - href: >-
              https://api.bandwidth.com/api/v2/accounts/1234/serviceActivation/39348601-8a95-4096-9704-bf8316f218b9
            method: GET
            rel: serviceActivationOrder
    getServiceActivationOrderExample:
      value:
        data:
          userId: someUser
          orderDate: '2021-01-01T00:00:00.000Z'
          lastModifiedDate: '2021-01-01T00:00:00.000Z'
          orderId: 39348601-8a95-4096-9704-bf8316f218b9
          customerOrderId: exampleOrder
          orderStatus: PARTIAL
          action: ACTIVATE
          completedPhoneNumbers:
            - '+19195551212'
          failedPhoneNumbers:
            - '+19195551313'
          partialPhoneNumbers:
            - '+19195551314'
          missingRequirementsPhoneNumbers:
            - '+19195551315'
          requestedPhoneNumbers:
            - '+19195551212'
            - '+19195551313'
            - '+19195551414'
            - '+19195551415'
          services:
            VOICE:
              - INBOUND
              - OUTBOUND_NATIONAL
              - OUTBOUND_INTERNATIONAL
            messaging: []
            emergency: []
        links:
          - href: >-
              https://api.bandwidth.com/api/v2/accounts/1234/serviceActivation/39348601-8a95-4096-9704-bf8316f218b9?page=1&size=1000
            method: GET
            rel: self
        errors:
          - code: 123
            description: No Voice Configuration Package configured for phone number
            meta:
              - service: VOICE
                serviceType: INBOUND
                phoneNumber:
                  - '+19195551414'
              - service: VOICE
                serviceType: OUTBOUND_INTERNATIONAL
                phoneNumber:
                  - '+19195551413'
          - code: 20007
            description: Active emergency service required for voice activation
            meta:
              - service: VOICE
                serviceType: OUTBOUND_NATIONAL
                phoneNumber:
                  - '+19195551415'
          - code: 20000
            description: >-
              A requirements package is required to activate services on these
              numbers
            meta:
              - service: VOICE
                serviceType: OUTBOUND_NATIONAL
                phoneNumber:
                  - '+19195551413'
              - service: VOICE
                serviceType: OUTBOUND_INTERNATIONAL
                phoneNumber:
                  - '+19195551413'
              - service: VOICE
                serviceType: INBOUND
                phoneNumber:
                  - '+19195551413'
    serviceActivationCheckerResponseExample1:
      value:
        data:
          phoneNumbers:
            - phoneNumber: '+19195551212'
              services:
                voice:
                  status: ACTIVATION_REQUIREMENTS_NOT_MET
                  inbound:
                    reasons:
                      - code: '1002'
                        description: >-
                          No Voice Configuration Package configured for phone
                          number
                    status: ACTIVATION_REQUIREMENTS_NOT_MET
                  outboundNational:
                    reasons:
                      - code: '20000'
                        description: >-
                          A requirements package is required to activate
                          services on these numbers
                    status: ACTIVATION_REQUIREMENTS_NOT_MET
                  outboundInternational:
                    reasons:
                      - code: '20000'
                        description: >-
                          A requirements package is required to activate
                          services on these numbers
                    status: ACTIVATION_REQUIREMENTS_NOT_MET
                messaging:
                  status: READY_TO_ACTIVATE
                emergency:
                  status: IN_SERVICE
            - phoneNumber: '+19195551313'
              services:
                voice:
                  status: ACTIVATION_REQUIREMENTS_NOT_MET
                  inbound:
                    reasons:
                      - code: '1002'
                        description: >-
                          No Voice Configuration Package configured for phone
                          number
                    status: ACTIVATION_REQUIREMENTS_NOT_MET
                  outboundNational:
                    reasons:
                      - code: '20000'
                        description: >-
                          A requirements package is required to activate
                          services on these numbers
                    status: ACTIVATION_REQUIREMENTS_NOT_MET
                  outboundInternational:
                    reasons:
                      - code: '20000'
                        description: >-
                          A requirements package is required to activate
                          services on these numbers
                    status: ACTIVATION_REQUIREMENTS_NOT_MET
                messaging:
                  status: ACTIVATION_REQUIREMENTS_NOT_MET
                  reasons:
                    - code: '20000'
                      description: >-
                        A requirements package is required to activate services
                        on these numbers
                emergency:
                  status: ACTIVATION_REQUIREMENTS_NOT_MET
                  reasons:
                    - code: '20000'
                      description: >-
                        A requirements package is required to activate services
                        on these numbers
        errors: []
        links:
          - href: >-
              https://api.bandwidth.com/api/v2/accounts/1/serviceActivationChecker
            method: POST
            rel: self
    serviceActivationCheckerResponseExample2:
      value:
        data:
          phoneNumbers:
            - phoneNumber: '+15629182742'
              services:
                voice:
                  status: ACCOUNT_NOT_CONFIGURED
                  inbound:
                    reasons:
                      - code: '1002'
                        description: >-
                          No Voice Configuration Package configured for phone
                          number
                    status: ACTIVATION_REQUIREMENTS_NOT_MET
                  outboundNational:
                    reasons:
                      - code: '20000'
                        description: >-
                          A requirements package is required to activate
                          services on these numbers
                    status: ACTIVATION_REQUIREMENTS_NOT_MET
                  outboundInternational:
                    reasons:
                      - code: '3048'
                        description: >-
                          Your account is not configured for this service.
                          Please speak to your account rep in order to configure
                          your account for this service.
                    status: ACTIVATION_REQUIREMENTS_NOT_MET
                messaging:
                  status: IN_SERVICE
                emergency:
                  status: READY_TO_ACTIVATE
            - phoneNumber: '+15629182743'
              services:
                voice:
                  status: ACCOUNT_NOT_CONFIGURED
                  inbound:
                    reasons:
                      - code: '3048'
                        description: >-
                          Your account is not configured for this service.
                          Please speak to your account rep in order to configure
                          your account for this service.
                    status: ACTIVATION_REQUIREMENTS_NOT_MET
                  outboundNational:
                    reasons:
                      - code: '20000'
                        description: >-
                          A requirements package is required to activate
                          services on these numbers
                    status: ACTIVATION_REQUIREMENTS_NOT_MET
                  outboundInternational:
                    reasons:
                      - code: '20000'
                        description: >-
                          A requirements package is required to activate
                          services on these numbers
                    status: ACTIVATION_REQUIREMENTS_NOT_MET
                messaging:
                  status: READY_TO_ACTIVATE
                emergency:
                  status: IN_SERVICE
        errors: []
        links:
          - href: >-
              https://app.bandwidth.com/api/v2/accounts/25/serviceActivationChecker
            method: POST
            rel: self
    serviceActivationCheckerResponseExample3:
      value:
        data:
          phoneNumbers:
            - phoneNumber: '+15629182742'
              services:
                voice:
                  status: NOT_SUPPORTED
                  inbound:
                    reasons:
                      - code: '1002'
                        description: >-
                          No Voice Configuration Package configured for phone
                          number
                    status: ACTIVATION_REQUIREMENTS_NOT_MET
                  outboundNational:
                    reasons:
                      - code: '5308'
                        description: Service not supported on this number.
                    status: NOT_SUPPORTED
                  outboundInternational:
                    reasons:
                      - code: '20000'
                        description: >-
                          A requirements package is required to activate
                          services on these numbers
                    status: ACTIVATION_REQUIREMENTS_NOT_MET
                messaging:
                  status: NOT_SUPPORTED
                  reasons:
                    - code: '5308'
                      description: Service not supported on this number.
                emergency:
                  status: NOT_SUPPORTED
                  reasons:
                    - code: '5308'
                      description: Service not supported on this number.
            - phoneNumber: '+15629182743'
              services:
                voice:
                  status: IN_SERVICE
                  inbound:
                    reasons:
                      - code: '1002'
                        description: >-
                          No Voice Configuration Package configured for phone
                          number
                    status: ACTIVATION_REQUIREMENTS_NOT_MET
                  outboundNational:
                    reasons:
                      - code: '5308'
                        description: Service not supported on this number.
                    status: NOT_SUPPORTED
                  outboundInternational:
                    reasons:
                      - code: '20000'
                        description: >-
                          A requirements package is required to activate
                          services on these numbers
                    status: ACTIVATION_REQUIREMENTS_NOT_MET
                messaging:
                  status: NOT_SUPPORTED
                  reasons:
                    - code: '5308'
                      description: Service not supported on this number.
                emergency:
                  status: IN_SERVICE
        errors: []
        links:
          - href: >-
              https://app.bandwidth.com/api/v2/accounts/35/serviceActivationChecker
            method: POST
            rel: self
    serviceActivationCheckerBadRequestErrorExample:
      value:
        data: null
        errors:
          - code: 1022
            description: >-
              TelephoneNumber '19195551313' is in an invalid format. Retry
              request with all E.164 formatted phone numbers
        links:
          - href: >-
              https://api.bandwidth.com/api/v2/accounts/1234/serviceActivationChecker
            method: POST
            rel: self
tags:
  - name: Move TNs
    description: >-
      Manage orders for moving telephone numbers across sub-accounts and
      locations.
  - name: Move TNs Bulk Orders
    description: >
      Manage bulk orders for moving telephone numbers across sub-accounts and
      locations.


      This API is currently in Early Access and is only available to some
      accounts. Please contact your account manager for more information on
      obtaining access.
  - name: Move TNs Checker
    description: >-
      Check the validity of telephone numbers for moving across sub-accounts and
      locations.
  - name: Number Reputation Management
    description: >-
      Manage phone number reputation, including grouping phone numbers and
      checking their status.
  - name: Phone Number Tagging
    description: Add custom tags to non-hosted phone numbers.
  - name: Service Activation
    description: >-
      Manage service activation of voice features like inbound, outbound
      national, and outbound international.
