openapi: 3.0.3 info: title: ExtremeCloud IQ Account NG Scheduled Reports API description: 'ExtremeCloud IQ™ API allows customers and partners to create solutions for the management, monitoring, and provisioning of any ExtremeCloud IQ™ environment. All related resources and documentation are available at [ExtremeCloud IQ Developer Portal](https://developer.extremecloudiq.com/). Please check [Get Started and Tutorial](https://developer.extremecloudiq.com/documentation/) to understand how to use the APIs. Get the [latest OpenAPI definition](https://github.com/extremenetworks/ExtremeCloudIQ-OpenAPI/blob/main/xcloudiq-openapi.yaml) from [ExtremeCloud IQ OpenAPI GitHub repository](https://github.com/extremenetworks/ExtremeCloudIQ-OpenAPI). Please have a valid [ExtremeCloud IQ](https://extremecloudiq.com/) account before getting started. If you don''t have one, please [register a new account](https://www.extremenetworks.com/cloud-networking/).' termsOfService: https://www.extremenetworks.com/company/legal/terms-of-use/ contact: name: Extreme Networks Support url: https://www.extremenetworks.com/support email: support@extremenetworks.com license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0.html version: 25.9.0-36 servers: - url: https://api.extremecloudiq.com description: ExtremeCloud IQ REST API Server tags: - name: NG Scheduled Reports description: The NG Reports - Scheduled Reporting paths: /ng-reports/scheduled/network-summary: get: tags: - NG Scheduled Reports summary: Get Scheduled Network Summary Reports description: Fetches all the scheduled Network Summary Reports. externalDocs: description: API Reference url: https://extremecloudiq.com/api-docs/api-reference.html#_get_ng_reports_scheduled_network_summary operationId: getScheduledNetworkSummaryReports parameters: - name: keyword in: query description: The keyword to search the report file name and recipient email required: false schema: type: string responses: '200': description: Returns scheduled network summary reports grouped by schedule ID content: application/json: schema: type: object properties: report_id: type: integer format: int64 description: Unique identifier for the Report report_schedule_id: type: integer format: int64 description: Unique Identifier for the Report Schedule enable_schedule: type: boolean default: true description: Whether the schedule is enabled report_runs: type: array items: $ref: '#/components/schemas/XiqScheduledReport' default: $ref: '#/components/responses/ErrorResponse' security: - BearerAuth: [] /ng-reports/scheduled/pci-compliance: get: tags: - NG Scheduled Reports summary: Get Scheduled PCI Compliance Reports description: Fetches all the scheduled PCI Compliance Reports. externalDocs: description: API Reference url: https://extremecloudiq.com/api-docs/api-reference.html#_get_ng_reports_scheduled_pci_compliance operationId: getScheduledPciComplianceReports parameters: - name: keyword in: query description: The keyword to search the report file name and recipient email required: false schema: type: string responses: '200': description: Returns scheduled PCI compliance reports grouped by schedule ID content: application/json: schema: type: object properties: report_id: type: integer format: int64 description: Unique identifier for the Report report_schedule_id: type: integer format: int64 description: Unique Identifier for the Report Schedule enable_schedule: type: boolean default: true description: Whether the schedule is enabled report_runs: type: array items: $ref: '#/components/schemas/XiqScheduledReport' default: $ref: '#/components/responses/ErrorResponse' security: - BearerAuth: [] /ng-reports/scheduled/{reportScheduleId}: patch: tags: - NG Scheduled Reports summary: Enable/Disable Report Schedule description: Enable/Disable an existing schedule for a Report. externalDocs: description: API Reference url: https://extremecloudiq.com/api-docs/api-reference.html#_patch_report_schedule operationId: patchReportSchedule parameters: - name: reportScheduleId in: path required: true description: Unique identifier for the report schedule schema: type: integer format: int64 - name: enableSchedule in: query required: false description: Whether the schedule is enabled schema: type: boolean default: true responses: '200': description: OK default: $ref: '#/components/responses/ErrorResponse' security: - BearerAuth: [] /ng-reports/scheduled/custom: get: tags: - NG Scheduled Reports summary: Get Scheduled Custom Reports description: Fetches all the schedules for Custom Reports based on frequency. externalDocs: description: API Reference url: https://extremecloudiq.com/api-docs/api-reference.html#_get_scheduled_custom_reports operationId: getScheduledCustomReports parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' - name: frequency in: query description: Frequency of the report (MONTHLY, WEEKLY, DAILY) required: false schema: type: array items: type: string enum: - MONTHLY - WEEKLY - DAILY - name: keyword in: query description: The keyword to search the report name and recipient email required: false schema: type: string responses: '200': description: Returns a list of scheduled custom reports content: application/json: schema: $ref: '#/components/schemas/PagedCustomScheduledReport' default: $ref: '#/components/responses/ErrorResponse' security: - BearerAuth: [] post: tags: - NG Scheduled Reports summary: Create Schedule for Custom Report description: Creates a schedule for a Custom Report using the provided schedule ID. externalDocs: description: API Reference url: https://extremecloudiq.com/api-docs/api-reference.html#_post_scheduled_custom_reports operationId: createCustomReportSchedule requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/XiqCreateCustomReportScheduleRequest' responses: '200': description: Schedule created successfully content: application/json: schema: $ref: '#/components/schemas/XiqCustomReportScheduleResponse' default: $ref: '#/components/responses/ErrorResponse' security: - BearerAuth: [] delete: tags: - NG Scheduled Reports summary: Delete Report Schedules description: Deletes an existing schedule for a Report. externalDocs: description: API Reference url: https://extremecloudiq.com/api-docs/api-reference.html#_delete_report_schedule operationId: deleteReportSchedule parameters: - name: reportScheduleIds in: query required: true description: Comma-separated list of report schedule IDs to delete schema: type: array items: type: integer format: int64 responses: '200': description: Schedule deleted successfully default: $ref: '#/components/responses/ErrorResponse' security: - BearerAuth: [] /ng-reports/scheduled/custom/{reportId}: get: tags: - NG Scheduled Reports summary: Get Custom Report Schedule by ID description: Fetches a specific scheduled custom report using its report ID. operationId: getScheduledCustomReportById parameters: - name: reportId in: path required: true description: Unique identifier of the scheduled report schema: type: integer format: int64 responses: '200': description: Returns the report details for the given report ID content: application/json: schema: $ref: '#/components/schemas/XiqCustomReportScheduleResponse' default: $ref: '#/components/responses/ErrorResponse' security: - BearerAuth: [] put: tags: - NG Scheduled Reports summary: Edit Schedule for Custom Report description: Updates an existing schedule for a Custom Report. externalDocs: description: API Reference url: https://extremecloudiq.com/api-docs/api-reference.html#_update_custom_report_schedule operationId: updateCustomReportSchedule parameters: - name: reportId in: path required: true description: Unique identifier for the report schedule schema: type: integer format: int64 requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/XiqUpdateCustomReportScheduleRequest' responses: '200': description: Schedule updated successfully content: application/json: schema: $ref: '#/components/schemas/XiqCustomReportScheduleResponse' default: $ref: '#/components/responses/ErrorResponse' security: - BearerAuth: [] /ng-reports/scheduled/custom/{reportScheduleId}/runs: get: tags: - NG Scheduled Reports summary: Get Report Runs for Custom Report Schedule description: Retrieves all report runs for a given custom report schedule. externalDocs: description: API Reference url: https://extremecloudiq.com/api-docs/api-reference.html#_get_custom_report_runs operationId: getCustomReportRuns parameters: - name: reportScheduleId in: path required: true description: Unique identifier for the report schedule schema: type: integer format: int64 - name: frequency in: query required: false description: Filter by frequency (MONTHLY, WEEKLY, DAILY) schema: type: array items: type: string enum: - MONTHLY - WEEKLY - DAILY responses: '200': description: List of report runs content: application/json: schema: type: array items: $ref: '#/components/schemas/XiqReportRun' default: $ref: '#/components/responses/ErrorResponse' security: - BearerAuth: [] /ng-reports/scheduled/runs: delete: tags: - NG Scheduled Reports summary: Delete Report Runs description: Deletes an existing Report schedule run. externalDocs: description: API Reference url: https://extremecloudiq.com/api-docs/api-reference.html#_delete_custom_report_run operationId: deleteCustomReportRun parameters: - name: reportRunIds in: query required: true description: Comma-separated list of report run IDs to delete schema: type: array items: type: integer format: int64 responses: '200': description: Report Run deleted successfully default: $ref: '#/components/responses/ErrorResponse' security: - BearerAuth: [] /ng-reports/scheduled/runs/{reportRunId}/recipients: get: tags: - NG Scheduled Reports summary: Get Recipients for given Report Run description: Retrieves all recipients for a given report run ID. externalDocs: description: API Reference url: https://extremecloudiq.com/api-docs/api-reference.html#_get_report_runs_recipients operationId: getReportRunRecipients parameters: - name: reportRunId in: path required: true description: Unique identifier for the report run schema: type: integer format: int64 - name: keyword in: query description: The keyword to search required: false schema: type: string responses: '200': description: List of recipients for the report content: application/json: schema: $ref: '#/components/schemas/XiqReportRunRecipient' default: $ref: '#/components/responses/ErrorResponse' security: - BearerAuth: [] /ng-reports/scheduled/{reportId}/recipients: get: tags: - NG Scheduled Reports summary: Get Recipients for given Report description: Retrieves all recipients for a given report ID. externalDocs: description: API Reference url: https://extremecloudiq.com/api-docs/api-reference.html#_get_report_recipients operationId: getReportRecipients parameters: - name: reportId in: path required: true description: Unique identifier for the report schema: type: integer format: int64 - name: keyword in: query description: The keyword to search required: false schema: type: string responses: '200': description: List of recipients for the report content: application/json: schema: $ref: '#/components/schemas/XiqReportRecipient' default: $ref: '#/components/responses/ErrorResponse' security: - BearerAuth: [] put: tags: - NG Scheduled Reports summary: Add Recipients to Report description: Adds a list of recipient emails to the specified report. externalDocs: description: API Reference url: https://extremecloudiq.com/api-docs/api-reference.html#_add_recipients_to_report operationId: addRecipientsToReport parameters: - name: reportId in: path required: true description: Unique identifier for the report schema: type: integer format: int64 requestBody: required: true content: application/json: schema: type: object properties: recipients: type: array description: List of recipients to add items: type: object properties: email: type: string description: Recipient email address notifier_id: type: integer format: int64 description: Unique identifier for the notifier responses: '200': description: Recipients added successfully default: $ref: '#/components/responses/ErrorResponse' security: - BearerAuth: [] post: tags: - NG Scheduled Reports summary: Delete Recipients from Report description: Deletes a list of recipient emails from the specified report. externalDocs: description: API Reference url: https://extremecloudiq.com/api-docs/api-reference.html#_delete_recipients_from_report operationId: deleteRecipientsFromReport parameters: - name: reportId in: path required: true description: Unique identifier for the report schema: type: integer format: int64 requestBody: required: true content: application/json: schema: type: object properties: recipient_ids: type: array items: type: integer format: int64 description: List of recipient ids to delete responses: '200': description: Recipients deleted successfully default: $ref: '#/components/responses/ErrorResponse' security: - BearerAuth: [] /ng-reports/scheduled/reports/download: get: tags: - NG Scheduled Reports summary: Download or Preview Scheduled Report File description: Downloads or previews a scheduled report file in PDF or XLSX format. externalDocs: description: API Reference url: https://extremecloudiq.com/api-docs/api-reference.html#_download_scheduled_report_file operationId: downloadScheduledReportFile parameters: - name: reportRunId in: query required: true description: Unique identifier of the report to download schema: type: integer format: int64 - name: fileFormat in: query required: true description: File format to download (PDF or XLSX) schema: type: string enum: - PDF - XLSX - name: preview in: query required: false description: Param to view Preview, (applicable only when fileFormat = PDF) schema: type: boolean responses: '200': description: File download or inline preview response content: application/pdf: schema: type: string format: binary application/vnd.openxmlformats-officedocument.spreadsheetml.sheet: schema: type: string format: binary default: $ref: '#/components/responses/ErrorResponse' security: - BearerAuth: [] components: schemas: XiqCustomScheduledReport: type: object properties: report_schedule_id: type: integer format: int64 description: Unique identifier for the report schedule report_id: type: integer format: int64 description: Unique identifier for the report report_name: type: string description: The name of the scheduled report report_description: type: string description: The description of the report recipients_count: type: integer format: int64 description: The number of recipients for the report frequency: type: string enum: - MONTHLY - WEEKLY - DAILY description: Frequency of the report schedule enable_schedule: type: boolean default: true description: Whether the schedule is enabled XiqReportRecipient: type: object properties: report_id: type: integer format: int64 description: Unique identifier for the report report_name: type: string description: Name of the scheduled report recipients: type: array description: List of recipients for this scheduled report items: type: object properties: recipient_id: type: string description: Unique identifier of the recipient recipient_email: type: string format: email description: Email address of the recipient XiqScheduleFrequencyRequest: type: object properties: enable_schedule: type: boolean default: true description: Whether the schedule is enabled frequency_type: type: string enum: - DAILY - WEEKLY - MONTHLY description: Frequency of the report schedule schedule_time: type: string pattern: ^([01]\d|2[0-3]):([0-5]\d):([0-5]\d)$ description: Time of day to run the report in 24-hour format (HH:mm:ss), e.g., "09:00:00" schedule_timezone: type: string description: IANA-compliant time zone identifier (e.g., "Asia/Kolkata", "America/New_York") example: Asia/Kolkata schedule_days: type: array items: type: integer description: 'Days to run the report: - For DAILY/WEEKLY: 1 (Sunday) to 7 (Saturday) - For MONTHLY: 1–31 or -1 for the last day of the month ' XiqError: type: object properties: error_code: type: string description: The error code error_id: type: string description: The error ID for internal troubleshooting error_message: type: string description: The error detailed message error_message_code: type: string description: The error message code error_message_description: type: string description: The error message description error_params: $ref: '#/components/schemas/XiqErrorParams' required: - error_code - error_id - error_message XiqReportRunRecipient: type: object properties: report_run_id: type: integer format: int64 description: Unique identifier for the report run report_id: type: integer format: int64 description: Unique identifier for the report report_name: type: string description: Name of the scheduled report recipients: type: array description: List of recipients for this scheduled report items: type: object properties: recipient_id: type: string description: Unique identifier of the recipient recipient_email: type: string format: email description: Email address of the recipient XiqReportRun: type: object properties: report_run_id: type: integer format: int64 description: Unique identifier for the report run report_run_timestamp: type: integer format: int64 description: Epoch timestamp (in milliseconds) when the report was run report_name: type: string description: Name of the report report_id: type: integer format: int64 description: Unique identifier for the report XiqCustomReportScheduleResponse: type: object properties: report_id: type: integer format: int64 description: Unique identifier for the report report_name: type: string description: The name of the scheduled report report_description: type: string description: The description of the report metrics: type: array items: $ref: '#/components/schemas/XiqReportMetrics' description: List of metrics to include in the report site_ids: type: array items: type: integer format: int64 description: List of Site IDs building_ids: type: array items: type: integer format: int64 description: List of building IDs floor_ids: type: array items: type: integer format: int64 description: List of Floor IDs ssids: type: array items: type: string description: List of SSIDs to filter bands: type: array items: type: string enum: - 2.4GHz - 5GHz - 6GHz description: List of Bands to filter recipients: type: array description: List of recipients items: type: object properties: email: type: string description: Recipient email address notifier_id: type: integer format: int64 description: Unique identifier for the notifier schedules: type: array items: $ref: '#/components/schemas/XiqScheduleFrequencyResponse' description: List of report schedules by frequency file_format: type: array items: type: string enum: - PDF - XLSX description: File format to download (PDF or XLSX) XiqErrorParams: type: object description: Error parameters properties: field: type: string description: The error field value: type: string description: The error value XiqUpdateCustomReportScheduleRequest: type: object properties: metrics: type: array items: $ref: '#/components/schemas/XiqReportMetrics' description: List of metrics to include in the report report_name: type: string description: The name of the report report_description: type: string description: The description of the report site_ids: type: array items: type: integer format: int64 description: List of Site IDs building_ids: type: array items: type: integer format: int64 description: List of building IDs floor_ids: type: array items: type: integer format: int64 description: List of Floor IDs ssids: type: array items: type: string description: List of SSIDs to filter bands: type: array items: type: string enum: - TWO_GHZ - FIVE_GHZ - SIX_GHZ description: List of Bands to filter recipients: type: array description: List of recipients to update items: type: object properties: email: type: string description: Recipient email address notifier_id: type: integer format: int64 description: Unique identifier for the notifier schedules: type: array items: $ref: '#/components/schemas/XiqScheduleFrequencyResponse' description: List of report schedules by frequency file_format: type: array items: type: string enum: - PDF - XLSX description: File format to download (PDF or XLSX) PagedCustomScheduledReport: allOf: - $ref: '#/components/schemas/XiqPage' - type: object properties: data: type: array description: The data in the current page items: $ref: '#/components/schemas/XiqCustomScheduledReport' XiqPage: required: - count - page - total_count - total_pages type: object properties: page: type: integer description: The current page number format: int32 count: type: integer description: The element count of the current page format: int32 total_pages: type: integer description: The total page number based on request page size format: int32 total_count: type: integer description: The total element count format: int64 XiqReportMetrics: type: string description: Metrics Type. enum: - MAX_CONCURRENT_CLIENTS - UNIQUE_CLIENTS_BY_SSID - UNIQUE_WIFI_CLIENTS - CLIENT_QUALITY_SCORE - CLIENT_SESSIONS - CLIENT_AIRTIME_USAGE - WIRELESS_CLIENTS_BY_OS - UNIQUE_CLIENTS_BY_OS - TRAFFIC_VOLUME_PER_APP - APP_TRAFFIC_PERCENTAGE - DEVICES_BY_CLIENTS - SWITCH_SUMMARY - UNIQUE_CLIENT_BY_SSID_PIE_CHART - APP_TRAFFIC_PERCENTAGE_PIE_CHART - TRAFFIC_VOLUME_PER_APP_PIE_CHART XiqScheduledReport: type: object properties: report_run_id: type: integer format: int64 description: Unique identifier for the report run report_run_timestamp: type: integer format: int64 description: Epoch timestamp (in milliseconds) when the report was run recipients_count: type: integer format: int64 description: Number of recipients for the report report_name: type: string description: Name of the scheduled report XiqCreateCustomReportScheduleRequest: type: object properties: metrics: type: array items: $ref: '#/components/schemas/XiqReportMetrics' description: List of metrics to include in the report report_name: type: string description: The name of the report report_description: type: string description: The description of the report site_ids: type: array items: type: integer format: int64 description: List of Site IDs building_ids: type: array items: type: integer format: int64 description: List of building IDs floor_ids: type: array items: type: integer format: int64 description: List of Floor IDs ssids: type: array items: type: string description: List of SSIDs to filter bands: type: array items: type: string enum: - TWO_GHZ - FIVE_GHZ - SIX_GHZ description: List of Bands to filter recipients: type: array description: List of recipients to notify items: type: object properties: email: type: string description: Recipient email address notifier_id: type: integer format: int64 description: Unique identifier for the notifier schedules: type: array items: $ref: '#/components/schemas/XiqScheduleFrequencyRequest' description: List of report schedules by frequency file_format: type: array items: type: string enum: - PDF - XLSX description: File format to download (PDF or XLSX) XiqScheduleFrequencyResponse: type: object properties: enable_schedule: type: boolean default: true description: Whether the schedule is enabled report_schedule_id: type: integer format: int64 description: The Unique Identifier for Report Schedule frequency_type: type: string enum: - DAILY - WEEKLY - MONTHLY description: Frequency of the report schedule schedule_time: type: string pattern: ^([01]\d|2[0-3]):([0-5]\d):([0-5]\d)$ description: Time of day to run the report in 24-hour format (HH:mm:ss), e.g., "09:00:00" schedule_timezone: type: string description: IANA-compliant time zone identifier (e.g., "Asia/Kolkata", "America/New_York") example: Asia/Kolkata schedule_days: type: array items: type: integer description: 'Days to run the report: - For DAILY/WEEKLY: 1 (Sunday) to 7 (Saturday) - For MONTHLY: 1–31 or -1 for the last day of the month ' parameters: page: name: page in: query description: Page number, min = 1 required: false schema: minimum: 1 type: integer format: int32 default: 1 limit: name: limit in: query description: Page Size, min = 1, max = 100 required: false schema: maximum: 100 minimum: 1 type: integer format: int32 default: 10 responses: ErrorResponse: description: The generic ExtremeCloud IQ API error response content: application/json: schema: $ref: '#/components/schemas/XiqError' securitySchemes: BearerAuth: type: http description: JSON Web Token (JWT) based authentication scheme: bearer bearerFormat: JWT externalDocs: description: API Reference url: https://extremecloudiq.com/api-docs/api-reference.html