Every API here is available over the APIs.io API and to AI agents over MCP.
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` <br>
* 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 <br>
---
> 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
f
# --- truncated at 32 KB (59 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cohesity/refs/heads/main/openapi/cohesity-helios-reporting-openapi.yml