openapi: 3.0.0 info: title: Webex Admin Address Book Wholesale Billing Reports API version: 1.0.0 description: The Webex Admin APIs provide comprehensive programmatic access to administrative functions for managing Webex organizations, users, licenses, and settings. These APIs enable automation of user provisioning, license assignment, compliance management, and audit event retrieval. Administrators can integrate with enterprise identity systems, enforce security policies, monitor usage, and streamline onboarding/offboarding processes. The APIs support granular control over organizational resources, making them ideal for large-scale deployments and custom admin tooling. 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: 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. 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. 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 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: [] 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 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