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