Webex Wholesale Billing Reports API

The Wholesale Billing Reports API from Webex — 2 operation(s) for wholesale billing reports.

OpenAPI Specification

webex-wholesale-billing-reports-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Webex Wholesale Billing Reports API
  version: 1.0.0
  description: 'Operations tagged Wholesale Billing Reports across 2 of this provider''s published API definitions: webex-wholesale-billing-reports-api-openapi.yml,
    webex-wholesale-openapi.json. Each path carries the servers of the definition it was published in.'
  x-provenance:
    method: harvested
    authored_by: Cisco Webex
    harvested_by: API Evangelist
    harvested_on: '2026-08-19'
    first_party: true
    note: Published by Cisco. Retrieved unmodified except for this x-provenance block.
    provider_published: true
    derived_view: Per-tag view of the provider's source document. Operations and schemas are the provider's, unmodified; only
      the partition is ours.
  x-evidence:
  - type: source
    url: https://github.com/webex/webex-openapi-specs/blob/main/public-spec/webex-wholesale.json
  - type: raw
    url: https://raw.githubusercontent.com/webex/webex-openapi-specs/main/public-spec/webex-wholesale.json
tags:
- name: Wholesale Billing Reports
paths:
  /wholesale/billing/reports:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WholesaleBillingReportsListResponse'
              example:
                items:
                - id: Y2lzY29zcGFyazovL3VzL0JJTExJTkdfUkVQT1JULzViOGQ1MThhLThmMDAtNDUxYi1hNDA2LWVhZjQ5YjRhN2ZhOA
                  billingStartDate: '2021-05-21'
                  billingEndDate: '2021-05-30'
                  status: COMPLETED
                  type: PARTNER
                - id: Y2lzY29zcGFyazovL3VzL0JJTExJTkdfUkVQT1JULzViOGQ1MThhLThmMDAtNDUxYi1hNDA2LWVhZjQ5YjRhN2Zh2B
                  billingStartDate: '2021-05-21'
                  billingEndDate: '2021-05-30'
                  status: COMPLETED
                  type: PARTNER
                - id: Y2lzY29zcGFyazovL3VzL0JJTExJTkdfUkVQT1JULzViOGQ1MThhLThmMDAtNDUxYi1hNDA2LWVhZjQ5YjRhN2Zh5D
                  billingStartDate: '2021-05-21'
                  billingEndDate: '2021-05-30'
                  status: COMPLETED
                  type: PARTNER
        '400':
          description: 'Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message
            will explain further.'
        '401':
          description: 'Unauthorized: Authentication credentials were missing or incorrect.'
        '403':
          description: 'Forbidden: The request is understood, but it has been refused or access is not allowed.'
        '404':
          description: 'Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist.
            Also returned when the requested format is not supported by the requested method.'
        '405':
          description: 'Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported.'
        '409':
          description: 'Conflict: The request could not be processed because it conflicts with some established rule of the
            system. For example, a person may not be added to a room more than once.'
        '410':
          description: 'Gone: The requested resource is no longer available.'
        '415':
          description: 'Unsupported Media Type: The request was made to a resource without specifying a media type or used
            a media type that is not supported.'
        '423':
          description: 'Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that
            specifies how many seconds you need to wait before attempting the request again.'
        '428':
          description: 'Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded.'
        '429':
          description: 'Too Many Requests: Too many requests have been sent in a given amount of time and the request has
            been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before
            a successful request can be made.'
        '500':
          description: 'Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact
            the [Webex Developer Support team](/explore/support).'
        '502':
          description: 'Bad Gateway: The server received an invalid response from an upstream server while processing the
            request. Try again later.'
        '503':
          description: 'Service Unavailable: Server is overloaded with requests. Try again later.'
        '504':
          description: 'Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please
            try to reduce it.'
      summary: List Wholesale Billing Reports
      operationId: List Wholesale Billing Reports
      description: Search for associated wholesale billing reconciliation reports.
      tags:
      - Wholesale Billing Reports
      parameters:
      - name: billingStartDate
        in: query
        description: Only include billing reports having this billing `startDate`.
        example: '2020-05-21'
        schema:
          type: string
      - name: billingEndDate
        in: query
        description: Only include billing reports having this billing `endDate`.
        example: '2020-05-30'
        schema:
          type: string
      - name: type
        in: query
        description: Only include reports of this type.
        example: PARTNER
        schema:
          type: string
          enum:
          - PARTNER
          - CUSTOMER
          - USER
      - name: sortBy
        in: query
        description: Sort the reports.
        example: billingStartDate
        schema:
          type: string
          default: billingStartDate
          enum:
          - id
          - billingStartDate
          - billingEndDate
          - status
      - name: status
        in: query
        description: The status of the billing report
        example: COMPLETED
        schema:
          type: string
          enum:
          - IN_PROGRESS
          - COMPLETED
          - FAILED
      - name: max
        in: query
        description: Limit the maximum number of reports returned in the response, up to 100 per page. Refer to the [Pagination](/docs/basics#pagination)
          section of [Webex REST API Basics](/docs/api/basics).
        example: '10'
        schema:
          type: integer
          default: 100
      - name: subPartnerOrgId
        in: query
        description: The Organization ID of the sub partner on Cisco Webex.
        example: Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi81MmNmNTc2ZC02MGE4LTQwN2EtYjIyYy00NjdjNTE1OTE5MDg
        schema:
          type: string
    post:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportId'
              example:
                id: Y2lzY29zcGFyazovL3VzL0JJTExJTkdfUkVQT1JULzViOGQ1MThhLThmMDAtNDUxYi1hNDA2LWVhZjQ5YjRhN2ZhOA
                billingStartDate: '2021-05-21'
                billingEndDate: '2021-05-30'
                type: PARTNER
                internal: true
        '400':
          description: 'Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message
            will explain further.'
        '401':
          description: 'Unauthorized: Authentication credentials were missing or incorrect.'
        '403':
          description: 'Forbidden: The request is understood, but it has been refused or access is not allowed.'
        '404':
          description: 'Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist.
            Also returned when the requested format is not supported by the requested method.'
        '405':
          description: 'Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported.'
        '409':
          description: 'Conflict: The request could not be processed because it conflicts with some established rule of the
            system. For example, a person may not be added to a room more than once.'
        '410':
          description: 'Gone: The requested resource is no longer available.'
        '415':
          description: 'Unsupported Media Type: The request was made to a resource without specifying a media type or used
            a media type that is not supported.'
        '423':
          description: 'Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that
            specifies how many seconds you need to wait before attempting the request again.'
        '428':
          description: 'Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded.'
        '429':
          description: 'Too Many Requests: Too many requests have been sent in a given amount of time and the request has
            been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before
            a successful request can be made.'
        '500':
          description: 'Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact
            the [Webex Developer Support team](/explore/support).'
        '502':
          description: 'Bad Gateway: The server received an invalid response from an upstream server while processing the
            request. Try again later.'
        '503':
          description: 'Service Unavailable: Server is overloaded with requests. Try again later.'
        '504':
          description: 'Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please
            try to reduce it.'
      summary: Create a Wholesale Billing Report
      operationId: Create a Wholesale Billing Report
      description: Generate a wholesale billing reconciliation report.
      tags:
      - Wholesale Billing Reports
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              billingStartDate: '2020-05-21'
              billingEndDate: '2020-05-30'
              type: PARTNER
              subPartnerOrgId: Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi81MmNmNTc2ZC02MGE4LTQwN2EtYjIyYy00NjdjNTE1OTE5MDg
            schema:
              type: object
              required:
              - billingStartDate
              - billingEndDate
              properties:
                billingStartDate:
                  type: string
                  example: '2020-05-21'
                  description: The `startDate` (`YYYY-MM-DD`) for which the partner requests the billing report.
                billingEndDate:
                  type: string
                  example: '2020-05-30'
                  description: The `endDate` (`YYYY-MM-DD`) for which the partner requests the billing report.
                type:
                  type: string
                  example: PARTNER
                  description: 'Create report of the given type, `PARTNER`, `CUSTOMER`, or `USER`. Default: `PARTNER`.'
                subPartnerOrgId:
                  type: string
                  example: Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi81MmNmNTc2ZC02MGE4LTQwN2EtYjIyYy00NjdjNTE1OTE5MDg
                  description: The Organization ID of the sub partner on Cisco Webex.
                internal:
                  type: boolean
                  example: true
                  description: 'If true or selected, internal orgs will be included in the billing report. Default: false.'
  /wholesale/billing/reports/{id}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Report'
              example:
                id: Y2lzY29zcGFyazovL3VzL0JJTExJTkdfUkVQT1JULzViOGQ1MThhLThmMDAtNDUxYi1hNDA2LWVhZjQ5YjRhN2ZhOA
                billingStartDate: '2021-05-21'
                billingEndDate: '2021-05-30'
                type: PARTNER
                created: '2021-06-16T12:40:33.109Z'
                createdBy: Y2lzY29zcGFyazovL3VzL1BFT1BMRS8wYWNkMzg3NS00ZTEyLTRkNzctYjk4MS1lMzg5ZmQ4ODQ2YzA
                status: COMPLETED
                tempDownloadURL: https://billing-reports-int-us-east-1.webexcontent.com/a366de9b-3204-4140-8181-25808d360e36/WHOLESALE/340177d1-7f25-41e1-a39f-ad63ec1103a5.csv?Expires=1624978489&Signature=Syp3vrVeMx4P6MeMtm8e1bQaeAdHFe-c7NeHERWh5-qJGLZ1T8Dvl2ee-M8OsFf~z6Yepz94e2Hh1HDVailD0Uryl8SgiM~jl0cBh7L0PmSe~i9oFA0eJ0MulkqGSMVf7ZHhxY55xYMgIBZIERkWm3CqQNDg5BS4EaXapKfOnmFegf36OokCM63m5uOK8-csk08IkZhwo2Z0l1JMtuWYEaLh4dgMHoe~xgH3YmDSSCWInFYaEifUAfgi2YAYS6nP9Zq4BTliBq62XBaehOE1gBrhy4RdwD-3WSs2oD-BdpoRpuGzo3FZzDLVEvd0S2D6gTcHljOHodQKxe-u0BXPWQ__&Key-Pair-Id=APKAJADAKLCI2FW2U32Q
        '400':
          description: 'Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message
            will explain further.'
        '401':
          description: 'Unauthorized: Authentication credentials were missing or incorrect.'
        '403':
          description: 'Forbidden: The request is understood, but it has been refused or access is not allowed.'
        '404':
          description: 'Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist.
            Also returned when the requested format is not supported by the requested method.'
        '405':
          description: 'Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported.'
        '409':
          description: 'Conflict: The request could not be processed because it conflicts with some established rule of the
            system. For example, a person may not be added to a room more than once.'
        '410':
          description: 'Gone: The requested resource is no longer available.'
        '415':
          description: 'Unsupported Media Type: The request was made to a resource without specifying a media type or used
            a media type that is not supported.'
        '423':
          description: 'Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that
            specifies how many seconds you need to wait before attempting the request again.'
        '428':
          description: 'Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded.'
        '429':
          description: 'Too Many Requests: Too many requests have been sent in a given amount of time and the request has
            been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before
            a successful request can be made.'
        '500':
          description: 'Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact
            the [Webex Developer Support team](/explore/support).'
        '502':
          description: 'Bad Gateway: The server received an invalid response from an upstream server while processing the
            request. Try again later.'
        '503':
          description: 'Service Unavailable: Server is overloaded with requests. Try again later.'
        '504':
          description: 'Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please
            try to reduce it.'
      summary: Get a Wholesale Billing Report
      operationId: Get a Wholesale Billing Report
      description: Retrieve a specific wholesale billing reconciliation report.
      tags:
      - Wholesale Billing Reports
      parameters:
      - name: id
        in: path
        description: A unique identifier for the report being requested.
        required: true
        example: Y2lzY29zcGFyazovL3VzL0JJTExJTkdfUkVQT1JULzViOGQ1MThhLThmMDAtNDUxYi1hNDA2LWVhZjQ5YjRhN2ZhOA
        schema:
          type: string
    delete:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
        '400':
          description: 'Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message
            will explain further.'
        '401':
          description: 'Unauthorized: Authentication credentials were missing or incorrect.'
        '403':
          description: 'Forbidden: The request is understood, but it has been refused or access is not allowed.'
        '404':
          description: 'Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist.
            Also returned when the requested format is not supported by the requested method.'
        '405':
          description: 'Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported.'
        '409':
          description: 'Conflict: The request could not be processed because it conflicts with some established rule of the
            system. For example, a person may not be added to a room more than once.'
        '410':
          description: 'Gone: The requested resource is no longer available.'
        '415':
          description: 'Unsupported Media Type: The request was made to a resource without specifying a media type or used
            a media type that is not supported.'
        '423':
          description: 'Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that
            specifies how many seconds you need to wait before attempting the request again.'
        '428':
          description: 'Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded.'
        '429':
          description: 'Too Many Requests: Too many requests have been sent in a given amount of time and the request has
            been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before
            a successful request can be made.'
        '500':
          description: 'Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact
            the [Webex Developer Support team](/explore/support).'
        '502':
          description: 'Bad Gateway: The server received an invalid response from an upstream server while processing the
            request. Try again later.'
        '503':
          description: 'Service Unavailable: Server is overloaded with requests. Try again later.'
        '504':
          description: 'Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please
            try to reduce it.'
      summary: Delete a Wholesale Billing Report
      operationId: Delete a Wholesale Billing Report
      description: Delete a monthly reconciliation report by report ID.
      tags:
      - Wholesale Billing Reports
      parameters:
      - name: id
        in: path
        description: A unique report ID that corresponds to a billing report.
        required: true
        example: Y2lzY29zcGFyazovL3VzL0JJTExJTkdfUkVQT1JULzViOGQ1MThhLThmMDAtNDUxYi1hNDA2LWVhZjQ5YjRhN2ZhOA
        schema:
          type: string
components:
  schemas:
    Report:
      type: object
      properties:
        id:
          type: string
          example: '''Y2lzY29zcGFyazovL3VzL0JJTExJTkdfUkVQT1JULzViOGQ1MThhLThmMDAtNDUxYi1hNDA2LWVhZjQ5YjRhN2ZhOA'''
          description: A unique report ID that corresponds to a billing report.
        billingStartDate:
          type: string
          example: '2021-05-21'
          description: Billing report `startDate`.
        billingEndDate:
          type: string
          example: '2021-05-30'
          description: Billing report `endDate`.
        type:
          type: string
          enum:
          - USER
          - CUSTOMER
          - PARTNER
          description: Billing Report Type
        category:
          type: string
          example: RECONCILIATION
          enum:
          - RECONCILIATION
          - POINT_IN_TIME
          description: The category of the billing report.
        created:
          type: string
          example: '2021-06-16T12:40:33.109Z'
          description: The date and time the report was generated.
        createdBy:
          type: string
          example: Y2lzY29zcGFyazovL3VzL1BFT1BMRS8wYWNkMzg3NS00ZTEyLTRkNzctYjk4MS1lMzg5ZmQ4ODQ2YzA
          description: The person ID of the partner administrator who created the report.
        status:
          type: string
          enum:
          - IN_PROGRESS
          - COMPLETED
          - FAILED
          description: "The status of the billing report.\n * `IN_PROGRESS` - Report generation is in progress\n * `COMPLETED`\
            \ - Report generation is complete\n * `FAILED` - Report generation failed\n"
        tempDownloadURL:
          type: string
          example: https://billing-reports-int-us-east-1.webexcontent.com/a366de9b-3204-4140-8181-25808d360e36/WHOLESALE/340177d1-7f25-41e1-a39f-ad63ec1103a5.csv?Expires=1624978489&Signature=Syp3vrVeMx4P6MeMtm8e1bQaeAdHFe-c7NeHERWh5-qJGLZ1T8Dvl2ee-M8OsFf~z6Yepz94e2Hh1HDVailD0Uryl8SgiM~jl0cBh7L0PmSe~i9oFA0eJ0MulkqGSMVf7ZHhxY55xYMgIBZIERkWm3CqQNDg5BS4EaXapKfOnmFegf36OokCM63m5uOK8-csk08IkZhwo2Z0l1JMtuWYEaLh4dgMHoe~xgH3YmDSSCWInFYaEifUAfgi2YAYS6nP9Zq4BTliBq62XBaehOE1gBrhy4RdwD-3WSs2oD-BdpoRpuGzo3FZzDLVEvd0S2D6gTcHljOHodQKxe-u0BXPWQ__&Key-Pair-Id=APKAJADAKLCI2FW2U32Q
          description: The URL for partners to download the billing report.
        errors:
          type: array
          items:
            $ref: '#/components/schemas/ReportError'
          description: 'List of errors that occurred during report generation.


            **Note:**


            * This list captures errors that occurred during asynchronous or background report generation, after the request
            has been accepted and a `202 OK` response is returned.'
      example:
        id: Y2lzY29zcGFyazovL3VzL0JJTExJTkdfUkVQT1JULzViOGQ1MThhLThmMDAtNDUxYi1hNDA2LWVhZjQ5YjRhN2ZhOA
        billingStartDate: '2021-05-21'
        billingEndDate: '2021-05-30'
        reportType: PARTNER
        category: RECONCILIATION
        createdBy: Y2lzY29zcGFyazovL3VzL1BFT1BMRS8wYWNkMzg3NS00ZTEyLTRkNzctYjk4MS1lMzg5ZmQ4ODQ2YzA
        status: COMPLETED
        tempDownloadURL: https://billing-reports-int-us-east-1.webexcontent.com/sample.csv
        errors: []
    WholesaleBillingReportsListResponse:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/ListReport'
          description: An array of report objects.
      example:
        items:
        - id: Y2lzY29zcGFyazovL3VzL0JJTExJTkdfUkVQT1JULzViOGQ1MThhLThmMDAtNDUxYi1hNDA2LWVhZjQ5YjRhN2ZhOA
          billingStartDate: '2021-05-21'
          billingEndDate: '2021-05-30'
          type: PARTNER
          category: RECONCILIATION
          created: '2021-06-16T12:40:33.109Z'
          createdBy: Y2lzY29zcGFyazovL3VzL1BFT1BMRS8wYWNkMzg3NS00ZTEyLTRkNzctYjk4MS1lMzg5ZmQ4ODQ2YzA
          status: COMPLETED
          tempDownloadURL: https://billing-reports-int-us-east-1.webexcontent.com/sample.csv
    ReportId:
      type: object
      properties:
        id:
          type: string
          example: '''Y2lzY29zcGFyazovL3VzL0JJTExJTkdfUkVQT1JULzViOGQ1MThhLThmMDAtNDUxYi1hNDA2LWVhZjQ5YjRhN2ZhOA'''
          description: A unique report ID that corresponds to a billing report.
        billingStartDate:
          type: string
          example: '2021-05-21'
          description: Billing report startDate.
        billingEndDate:
          type: string
          example: '2021-05-30'
          description: Billing report endDate.
        type:
          type: string
          enum:
          - USER
          - CUSTOMER
          - PARTNER
          description: Billing Report Type
        category:
          type: string
          example: RECONCILIATION
          enum:
          - RECONCILIATION
          - POINT_IN_TIME
          description: The category of the billing report.
      example:
        id: Y2lzY29zcGFyazovL3VzL0JJTExJTkdfUkVQT1JULzViOGQ1MThhLThmMDAtNDUxYi1hNDA2LWVhZjQ5YjRhN2ZhOA
        billingStartDate: '2021-05-21'
        billingEndDate: '2021-05-30'
        type: PARTNER
        category: RECONCILIATION
    ReportError:
      type: object
      properties:
        code:
          type: number
          example: 2024
          description: An error code that identifies the reason for the error.
        description:
          type: string
          example: Billing Report not found.
          description: A textual representation of the error code.
    ListReport:
      type: object
      properties:
        id:
          type: string
          example: '''Y2lzY29zcGFyazovL3VzL0JJTExJTkdfUkVQT1JULzViOGQ1MThhLThmMDAtNDUxYi1hNDA2LWVhZjQ5YjRhN2ZhOA'''
          description: A unique report id that corresponds to a billing report.
        billingStartDate:
          type: string
          example: '2021-05-21'
          description: Billing report startDate.
        billingEndDate:
          type: string
          example: '2021-05-30'
          description: Billing report endDate.
        status:
          type: string
          enum:
          - IN_PROGRESS
          - COMPLETED
          - FAILED
          description: "The status of the billing report\n * `IN_PROGRESS` - Report generation is in progress.\n * `COMPLETED`\
            \ - Report generation is complete.\n * `FAILED` - Report generation failed.\n"
        type:
          type: string
          enum:
          - USER
          - CUSTOMER
          - PARTNER
          description: Billing Report Type.
        category:
          type: string
          example: RECONCILIATION
          default: RECONCILIATION
          enum:
          - RECONCILIATION
          - POINT_IN_TIME
          description: The category of the billing report.
  securitySchemes:
    oauth2:
      flows:
        authorizationCode:
          authorizationUrl: /
          scopes: {}
          tokenUrl: /
      type: oauth2
    bearer-key:
      type: http
      description: e.g. Bearer YOUR_AUTHORIZATION_TOKEN
      scheme: bearer
      bearerFormat: JWT
    bearerAuth:
      type: oauth2
      description: OAuth 2.0 Bearer token authentication
      flows:
        authorizationCode:
          authorizationUrl: https://webexapis.com/v1/authorize
          tokenUrl: https://webexapis.com/v1/access_token
          scopes:
            spark:applications_token: Create access tokens for Service Apps
x-refined-from:
- webex-wholesale-billing-reports-api-openapi.yml
- webex-wholesale-openapi.json