swagger: '2.0' info: description: 'Public APIs exposed by Helios Reporting service. # Getting Started These APIs provides operations for interfacing with the Helios Reporting service. ## Base URL * The base URL for making API calls is `https://helios.cohesity.com/heliosreporting/api/v1`
* An apiKey is needed in order to authenticate the requests to the Reporting service. To create an apiKey, please visit this webpage: https://developer.cohesity.com/docs/helios-getting-started
--- > NOTE: The apiKey has no expiration and is valid until deleted explicitly. ---' version: v1 title: Helios Reporting service APIs termsOfService: https://cohesity.com contact: email: support@cohesity.com basePath: https://helios.cohesity.com/heliosreporting/api/v1 schemes: - http securityDefinitions: ApiKeyAuth: type: apiKey in: header name: apiKey security: - ApiKeyAuth: [] definitions: ReportType: type: string enum: &id001 - ClusterConnections - ClusterConnectionsTrend - ProtectedUnprotectedObjects - ProtectedObjects - ProtectionActivity - ProtectionGroupSummary - ProtectionRuns - ProtectionRunsTrend - StorageConsumptionByObjects - StorageConsumptionByProtectionGroups - StorageConsumptionByClusters - StorageConsumptionByStorageDomains - StorageConsumptionByOrganizations - StorageConsumptionByClustersTrend - StorageConsumptionByViews - ServiceConsumption - ServiceConsumptionTrend - Recovery - Failures - ProtectionSummaryBySystem - DataTransferredToExternalTargets - DataTransferredToExternalTargetsTrend AggregationType: type: string enum: &id013 - sum - count - min - max - avg - countDistinct DataType: type: string enum: &id010 - Bool - String - Int64 - Int32 - StringArray - Int64Array - Float64 ReportCategoryEnum: type: string enum: &id003 - Protection - Storage - Compliance TaskStatusEnum: type: string enum: &id007 - Created - InProgress - Completed - Error ReportFormatEnum: type: string enum: &id005 - PDF - XLS - CSV FileTypeEnum: type: string enum: &id008 - PDF - XLS - CSV - RawData CompressionType: type: string enum: &id009 - Gzip - Zip ScheduleStateEnum: type: string enum: &id006 - Active - Inactive FilterType: type: string enum: &id012 - In - Range - TimeRange - Systems - Tenants ReportContextEnum: type: string enum: &id004 - DMaaS - Hybrid - MCM - MCMTenant - FortKnox DataFormatType: type: string enum: &id002 - Timestamp - Duration DateRangeType: type: string enum: &id011 - Last1Hour - Last24Hours - Last7Days - CurrentMonth - Last30Days - LastMonth - Last90Days - Last3Months - Last180Days - Last6Months - CurrentYear - Last365Days - LastYear ResourceType: type: string enum: &id014 - Policies - ProtectionGroups - RegisteredSources - MessageCodeMappings - Tenants - ExternalTargets Components: description: Specifies a list of report components. type: object properties: components: description: Specifies list of components. type: array items: $ref: '#/definitions/Component' x-nullable: true Component: description: Specifies a Report Component. type: object properties: id: description: Specifies the id of the Component. type: string x-nullable: true name: description: Specifies the name of the Component. type: string x-nullable: true description: description: Specifies description of the Component. type: string x-nullable: true reportType: description: Specifies the report type on top of which this Component is created from. type: string enum: *id001 x-nullable: true aggs: $ref: '#/definitions/AttributeAggregations' sort: description: Specifies the sorting (ordering) parameters to be applied to the resulting data. type: array items: $ref: '#/definitions/AttributeSort' x-nullable: true limit: $ref: '#/definitions/LimitParams' filters: description: Specifies the filters that are applied on specific report type attributes in order to compose this component. type: array items: $ref: '#/definitions/AttributeFilter' x-nullable: true config: $ref: '#/definitions/CustomConfigParams' data: description: Specifies the data returned after evaluating the component. type: array items: additionalProperties: type: object readOnly: true CustomConfigParams: description: Specifies the configuration parameters to customize and format the columns in the report artifacts like excel, pdf etc type: object properties: xlsxParams: $ref: '#/definitions/XlsxCustomConfigParams' XlsxCustomConfigParams: description: Specifies the configuration parameters to customize a component in excel report. type: object properties: attributeConfig: description: Specifies customized configuration for the attributes in the report. If not specified, all the attributes will be sent as-is to the report without any formatting. type: array items: $ref: '#/definitions/XlsxAttributeCustomConfigParams' x-nullable: true x-nullable: true minItems: 1 XlsxAttributeCustomConfigParams: description: Specifies the configuration parameters to customize the columns in excel report for a component. The ordering of the columns in the resulting xlsx will be done according to the order they are configured. type: object required: - attributeName properties: attributeName: description: Specifies the name of the attribute. type: string x-nullable: true customLabel: description: Specifies a custom label for attribute to appear in the xlsx report. If not specified, default attribute name will be used. type: string x-nullable: true format: description: Specifies a custom format for attribute to appear in the xlsx report. If not specified, the attribute value is sent as-is. type: string enum: *id002 AttributeSort: description: Specifies the sorting (ordering) parameters to be applied to the resulting data. type: object required: - attribute properties: attribute: description: Specifies the name of the attribute. type: string desc: description: Specifies whether the sorting order should be descending. Default value is false. type: boolean x-nullable: true LimitParams: description: Specifies the parameters to limit the resulting dataset. type: object required: - size properties: from: description: Specifies the offset to which resulting data will be skipped before applying the size parameter. For example if dataset size is 10 objects, from=2 and size=5, then from 10 objects only 5 objects are returned starting from offset 2 i.e., 2 to 7. If not specified, then none of the objects are skipped. type: integer x-nullable: true size: description: Specifies the number of objects to be returned from the offset specified. type: integer minimum: 1 ComponentPreviewParams: description: Specifies preview of a component. type: object properties: filters: description: Specifies list of global filters that are applicable to given components in the report. type: array items: $ref: '#/definitions/AttributeFilter' x-nullable: true timezone: description: Specifies timezone of the user. If nil, defaults to UTC. The time specified should be a location name in the IANA Time Zone database, for example, 'America/Los_Angeles' type: string x-nullable: true sort: description: Specifies the sorting (ordering) parameters to be applied to the resulting data. type: array items: $ref: '#/definitions/AttributeSort' x-nullable: true limit: $ref: '#/definitions/LimitParams' ComponentPreview: description: Specifies preview of a component. type: object properties: component: description: Specifies the component params and data. $ref: '#/definitions/Component' x-nullable: true filters: description: Specifies list of global filters that are applicable to given components in the report. type: array items: $ref: '#/definitions/AttributeFilter' x-nullable: true timezone: description: Specifies timezone of the user. If nil, defaults to UTC. The time specified should be a location name in the IANA Time Zone database, for example, 'America/Los_Angeles' type: string x-nullable: true generatedTimestampUsecs: description: Specifies the epoch timestamp in UTC in microseconds. type: integer format: int64 x-nullable: true ComponentsPreviewParams: description: Specifies preview of a component. type: object properties: components: description: The list of components to render for the report. This overrides the components retrieved for the report from store. type: array items: $ref: '#/definitions/Component' x-nullable: true filters: description: Specifies list of global filters that are applicable to given components in the report. type: array items: $ref: '#/definitions/AttributeFilter' x-nullable: true timezone: description: Specifies timezone of the user. If nil, defaults to UTC. The time specified should be a location name in the IANA Time Zone database, for example, 'America/Los_Angeles' type: string x-nullable: true ComponentsPreview: description: Specifies preview of a component. type: object properties: components: description: Specifies the component params and data. type: array items: $ref: '#/definitions/Component' x-nullable: true filters: description: Specifies list of global filters that are applicable to given components in the report. type: array items: $ref: '#/definitions/AttributeFilter' x-nullable: true timezone: description: Specifies timezone of the user. If nil, defaults to UTC. The time specified should be a location name in the IANA Time Zone database, for example, 'America/Los_Angeles' type: string x-nullable: true generatedTimestampUsecs: description: Specifies the epoch timestamp in UTC in microseconds. type: integer format: int64 x-nullable: true Reports: description: Specifies a list of Reports. type: object properties: reports: description: Specifies list of reports. type: array items: $ref: '#/definitions/Report' x-nullable: true Report: description: Specifies a Report. type: object properties: id: description: Specifies the id of the report. type: string x-nullable: true title: description: Specifies the title of the report. type: string x-nullable: true description: description: Specifies description of the Report. type: string x-nullable: true category: description: Specifies categoty of the Report. type: string enum: *id003 x-nullable: true supportedUserContexts: description: Specifies all the supported user contexts for this report. type: array items: type: string enum: *id004 componentIds: description: Specifies the list of component ids in the Report. type: array items: type: string x-nullable: true x-nullable: true ReportPreviewParams: description: Specifies preview of a Report. type: object properties: timezone: description: Specifies timezone of the user. If nil, defaults to UTC. The time specified should be a location name in the IANA Time Zone database, for example, 'America/Los_Angeles' type: string x-nullable: true componentIds: description: Specifies list of components ids to be evaluated for the given report. If not specified, then all the components are evaluated. type: array items: type: string x-nullable: true filters: description: Specifies list of global filters that are applicable to given components in the report. type: array items: $ref: '#/definitions/AttributeFilter' x-nullable: true ReportPreview: description: Specifies preview of a Report. type: object properties: id: description: Specifies the id of the report. type: string x-nullable: true title: description: Specifies the title of the report. type: string x-nullable: true components: description: Specifies the component params and data. type: array items: $ref: '#/definitions/Component' x-nullable: true filters: description: Specifies list of global filters that are applicable to given components in the report. type: array items: $ref: '#/definitions/AttributeFilter' x-nullable: true timezone: description: Specifies timezone of the user. If nil, defaults to UTC. The time specified should be a location name in the IANA Time Zone database, for example, 'America/Los_Angeles' type: string x-nullable: true generatedTimestampUsecs: description: Specifies the epoch timestamp in UTC in microseconds. type: integer format: int64 x-nullable: true ExportReportParams: description: Parameters for exporting a report. type: object properties: filters: description: Specifies list of global filters that are applicable to given components in the report. type: array items: $ref: '#/definitions/AttributeFilter' x-nullable: true reportFormat: description: The format in which the report needs to be exported. type: string enum: *id005 x-nullable: true layout: description: The layout of the report which needs to be exported. type: string x-nullable: true timezone: description: Specifies timezone of the user. If nil, defaults to UTC. The time specified should be a location name in the IANA Time Zone database, for example, 'America/Los_Angeles' type: string x-nullable: true async: description: Specifies if the report should be generated asynchronously type: boolean x-nullable: true ExportReportResp: description: Response for exporting a report. type: object properties: taskId: description: Specifies Task Id responsible for exporting the report, Status for a task can be fetched using another API. type: string x-nullable: true ScheduleTimeParams: description: Specifies the time parameters of a schedule for a report. type: object required: - minutesOfDay properties: minutesOfDay: description: Specifies minutes of the day when report needs to be scheduled for email. Currently, one time per day at 30 min interval is only supported. Array with a unique value between 0 and (24*60-1=1439) inclusive. type: array items: type: integer format: int32 x-nullable: true maxItems: 1 minimum: 0 maximum: 1439 uniqueItems: true x-go-custom-tag: bson:"minutesOfDay,omitempty" daysOfWeek: description: Specifies days in a week when report needs to be scheduled for email. Array with unique value between 0 and 6 inclusive. Week is from Sunday [0] to Saturday [6]. type: array items: type: integer format: int32 x-nullable: true maxItems: 7 minimum: 0 maximum: 6 uniqueItems: true x-go-custom-tag: bson:"daysOfWeek,omitempty" daysOfMonth: description: Specifies days in a month when report needs to be scheduled for email. Array with unique value between -1 and 31 inclusive. Day of a month starts from 1 to 31. Last day of a month can be set as -1. 0 is invalid input. type: array items: type: integer format: int32 x-nullable: true maxItems: 32 minimum: -1 maximum: 31 uniqueItems: true x-go-custom-tag: bson:"daysOfMonth,omitempty" timezone: description: Specifies timezone of ScheduleTimeParams type: string x-nullable: true readOnly: true x-go-custom-tag: bson:"timezone,omitempty" userTimezone: description: Specifies timezone of user schedule. If nil, defaults to UTC. The time specified should be a location name in the IANA Time Zone database, for example, 'America/Los_Angeles' type: string x-nullable: true x-go-custom-tag: bson:"userTimezone,omitempty" Schedules: description: Specifies a list of Schedules. type: object properties: schedules: description: Specifies list of schedules. type: array items: $ref: '#/definitions/Schedule' x-nullable: true Schedule: description: Definition of a Schedule for a report. type: object required: - reportId - scheduleTime properties: scheduleId: description: Specifies id of the schedule. type: string readOnly: true x-nullable: true x-go-custom-tag: bson:"scheduleId,omitempty" reportId: description: Specifies id of the report that is scheduled. type: string x-go-custom-tag: bson:"reportId,omitempty" x-nullable: true name: description: The name of the schedule. type: string x-go-custom-tag: bson:"name,omitempty" x-nullable: true scheduleTime: $ref: '#/definitions/ScheduleTimeParams' state: description: State of the schedule. Can be Active/Inactive. type: string enum: *id006 x-nullable: true x-go-custom-tag: bson:"state,omitempty" emailSubject: description: Subject to be sent in the email. type: string x-nullable: true x-go-custom-tag: bson:"emailSubject,omitempty" emailIds: description: Email ids to which schedule needs to be sent. type: array items: type: string x-nullable: true x-go-custom-tag: bson:"emailIds,omitempty" x-nullable: true reportFormat: description: The formats in which the report has been requested. Can be PDF/CSV/XLS/HTML. type: array items: type: string enum: *id005 x-nullable: true x-nullable: true x-go-custom-tag: bson:"reportFormat,omitempty" latestTask: $ref: '#/definitions/Task' filters: description: Specifies list of global filters that are applicable to given components in the report. type: array items: $ref: '#/definitions/AttributeFilter' x-go-custom-tag: bson:"filters,omitempty" x-nullable: true layout: description: The layout of the report which needs to be exported. type: string x-go-custom-tag: bson:"layout,omitempty" x-nullable: true createdTimeUsecs: description: Time when the schedule was created. type: integer format: int64 x-nullable: true readOnly: true x-go-custom-tag: bson:"createdTimeUsecs,omitempty" updatedTimeUsecs: description: Time when the schedule was updated. type: integer format: int64 x-nullable: true readOnly: true x-go-custom-tag: bson:"updatedTimeUsecs,omitempty" lastQueuedTimeUsecs: description: Time when the schedule was last queued. type: integer format: int64 x-nullable: true readOnly: true x-go-custom-tag: bson:"lastQueuedTimeUsecs,omitempty" UpdateSchedulesStateRequest: description: Definition to update schedules state. type: object required: - state properties: state: description: State to upgrade the schedules to. type: string enum: *id006 x-nullable: true ids: description: Schedule ids to be updated. type: array items: type: string x-nullable: true UpdateSchedulesState: description: Response of update schedules state call. type: object properties: failedSchedules: description: Schedule ids that failed to update. type: array items: $ref: '#/definitions/FailedScheduleDetails' successfulScheduleIds: description: Schedule ids that were updated successfully. type: array items: type: string x-nullable: true FailedScheduleDetails: description: Specifies the schedule that failed to update along with error. type: object properties: id: description: Schedule id of the failed update. type: string x-nullable: true errorMessage: description: Error message of the failure. type: string x-nullable: true SchedulesDao: description: Specifies a list of ScheduleDao. type: object properties: schedules: description: Specifies list of ScheduleDao. type: array items: $ref: '#/definitions/ScheduleDao' x-nullable: true ScheduleDao: description: '"Definition of a schedule dao for store. ScheduleDao stands for schedule data access object. It is stored as is in mongoDb"' type: object allOf: - $ref: '#/definitions/Schedule' - type: object properties: accountId: description: Specifies id of the account creating the task. type: string x-nullable: true x-go-custom-tag: bson:"accountId,omitempty" userSid: description: Specifies the sid of the user for which the task was created. type: string x-nullable: true x-go-custom-tag: bson:"userSid,omitempty" deletedAtTimeUsecs: description: Time when the schedule was deleted. type: integer format: int64 x-nullable: true readOnly: true x-go-custom-tag: bson:"deletedAtTimeUsecs,omitempty" TasksDao: description: Specifies a list of TasksDao. type: object properties: tasks: description: Specifies list of TasksDao. type: array items: $ref: '#/definitions/TaskDao' x-nullable: true TaskDao: description: '"Definition of a task dao for store. TaskDao stands for task data access object. It is stored as is in mongoDb"' type: object allOf: - $ref: '#/definitions/Task' - type: object properties: accountId: description: Specifies id of the account creating the task. type: string x-nullable: true x-go-custom-tag: bson:"accountId,omitempty" userSid: description: Specifies the sid of the user for which the task was created. type: string x-nullable: true x-go-custom-tag: bson:"userSid,omitempty" requestId: description: Specifies the kafka request id for the task. type: string x-nullable: true x-go-custom-tag: bson:"requestId,omitempty" artifacts: description: The artifacts for the task. type: array items: $ref: '#/definitions/Artifact' x-nullable: true x-go-custom-tag: bson:"artifacts,omitempty" Tasks: description: Specifies a list of tasks. type: object properties: tasks: description: Specifies list of tasks. type: array items: $ref: '#/definitions/Task' x-nullable: true Task: description: Definition of a task. type: object required: - reportId properties: taskId: description: Specifies id of the task. type: string x-nullable: true x-go-custom-tag: bson:"taskId,omitempty" reportId: description: Specifies the id of the report for which the task was created. type: string x-nullable: true x-go-custom-tag: bson:"reportId,omitempty" scheduleId: description: Specifies the id of the schedule for which the task was created. Maybe nil for export related tasks. type: string x-nullable: true x-go-custom-tag: bson:"scheduleId,omitempty" emailSubject: description: Email Subject for scheduled report to be sent. type: string x-go-custom-tag: bson:"emailSubject,omitempty" x-nullable: true emailIds: description: Email ids to which the scheduled report to be sent. type: array items: type: string x-nullable: true x-go-custom-tag: bson:"emailIds,omitempty" x-nullable: true filters: description: Specifies list of global filters that are applicable to the components in the report. type: array items: $ref: '#/definitions/AttributeFilter' x-nullable: true x-go-custom-tag: bson:"filters,omitempty" layout: description: The layout of the report which needs to be exported. type: string x-nullable: true x-go-custom-tag: bson:"layout,omitempty" timezone: description: The timezone in which the report needs to be exported. type: string x-nullable: true x-go-custom-tag: bson:"timezone,omitempty" createdTimeUsecs: description: Time when the task was created. type: integer format: int64 x-nullable: true readOnly: true x-go-custom-tag: bson:"createdTimeUsecs,omitempty" updatedTimeUsecs: description: Time when the task was updated. type: integer format: int64 x-nullable: true readOnly: true x-go-custom-tag: bson:"updatedTimeUsecs,omitempty" startTimeUsecs: description: Time when the task started. type: integer format: int64 x-nullable: true x-go-custom-tag: bson:"startTimeUsecs,omitempty" endTimeUsecs: description: Time when the task ended. type: integer format: int64 x-nullable: true x-go-custom-tag: bson:"endTimeUsecs,omitempty" status: description: The status of the task. type: string enum: *id007 x-nullable: true x-go-custom-tag: bson:"status,omitempty" message: description: The message present for the task. type: string x-nullable: true x-go-custom-tag: bson:"message,omitempty" reportFormat: description: The formats in which the report task has been requested. Can be PDF/CSV/XLS/HTML. type: array items: type: string enum: *id005 x-nullable: true x-nullable: true x-go-custom-tag: bson:"reportFormat,omitempty" Artifact: description: 'Specifies format and link to the artifacts ' type: object properties: format: description: The format in which the link stores data. type: string enum: *id008 x-nullable: true x-go-custom-tag: bson:"format,omitempty" link: description: The link to the artifactory data. type: string x-nullable: true x-go-custom-tag: bson:"link,omitempty" compressionFormat: description: The format in which data is compressed. Only set if the data is compressed. Nil if data is uncompressed. type: string enum: *id009 x-nullable: true x-go-custom-tag: bson:"compressionFormat,omitempty" InFilterParams: description: Specifies the in filter that are applied on attributes. type: object required: - attributeDataType properties: attributeDataType: description: Specifies the data type of the attribute. type: string enum: *id010 x-nullable: true x-go-custom-tag: bson:"attributeDataType,omitempty" attributeLabels: description: Specifies the optional label values for the attribute. type: array items: type: string x-go-custom-tag: bson:"attributeLabels,omitempty" int64FilterValues: description: Specifies list of int64 values to filter results on. type: array items: type: integer format: int64 x-go-custom-tag: bson:"int64FilterValues,omitempty" boolFilterValues: description: Specifies list of boolean values to filter results on. type: array items: type: boolean x-go-custom-tag: bson:"boolFilterValues,omitempty" stringFilterValues: description: Specifies list of string values to filter results on. type: array items: type: string x-go-custom-tag: bson:"stringFilterValues,omitempty" int32FilterValues: description: Specifies list of int32 values to filter results on. type: array items: type: integer format: int32 x-go-custom-tag: bson:"int32FilterValues,omitempty" RangeFilterParams: description: Specifies the filters that are applied on attributes. type: object properties: lowerBound: description: Specifies the lower bound value. If specified, all the results which are greater than this value will be returned. type: integer format: int64 x-nullable: true x-go-custom-tag: bson:"lowerBound,omitempty" upperBound: description: Specifies the upper bound value. If specified, all the results which are lesser than this value will be returned. type: integer format: int64 x-nullable: true x-go-custom-tag: bson:"upperBound,omitempty" TimeRangeFilterParams: description: Specifies the time range filter. Specifying this will pre filter all the results on necessary resources like Protection Runs etc before applying aggregations. Currently, maximum allowed time range is 60 days. type: object properties: lowerBound: description: Specifies the lower bound value. If specified, all the results which are greater than this value will be returned. type: integer format: int64 x-nullable: true x-go-custom-tag: bson:"lowerBound,omitempty" upperBound: description: Specifies the upper bound value. If specified, all the results which are lesser than this value will be returned. type: integer format: int64 x-nullable: true x-go-custom-tag: bson:"upperBound,omitempty" durationHours: description: Specifies the duration preceding the current time for which the data must be fetch i.e fetch data between currentTime and currentTime - durationHours. This filter is only considered if neither upperBound, lowerBound or dateRange is specified. type: integer format: int64 x-nullable: true x-go-custom-tag: bson:"durationHours,omitempty" dateRange: description: Enum value for specifying the date range for a time filter. Considered only if lowerBound and upperBound are empty. type: string enum: *id011 x-nullable: true x-go-custom-tag: bson:"dateRange,omitempty" SystemsFilterParams: description: Specifies the systems filter. Specifying this will pre filter all the results provided list of system identifier before applying aggregations. type: object required: - systemIds properties: systemNames: description: Specifies the optional system names labels. type: array items: type: string x-go-custom-tag: bson:"systemNames,omitempty" systemIds: description: Specifies an array of system identifiers. System identifiers may be of format clusterid:clusterincarnationid or a regionid (applicable only in case of DMaaS). type: array items: type: string minItems: 1 x-go-custom-tag: bson:"systemIds,omitempty" TenantsFilterParams: description: 'Specifies the tenants filter. Specifying this will pre filter all the results with provided list of tenants before applying aggregations.' type: object properties: includeTenants: description: 'Specifies whether to include tenants. Defaults to true. If false, it will not consider below filters. False will result in no data for helios tenant or dmaas user.' type: boolean x-nullable: true x-go-custom-tag: bson:"includeTenants,omitempty" tenantNames: description: Specifies the optional tenant names labels. type: array items: type: string x-go-custom-tag: bson:"tenantNames,omitempty" tenantIds: description: 'Specifies an array of tenant identifiers. Provide local tenant identifiers.' type: array items: type: string minItems: 1 x-go-custom-tag: bson:"tenantIds,omitempty" AttributeFilter: description: Specifies the filters that are applied on attributes. type: object required: - attribute - filterType properties: attribute: description: Specifies the attribute. type: string x-nullable: true x-go-custom-tag: bson:"attribute,omitempty" filterType: description: Specifies the type of the filter that needs to be applied. type: string enum: *id012 x-go-custom-tag: bson:"filterType,omitempty" x-nullable: true inFilterParams: description: Specifies the params for applying IN filter. This will filter the results for the specified values for the specified attribute $ref: '#/definitions/InFilterParams' x-nullable: true x-go-custom-tag: bson:"inFilterParams,omitempty" rangeFilterParams: description: Specifies the params for applying range filter. This will filter the results for the specified range for the specified attribute. $ref: '#/definitions/RangeFilterParams' x-nullable: true x-go-custom-tag: bson:"rangeFilterParams,omitempty" timeRangeFilterParams: description: Specifies the params for applying timerange filter. This basically applies the time bound on which resources are pre filtered. $ref: '#/definitions/TimeRangeFilterParams' x-nullable: true x-go-custom-tag: bson:"timeRangeFilterParams,omitempty" systemsFilterParams: description: Specifies the params for applying filter on system identifiers. $ref: '#/definitions/SystemsFilterParams' x-nullable: true x-go-custom-tag: bson:"systemsFilterParams,omitempty" tenantsFilterParams: description: Specifies the params for applying filter on system identifiers. $ref: '#/definitions/TenantsFilterParams' x-nullable: true x-go-custom-tag: bson:"tenantsFilterParams,omitempty" AttributeAggregations: description: Specifies the aggregation related information that needs to be applied on the attributes. type: object properties: groupedAttributes: description: Specifies list of attributes to be grouped in the aggregation. type: array items: type: string aggregatedAttributes: description: Specifies list of aggregation properties to be applied on the attributes. type: array items: $ref: '#/definitions/AggregatedAttributesParams' x-nullable: true AggregatedAttributesParams: description: Specifies list of aggregation properties to be applied on the attributes. type: object required: - aggregationType - attribute properties: aggregationType: description: Specifies the aggregation type. type: string enum: *id013 x-nullable: true attribute: description: Specifies the attribute name. type: string x-nullable: true label: description: Specifies the label to be generated for this aggregated attribute. If not specified, then by default label of the column in the output will be combination of aggregation type and attribute type: string x-nullable: true ReportTypeAttributes: description: Specifies list of attributes and properties for a given report type. type: object properties: attributes: description: Specifies the attribute name. type: array items: $ref: '#/definitions/ReportTypeAttribute' ReportTypeAttribute: description: Specifies an attribute and its properties for a given report type. type: object properties: name: description: Specifies the attribute name. type: string dataType: description: Specifies the data type of the attribute. type: string enum: *id010 KafkaMessage: description: The kafka message which is picked up by the helper. type: object properties: taskId: description: Specifies the task which needs to be completed by the helper. type: string x-nullable: true scheduleId: description: Specifies the schedule id which needs to be executed by the helper. type: string x-nullable: true requestId: description: Specifies the request id which is used to detect duplicate tasks. type: string x-nullable: true createTask: description: Specifies if a new task must be created by the helper for this message. type: boolean x-nullable: true GetResourcesRequest: description: Specifies the request parameters to fetch resources. type: object required: - resourceType properties: resourceType: description: Specifies the type of the resource. type: string enum: *id014 Resources: description: Specifies the resources response. type: object properties: resourceType: description: Specifies the type of the resource. type: string enum: *id014 x-nullable: true protectionGroups: description: Specifies the list of Protection Groups. type: array items: $ref: '#/definitions/ProtectionGroup' policies: description: Specifies the list of Protection Groups. type: array items: $ref: '#/definitions/Policy' sources: description: Specifies the list of Registered sources. type: array items: $ref: '#/definitions/RegisteredSource' messageCodeMappings: description: Specifies the list of Message codes. type: array items: $ref: '#/definitions/MessageCodeMapping' tenants: description: Specifies the list of Tenants. type: array items: $ref: '#/definitions/Tenant' externalTargets: description: Specifies the list of External Targets. type: array items: $ref: '#/definitions/ExternalTarget' ExternalTarget: description: Specifies an External target. type: object properties: id: description: Specifies the id of the External target. type: string x-nullable: true name: description: Specifies the name of the External target. type: string x-nullable: true targetType: description: Specifies the type of the External target. type: string x-nullable: true systemId: description: Specifies the id of the System. type: string x-nullable: true systemName: description: Specifies the name of the System. type: string x-nullable: true ProtectionGroup: description: Specifies the Protection Group resource. type: object properties: id: description: Specifies the id of the Protection Group. type: string x-nullable: true name: description: Specifies the name of the Protection Group. type: string x-nullable: true systemId: description: Specifies the id of the System. type: string x-nullable: true systemName: description: Specifies the name of the System. type: string x-nullable: true RegisteredSource: description: Specifies the Registered Source resource. type: object properties: uuid: description: Specifies the unique identifier of registered source. type: string x-nullable: true name: description: Specifies the name of the registered source. type: string x-nullable: true environments: description: Specifies list of all environments discovered as part of this source. type: array items: type: string x-nullable: true x-go-custom-tag: pg:",array" Policy: description: Specifies the Protection Policy resource. type: object properties: id: description: Specifies the id of the Protection Policy. type: string x-nullable: true name: description: Specifies the name of the Protection Policy. type: string x-nullable: true isGlobalPolicy: description: Specifies whether this is a Global Policy. type: boolean x-nullable: true systemId: description: Specifies the id of the System. type: string x-nullable: true systemName: description: Specifies the name of the System. type: string x-nullable: true MessageCodeMapping: description: Specifies an error code and GUID. type: object properties: messageCode: description: Specifies the message code. type: string messageGuid: description: Specifies the message GUID. type: string Error: description: Specifies the error object with error code and a message. type: object properties: errorCode: description: Specifies the error code. type: integer errorMessage: description: Specifies the error message. type: string Tenant: description: Specifies the Tenant resource. type: object properties: id: description: Specifies the id of the Tenant. type: string x-nullable: true name: description: Specifies the name of the Tenant. type: string x-nullable: true paths: /public/components: get: description: Fetches list of all report components accessible by logged in user. tags: - Components summary: List Report Components operationId: GetComponents parameters: - name: ids in: query description: Specifies the ids of the report component to fetch. type: array items: type: string x-nullable: true responses: 200: $ref: '#/responses/GetComponentsResponse' default: $ref: '#/responses/ErrorResponse' /public/components/{id}: get: description: Get information about a Report component. tags: - Components summary: Fetch a Report Component operationId: GetComponentById parameters: - name: id in: path description: Specifies the id of the report component. type: string required: true responses: 200: $ref: '#/responses/GetComponentByIdResponse' default: $ref: '#/responses/ErrorResponse' /public/components/preview: post: description: Get preview of a list of components. tags: - Components summary: Fetch Preview of components. operationId: GetComponentsPreview parameters: - name: body description: Request body params in order to preview a given list of components. required: true schema: $ref: '#/definitions/ComponentsPreviewParams' in: body responses: 200: $ref: '#/responses/GetComponentsPreviewResponse' default: $ref: '#/responses/ErrorResponse' /public/components/{id}/preview: post: description: Get preview for a component specified by Id. tags: - Components summary: Fetch Preview of a component. operationId: GetComponentPreview parameters: - name: id in: path description: Specifies the id of the component. type: string required: true - name: body description: Request body params in order to preview a given component. required: true schema: $ref: '#/definitions/ComponentPreviewParams' in: body responses: 200: $ref: '#/responses/GetComponentPreviewResponse' default: $ref: '#/responses/ErrorResponse' /public/reports/report-types/{reportType}: get: description: Fetches list of properties of a report type. tags: - Reports summary: List properties of a report type operationId: GetReportType parameters: - name: reportType in: path required: true description: Specifies the report type. type: string enum: *id001 responses: 200: $ref: '#/responses/GetReportTypeAttributesResponse' default: $ref: '#/responses/ErrorResponse' /public/reports: get: description: Fetches list of all reports accessible by logged in user. tags: - Reports summary: List Reports operationId: GetReports parameters: - name: ids in: query description: Specifies the ids of reports to fetch. type: array items: type: string x-nullable: true - name: userContext in: query description: Specifies the user context to filter reports. type: string enum: *id004 x-nullable: true responses: 200: $ref: '#/responses/GetReportsResponse' default: $ref: '#/responses/ErrorResponse' /public/reports/{id}: get: description: Get a report for a given id. tags: - Reports summary: Fetch a Report operationId: GetReportById parameters: - name: id in: path description: Specifies the id of the report. type: string required: true responses: 200: $ref: '#/responses/GetReportByIdResponse' default: $ref: '#/responses/ErrorResponse' /public/reports/{id}/preview: post: description: Get preview of a configured report. tags: - Reports summary: Fetch a Report Preview operationId: GetReportPreview parameters: - name: id in: path description: Specifies the id of the report. type: string required: true - name: body description: Request body params in order to preview a given report. required: true schema: $ref: '#/definitions/ReportPreviewParams' in: body responses: 200: $ref: '#/responses/GetReportPreviewResponse' default: $ref: '#/responses/ErrorResponse' /public/reports/{id}/export: post: description: Export a configured report. tags: - Reports summary: Export a Report operationId: ExportReport parameters: - name: id in: path description: Specifies the id of the report. type: string required: true - name: body description: Request body params in order to export a given report. required: true schema: $ref: '#/definitions/ExportReportParams' in: body responses: 200: $ref: '#/responses/ExportReportResponse' default: $ref: '#/responses/ErrorResponse' /public/schedules: get: description: Fetches list of all schedules accessible to the logged in user. tags: - Schedules summary: List all schedules. operationId: GetSchedules parameters: - name: ids description: '"The Ids for which schedules need to be fetched."' in: query type: array items: type: string x-nullable: true - name: reportIds description: The reportIds for which schedules need to be fetched. in: query type: array items: type: string x-nullable: true - name: emailIds description: The email ids for which schedules need to be fetched. in: query type: array items: type: string x-nullable: true - name: state description: The state of schedules which should be fetched. Can be Active/Inactive. If this is nil, all schedules are returned. in: query type: string enum: *id006 x-nullable: true - name: includeLatestTaskInfo description: Specifies whether to include latest task information. If not specified or false, latest task information will not be sent. in: query type: boolean x-nullable: true responses: 200: $ref: '#/responses/GetSchedulesResponse' default: $ref: '#/responses/ErrorResponse' post: description: Create a schedule for a configured report. tags: - Schedules summary: Create a Schedule operationId: CreateSchedule parameters: - name: body description: Request body params in order to schedule a given report. required: true schema: $ref: '#/definitions/Schedule' in: body responses: 200: $ref: '#/responses/GetScheduleByIdResponse' default: $ref: '#/responses/ErrorResponse' /public/schedules/{id}: get: description: Get a report schedule for a given id. tags: - Schedules summary: Fetch a Schedule operationId: GetScheduleById parameters: - name: id in: path description: Specifies the id of the schedule. type: string required: true responses: 200: $ref: '#/responses/GetScheduleByIdResponse' default: $ref: '#/responses/ErrorResponse' put: description: Update schedule for a given id. tags: - Schedules summary: Update a Schedule operationId: UpdateSchedule parameters: - name: id in: path description: Specifies the id of the schedule. type: string required: true - name: body description: Request body params in order to update a schedule. required: true schema: $ref: '#/definitions/Schedule' in: body responses: 200: $ref: '#/responses/GetScheduleByIdResponse' default: $ref: '#/responses/ErrorResponse' delete: description: Delete schedule for a given id. tags: - Schedules summary: Delete a Schedule operationId: DeleteSchedule parameters: - name: id in: path description: Specifies the id of the schedule to delete. type: string required: true responses: 204: $ref: '#/responses/NoContentResponse' default: $ref: '#/responses/ErrorResponse' /public/schedules/{id}/run: post: description: Runs the schedule on the demand. tags: - Schedules summary: Run a schedule on demand. operationId: RunScheduleOnDemand parameters: - name: id in: path description: Specifies the id of the schedule. type: string required: true x-nullable: true responses: 204: $ref: '#/responses/NoContentResponse' default: $ref: '#/responses/ErrorResponse' /public/schedules/state: post: description: Update report schedules state. tags: - Schedules summary: Update Schedules State operationId: UpdateSchedulesState parameters: - name: body description: Request body params to update schedules state. required: true schema: $ref: '#/definitions/UpdateSchedulesStateRequest' in: body responses: 200: $ref: '#/responses/UpdateSchedulesStateResponse' default: $ref: '#/responses/ErrorResponse' /public/tasks: get: description: Fetches list of tasks by query params. tags: - Tasks summary: Fetch Tasks operationId: GetTasks parameters: - name: ids in: query description: Specifies the ids of tasks to fetch. type: array items: type: string x-nullable: true - name: scheduleIds in: query description: Specifies the schedule ids corresponding to which tasks must be fetched. type: array items: type: string x-nullable: true - name: reportIds in: query description: '"Specifies the report ids corresponding to which TasksDao must be fetched."' type: array items: type: string x-nullable: true - name: statuses in: query description: '"Specifies the task statuses corresponding to which TasksDao must be fetched."' type: array items: type: string enum: *id007 x-nullable: true - name: onDemand in: query description: If true, return only on demand tasks. type: boolean x-nullable: true - name: fromTimeUsecs in: query description: If specified, the tasks created after this value are returned. Value is epoch timestamp in microseconds. type: integer format: int64 - name: toTimeUsecs in: query description: If specified, the tasks created before this value are returned. Value is epoch timestamp in microseconds. type: integer format: int64 responses: 200: $ref: '#/responses/GetTasksResponse' default: $ref: '#/responses/ErrorResponse' /public/tasks/{id}: get: description: Get a tasks for a given id. tags: - Tasks summary: Fetch a Task operationId: GetTaskById parameters: - name: id in: path description: Specifies the id of the task. type: string required: true responses: 200: $ref: '#/responses/GetTaskByIdResponse' default: $ref: '#/responses/ErrorResponse' /public/artifacts/{taskId}/{format}: get: description: Get the report artifact associated with task. tags: - Artifacts summary: Fetch report artifact for task operationId: GetArtifactForTask parameters: - name: taskId in: path description: Specifies the task for which report must be fetched. type: string required: true - name: format in: path description: Specifies the format in which the report is requested. type: string enum: *id008 required: true responses: 200: $ref: '#/responses/GetArtifactForTaskResponse' default: $ref: '#/responses/ErrorResponse' /public/resources: post: description: Get different kinds of resources available which are discovered on Helios. These values can be used for filtering options tags: - Filters summary: Get resources operationId: GetResources parameters: - name: body description: Request body params to get available resources. required: true schema: $ref: '#/definitions/GetResourcesRequest' in: body responses: 200: $ref: '#/responses/GetResourcesResponse' default: $ref: '#/responses/ErrorResponse' responses: GetComponentsResponse: description: Success schema: $ref: '#/definitions/Components' GetComponentByIdResponse: description: Success schema: $ref: '#/definitions/Component' GetComponentsPreviewResponse: description: Success schema: $ref: '#/definitions/ComponentsPreview' GetComponentPreviewResponse: description: Success schema: $ref: '#/definitions/ComponentPreview' GetReportsResponse: description: Success schema: $ref: '#/definitions/Reports' GetReportByIdResponse: description: Success schema: $ref: '#/definitions/Report' GetReportPreviewResponse: description: Success schema: $ref: '#/definitions/ReportPreview' GetActiveSchedulesResponse: description: Success schema: $ref: '#/definitions/SchedulesDao' ExportReportResponse: description: A PDF or XLS or CSV file schema: type: file GetArtifactForTaskResponse: description: The file pased on the artifact type. schema: type: file GetSchedulesResponse: description: Success schema: $ref: '#/definitions/Schedules' GetScheduleByIdResponse: description: Success schema: $ref: '#/definitions/Schedule' GetTasksResponse: description: Success schema: $ref: '#/definitions/Tasks' GetTaskByIdResponse: description: Success schema: $ref: '#/definitions/Task' GetReportTypeAttributesResponse: description: Success schema: $ref: '#/definitions/ReportTypeAttributes' GetScheduleDaoByIdResponse: description: Success schema: $ref: '#/definitions/ScheduleDao' GetTaskDaoByIdResponse: description: Success schema: $ref: '#/definitions/TaskDao' GetTasksDaoResponse: description: Success schema: $ref: '#/definitions/TasksDao' UpdateSchedulesStateResponse: description: Success schema: $ref: '#/definitions/UpdateSchedulesState' GetResourcesResponse: description: Success schema: $ref: '#/definitions/Resources' ErrorResponse: description: Error schema: $ref: '#/definitions/Error' NoContentResponse: description: No Content