REST API Resources¶
This document provides an overview of the REST API resources in Cloutility and their structures. More complete documentation of Cloutility's REST API resources can be found here.
APIEndpoint¶
{
"name": string,
"method": string,
"href": string
}
Action¶
{
"href": string,
"name": string,
"id": integer,
"createdDate": date
}
Activity¶
{
"inProgress": boolean,
"type": ActivityType,
"address": string,
"examindedFiles": integer,
"affectedFiles": integer,
"failedFiles": integer,
"bytes": integer,
"idle": integer,
"mediaWait": integer,
"processes": integer,
"successful": boolean,
"communicateWait": integer,
"startTime": date,
"endTime": date,
"details": string,
"node": Node,
"dataMover": Node,
"filespace": Filespace,
"subEntity": string,
"asNode": string,
"schedule": Schedule,
"event": Event,
"activityLogs": [ActivityLog...],
"id": integer,
"createdDate": date,
"archivedDate": date
}
ActivityLog¶
{
"severity": string,
"message": string,
"messageNumber": integer,
"node": Node,
"schedule": Schedule,
"activity": Activity,
"filtered": boolean,
"id": integer,
"createdDate": date,
"archivedDate": date
}
ActivityLogFilter¶
{
"filter": string,
"messageNumber": string,
"id": integer,
"createdDate": date,
"archivedDate": date
}
ActivityType¶
{
"name": string,
"id": integer,
"createdDate": date,
"archivedDate": date
}
Address¶
{
"href": string,
"name": string,
"street": string,
"zipCode": string,
"city": string,
"contactPerson": string,
"phone": string,
"emails": [string...],
"type": AddressType,
"country": Country,
"id": integer,
"createdDate": date
}
AddressList¶
{
"href": string,
"total": integer,
"offset": integer,
"first": string,
"items": [Address...]
}
AddressType¶
{
"id": integer,
"name": string,
"createdDate": date
}
BackupServer¶
{
"href": string,
"id": integer,
"name": string
}
BillingCycle¶
{
"id": integer,
"name": string,
"createdDate": date,
"months": integer
}
BillingData¶
{
"href": string, // Optional
"invoiceDateStr": string,
"summary": [BillingDataSummary...], // Optional
"billingBusinessUnit": BusinessUnit,
"invoiceDate": date,
"invoices": [Invoice...],
"id": integer,
"createdDate": date
}
BillingDataList¶
{
"href": string,
"total": integer,
"offset": integer,
"first": string,
"items": [BillingData...]
}
BillingDataSummary¶
{
"currency": Currency,
"total": float
}
BusinessUnit¶
A business unit.
{
"href": string,
"parentBusinessUnit": BusinessUnit, // Optional
"timeZone": TimeZone, // Optional
"users": UserList | BusinessUnitURL, // Optional
"addresses": AddressList | BusinessUnitURL, // Optional
"businessUnits": BusinessUnitList | BusinessUnitURL, // Optional
"ancestors": BusinessUnitURL, // Optional
"note": string, // Optional
"contract": Contract, // Optional
"domainFilter": [string...],
"clientOptionSetFilter": [string...],
"name": string,
"supportResponsible": boolean,
"registrationNumber": string,
"invoiceDay": integer,
"billingStorageTypeId": integer,
"billingStorageType": integer,
"useScheduleBindings": boolean,
"consumers": [Consumer...],
"storageLimit": integer,
"transferLimit": integer,
"nodeLimit": integer,
"passwordExpirationDays": integer,
"requiredApproversOfDeleteRequest": integer,
"finalDeleteRequestApprover": boolean,
"usersCanApproveOwnRequests": boolean,
"reportRemotely": boolean,
"tags": [BusinessUnitTag...],
"id": integer,
"createdDate": date
}
BusinessUnitList¶
{
"href": string,
"total": integer,
"offset": integer, // Optional
"first": string, // Optional
"items": [BusinessUnit...]
}
BusinessUnitTag¶
{
"id": integer,
"businessUnitId": integer,
"text": string,
"inheritable": boolean,
"businessUnitCount": integer,
"consumerCount": integer
}
BusinessUnitURL¶
{
"$type": string // Optional
"href": string,
"total": integer,
"offset": integer, // Optional
"first": string, // Optional
"items": [BusinessUnit...]
}
ClientOptionSet¶
{
"href": string, // Optional
"name": string,
"description": string, // Optional
"id": integer,
"createdDate": date
}
ClientOptionSetList¶
{
"href": string,
"total": integer,
"offset": integer,
"first": string,
"items": [ClientOptionSet...]
}
Consumer¶
{
"dataSourceType": DataSourceType,
"dataSourceIsPotentialParent": boolean,
"dataSourceState": DataSourceState,
"latestRestorePoint": date,
"name": string,
"billingStartDate": date,
"businessUnit": BusinessUnit,
"comments": [Comment...],
"note": string, // Optional
"externalReference": string, // Optional
"node": Node,
"limitHighStorage": integer,
"allowNoActivity": boolean,
"tags": [BusinessUnitTag...],
"jobs": [Job...],
"id": integer,
"createdDate": date,
"billingEndDate": boolean,
"scheduledDeletionDate": boolean
}
ConsumerList¶
{
"href": string,
"total": integer,
"offset": integer,
"first": string,
"items": [Consumer...]
}
Contract¶
{
"href": string, // Optional
"billingStartDate": date,
"agreedLegalTerms": string,
"erpReference": string,
"discount": float,
"byCalendar": boolean,
"prepayConsumption": boolean,
"useCpuMultiplier": boolean,
"billingCycle": BillingCycle, // Optional
"paymentTerms": PaymentTerms, // Optional
"currency": Currency,
"subscriptions": [ContractSubscription...],
"referrals": [Referral...],
"id": integer,
"createdDate": date
}
ContractSubscription¶
{
"billingStartDate": date, // Optional
"name": string,
"currency": Currency,
"contractCount": integer,
"components": [SubscriptionComponent...], // Optional
"id": integer,
"createdDate": date
}
Country¶
{
"name": string,
"code": string,
"id": integer,
"createdDate": date
}
Currency¶
{
"name": string,
"code": string,
"symbol": string,
"displayName": string,
"longDisplayName": string,
"id": integer,
"createdDate": date
}
DataSourceState¶
{
"id": integer,
"name": string
}
DataSourceType¶
We only have one such resource in use:
{
"id": 1,
"name": "SP Backup node"
}
DedupStat¶
{
"spCreatedDate": date,
"storagePoolName": string,
"storagePool": StoragePool,
"nodeName": string,
"filespaceName": string,
"filespace": Filespace,
"physicalMegaBytes": float,
"protectedMegaBytes": float,
"type": string,
"id": integer,
"createdDate": date,
"archivedDate": date
}
Domain¶
{
"href": string, // Optional
"server": BackupServer, // Optional
"name": string,
"description": string,
"backupRetention": integer,
"archiveRetention": integer,
"missingInTsm": boolean,
"id": integer,
"createdDate": date
}
DomainList¶
{
"href": string,
"total": integer,
"offset": integer,
"first": string,
"items": [Domain...]
}
DurationUnit¶
{
"name": string,
"id": integer,
"createdDate": date,
"archivedDate": date
}
Event¶
{
"status": EventStatus,
"result": integer,
"reason": EventReason,
"scheduledStart": date,
"actualStart": date,
"completed": date,
"updatedToJob": boolean,
"node": Node,
"dataMover": Node,
"domain": Domain,
"schedule": Schedule,
"activities": [Activity...],
"importedFromNodeUpdate": boolean,
"id": integer,
"createdDate": date,
"archivedDate": date
}
EventReason¶
{
"name": string,
"id": integer,
"createdDate": date,
"archivedDate": date
}
EventStatus¶
{
"name": string,
"id": integer,
"createdDate": date,
"archivedDate": date
}
Filespace¶
{
"href": string,
"tsmFilespaceId": string,
"type": string,
"capacityMegaBytes": float,
"frontEndCapacityMegaBytes": integer,
"percentageUtilized": float,
"lastBackupStart": date,
"lastBackupEnd": date,
"occupancies": [FilespaceOccupancy...],
"dedupStats": [DedupStat...],
"activities": [Activity...],
"events": [Event...],
"node": Node,
"retentionSets": [RetentionSet...],
"name": string,
"dataSourceState": DataSourceState,
"id": integer,
"createdDate": date
}
FilespaceList¶
{
"href": string,
"total": integer,
"offset": integer,
"first": string,
"items": [Filespace...]
}
FilespaceOccupancy¶
{
"storagePool": StoragePool,
"files": integer,
"logicalMegaBytes": float,
"logicalMegaBytesCorrected": float,
"dedupStatNeeded": boolean,
"dedupStatUpToDate": boolean,
"physicalMegaBytes": float,
"reportingMegaBytes": float,
"storageMegaBytes": float,
"type": FilespaceOccupancyType,
"id": integer,
"createdDate": date
}
FilespaceOccupancyType¶
{
"id": integer,
"name": string,
"createdDate": date
}
IdentityProvider¶
{
"guid": string,
"name": string,
"inherited": boolean,
"public": boolean,
"entityId": integer,
"identityLocation": string,
"singleSignOnUrl": string,
"signInUrl": string,
"certificate": bytes,
"certificateName": string,
"certificateInfo": string,
"publicKey": string,
"signatureKeys": string,
"enableUserEmail": boolean,
"ignoreTotp": boolean,
"latestSamlAssertion": string,
"businessUnit": BusinessUnit,
"id": integer,
"createdDate": date,
"archivedDate": date
}
Invoice¶
{
"href": string,
"payingBusinessUnit": BusinessUnit,
"lines": [InvoiceLine...],
"id": integer,
"createdDate": date
}
InvoiceLine¶
{
"subscription": Subscription,
"product": Product,
"startDate": date,
"endDate": date,
"unitPrice": float,
"quantity": float,
"note": string,
"id": integer,
"createdDate": date
}
InvoiceList¶
{
"href": string,
"total": integer,
"offset": integer,
"first": string,
"items": [Invoice...]
}
InvoiceMethod¶
{
"name": string,
"invoicesRemoteData": boolean,
"isQuantifiable": boolean,
"replicationAware": boolean,
"isSystemOnly": boolean,
"usesSettlementMethod": boolean,
"type": InvoiceMethodType,
"id": integer,
"createdDate": date
}
InvoiceMethodType¶
{
"name": string,
"id": integer,
"createdDate": date
}
Job¶
{
"href": string,
"businessUnitId": integer,
"consumerId": integer,
"dataSourceId": integer,
"serverId": integer,
"tags": [Tag...],
"type": JobType, // Optional
"status": JobStatus, // Optional
"severity": JobSeverity,
"supportStatus": SupportStatus, // Optional
"dataSourceType": DataSourceType, // Optional
"dataSourceState": DataSourceState, // Optional
"scheduled": boolean,
"scheduledStart": date, // Optional
"actualStart": date, // Optional
"completed": date,
"examinedFiles": integer,
"affectedFiles": integer,
"failedFiles": integer,
"result": integer,
"transferredMegaBytes": float,
"transferredGigaBytes": float,
"serverType": ServerType, // Optional
"jobName": JobName, // Optional
"name": string,
"duration": timedelta,
"transferredMegaBytesPerSecond": float,
"id": integer,
"createdDate": date
}
The values
that JobSeverity can assume are defined here.
JobList¶
{
"href": string,
"total": integer,
"offset": integer,
"first": string,
"items": [Job...]
}
JobName¶
{
"name": string,
"id": integer,
"createdDate": date,
"archivedDate": date
}
JobStatus¶
{
"id": integer,
"name": string
}
JobType¶
{
"id": integer,
"name": string
}
Language¶
{
"name": string,
"iso639Code": string,
"id": integer,
"createdDate": date
}
Node¶
A backup node.
{
"href": string,
"cpuCount": integer,
"activatedDate": date, // Optional
"locked": boolean,
"operatingSystem": NodeOperatingSystem,
"type": NodeType,
"syncState": NodeSyncState,
"domain": Domain,
"clientOptionSet": ClientOptionSet,
"schedules": [Schedule...],
"nodeSchedules": [NodeSchedule...],
"filespaces": [Filespace...],
"events": [Event...],
"unscheduledActivities": [Activity...],
"ticket": string,
"retentionSets": [RetentionSet...],
"activityLogs": [ActivityLog...],
"proxyAgents": [Node...],
"proxyTargets": [Node...],
"nodeGroups": [NodeGroup...],
"tsmName": string,
"tsmNodeId": string, // Optional
"tsmPassword": string,
"contact": string,
"platform": NodePlatform,
"tsmClientVersion": NodeTsmClientVersion,
"osLevel": NodeOSLevel,
"tcpName": string,
"tcpAddress": string,
"macAddress": string, // Optional
"sessionSecurity": SessionSecurity,
"hypervisor": string, // Optional
"containsVmFilespaces": boolean,
"lastAccessTime": string, // Optional
"registeredTime": string, // Optional
"decommissioned": boolean,
"replicationState": boolean,
"replicationMode": integer,
"replicationServerPrimary": string, // Optional
"replicationServerSecondary": string, // Optional
"replicationServerSecondary2": string, // Optional
"activityLogFilters": [ActivityLogFilter...],
"remoteActivities": [...], // SAP-HANA specific, should always be empty
"name": string,
"dataSourceState": DataSourceState,
"dataSourceType": DataSourceType,
"consumer": Consumer,
"id": integer,
"createdDate": date
}
NodeGroup¶
{
"name": string,
"id": integer,
"createdDate": date,
"archivedDate": date
}
NodeList¶
{
"href": string,
"total": integer,
"offset": integer,
"first": string,
"items": [Node...]
}
NodeOSLevel¶
{
"name": string,
"id": integer,
"createdDate": date
}
NodeOperatingSystem¶
{
"href": string, // Optional
"name": string,
"shortName": string,
"supportedNodeTypes": [NodeType...], // Optional
"id": integer,
"createdDate": date
}
NodeOperatingSystemList¶
{
"href": string,
"total": integer,
"offset": integer,
"first": string,
"items": [NodeOperatingSystem...]
}
NodePlatform¶
{
"name": string,
"id": integer,
"createdDate": date
}
NodeReport¶
{
"name": string, // Consumption unit name
"statusReportId": integer,
"pending": boolean,
"dataSourceType": DataSourceType,
"nodeReportTypeId": integer,
"dataSource": string, // Node name
"dataSourceState": DataSourceState,
"deviceName": string,
"tsmName": string, // Node name
"status": ErrorStatus,
"tsmServerName": string,
"proxyNodeReports": [NodeReport...],
"errorsDeactivated": boolean,
"errorsDeactivatedNoActivity": boolean,
"megaBytes": float,
"backupMegaBytes": float,
"archiveMegaBytes": float,
"megaBytesDelta": float,
"megaBytesDeltaPercentage": float,
"backupMegaBytesDeltaPercentage": float,
"archiveMegaBytesDeltaPercentage": float,
"backupMegaBytesDelta": float,
"archiveMegaBytesDelta": float,
"megaBytesForCurrentBusinessUnit": float,
"backupMegaBytesForCurrentBusinessUnit": float,
"archiveMegaBytesForCurrentBusinessUnit": float,
"comments": [Comment...],
"transferredMegaBytes": float,
"transferredBackupMegaBytes": float,
"transferredRestoreMegaBytes": float,
"percentOfTotalStorageOfBusinessUnit": float,
"consumerId": integer,
"nodeId": integer,
"businessUnitId": integer,
"businessUnitName": string,
"reportDate": date,
"warnings": [NodeReportWarning...], // Optional
"id": integer,
"createdDate": date,
"href": string
}
ErrorStatus values are defined here.
NodeReportList¶
{
"href": string,
"total": integer,
"offset": integer,
"first": string,
"items": [NodeReport...]
}
NodeReportWarning¶
{
"type": NodeWarningType,
"status": ErrorStatus,
"days": integer,
"limit": float,
"nodeReportId": integer,
"id": integer,
"createdDate": date
}
ErrorStatus values are defined here.
NodeSchedule¶
{
"schedule": Schedule,
"node": Node,
"lastSuccessful": date,
"errorCount": integer,
"errorHandled": boolean,
"id": integer,
"createdDate": date,
"archivedDate": date
}
NodeSyncState¶
{
"name": string,
"id": integer,
"createdDate": date
}
NodeTsmClientVersion¶
{
"name": string,
"id": integer,
"createdDate": date
}
NodeType¶
{
"href": string, // Optional
"id": integer,
"name": string,
"shortName": string, // Optional
"createdDate": date
}
NodeTypeList¶
{
"href": string,
"total": integer,
"offset": integer,
"first": string,
"items": [NodeType...]
}
NodeWarningType¶
{
"name": string, // Optional
"usesLimit": boolean,
"id": integer,
"createdDate": date
}
NodeWarningTypeList¶
{
"href": string,
"total": integer,
"offset": integer,
"first": string,
"items": [NodeWarningType...]
}
PaymentTerms¶
{
"name": string,
"code": string,
"id": integer,
"createdDate": date
}
PeriodUnit¶
{
"name": string,
"id": integer,
"createdDate": date,
"archivedDate": date
}
Privilege¶
{
"name": string,
"operation": string,
"resource": string,
"id": integer,
"createdDate": date
}
Product¶
{
"name": string,
"inherited": boolean,
"inheritable": boolean,
"method": InvoiceMethod,
"replicationType": integer,
"inheritedProductCode": ProductCode, // Optional
"id": integer,
"createdDate": date
}
Find replication types here.
ProductCode¶
{
"name": string,
"id": integer,
"createdDate": date
}
QuantityCalculationOption¶
{
"id": integer,
"name": string
}
Referral¶
{
"contract": Contract,
"referrer": BusinessUnit,
"percentage": float,
"billingStartDate": date,
"billingEndDate": date,
"id": integer,
"createdDate": date,
"archivedDate": date
}
RetentionRule¶
{
"name": string,
"nodePaths": string,
"filespacePaths": string,
"retentionDays": integer,
"isActive": boolean,
"startTime": date,
"description": string,
"scheduleStyle": string,
"frequency": string,
"dayOfWeek": string,
"month": string,
"dayOfMonth": string,
"weekOfMonth": string,
"nextStart": date,
"previousStart": date,
"id": integer,
"createdDate": date,
"archivedDate": date
}
RetentionSet¶
{
"description": string,
"expiryDate": date,
"fileCount": integer,
"spId": integer,
"retentionPeriod": string,
"rule": RetentionRule,
"sizeMegaBytes": integer,
"state": RetentionSetState,
"pointInTime": date,
"lastUpdatedBy": string,
"lastUpdated": date,
"nodes": [Node...],
"filespaces": [Filespace...],
"id": integer,
"createdDate": date,
"archivedDate": date
}
RetentionSetState¶
{
"name": string,
"id": integer
}
Role¶
{
"inheritable": boolean,
"name": string,
"description": string,
"privileges": [Privilege...],
"id": integer,
"createdDate": date
}
Schedule¶
{
"name": string,
"description": string,
"domain": Domain,
"action": Action,
"objects": string,
"options": string,
"asNodeNames": [string...],
"startTime": date,
"periodUnit": PeriodUnit,
"duration": integer,
"durationUnit": DurationUnit,
"priority": integer,
"dayOfWeek": string,
"monday": boolean,
"tuesday": boolean,
"wednesday": boolean,
"thursday": boolean,
"friday": boolean,
"saturday": boolean,
"sunday": boolean,
"id": integer,
"createdDate": date,
"archivedDate": date
}
ServerType¶
There should only be one such resource:
{
"id": 1,
"name": "IBM Storage Protect"
}
SessionSecurity¶
{
"id": integer,
"name": string
}
SimpleBusinessUnit¶
{
"id": integer,
"parentId": integer, // Optional
"name": string,
"groupName": string,
"reportRemotely": boolean,
"businessUnits": [SimpleBusinessUnit...],
"tags": [BusinessUnitTag...],
"invoiceDay": integer
}
StoragePool¶
{
"name": string,
"type": string,
"totalStorageMegaBytes": float,
"freeStorageMegaBytes": float,
"maxProcesses": integer,
"id": integer,
"createdDate": date
}
SubscriptionComponent¶
{
"quantity": integer,
"price": float,
"isCapacity": boolean,
"includedBundles": integer,
"startDate": date,
"quantityCalculationOption": QuantityCalculationOption,
"product": Product,
"replicationType": integer,
"id": integer,
"createdDate": date
}
SupportStatus¶
{
"id": integer,
"name": string
}
TimeZone¶
{
"$type": string, // Optional
"href": string, // Optional
"actions": [APIEndpoint...], // Optional
"name": string,
"windowsId": string,
"offset": integer,
"id": integer,
"createdDate": date
}
TimeZoneList¶
{
"href": string,
"total": integer,
"offset": integer,
"first": string,
"items": [TimeZone...]
}
User¶
{
"href": string,
"actions": [Action...],
"name": string,
"phone": string,
"email": string,
"failedLoginAttempts": integer,
"usesTotp": boolean,
"locked": boolean,
"dateFormatInitialized": string,
"timeFormatInitialized": string,
"dateTimeFormat": string,
"dateAtTimeFormat": string,
"csvDelimiter": string,
"decimalMark": string,
"role": Role,
"lastLoginDate": date,
"lastPasswordChange": string,
"businessUnit": BusinessUnit,
"businessUnitId": integer,
"language": Language,
"receiveCommentNotifications": boolean,
"receiveDeleteRequestNotifications": boolean,
"useOwnReportErrorConfig": boolean,
"groupStatusReportByBusinessUnits": boolean,
"itemsPerPage": integer,
"excludeJobTags": boolean,
"userIdentities": [UserIdentity...],
"displayName": string,
"id": integer,
"createdDate": date
}
UserIdentity¶
{
"identifier": string,
"user": User,
"identityProvider": IdentityProvider,
"id": integer,
"createdDate": date,
"archivedDate": date
}
UserList¶
{
"href": string,
"total": integer,
"offset": integer,
"first": string,
"items": [User...]
}