{
"definitions": {
"Metadata": {
"properties": {
"CreatedBy": {
"type": "string"
},
"Created": {
"type": "string",
"format": "date-time"
},
"Modified": {
"type": "string",
"format": "date-time"
},
"ModifiedBy": {
"type": "string"
},
"Comment": {
"type": "string"
}
}
},
"Error": {
"properties": {
"Error": {
"type": "string"
}
}
},
"ValidationError": {
"properties": {
"Error": {
"type": "string"
}
}
},
"ValidationResult": {
"properties": {
"Messages": {
"type": "array",
"items": {
"$ref": "#/definitions/ValidationMessage"
}
},
"Status": {
"$ref": "#/definitions/ValidationStatusEnum"
}
}
},
"ValidationMessage": {
"properties": {
"Text": {
"type": "string"
},
"MessageType": {
"$ref": "#/definitions/ValidationMessageTypeEnum"
}
}
},
"ValidationMessageTypeEnum": {
"enum": [
"Message",
"Warning",
"Error"
]
},
"ValidationStatusEnum": {
"enum": [
"Success",
"Warning",
"Error"
]
},
"Count": {
"properties": {
"Count": {
"type": "integer"
}
}
},
"AccessControlEntry": {
"properties": {
"Role": {
"type": "string"
},
"Operations": {
"enum": [
"None",
"Create",
"Read",
"Update",
"Delete",
"ChangePermission",
"Modify",
"All"
]
}
}
},
"Resource": {
"properties": {
"MimeType": {
"type": "string"
},
"Name": {
"type": "string"
},
"Description": {
"type": "string"
}
}
},
"ScheduleType": {
"enum": [
"Unselected",
"Rendering",
"Printing"
]
},
"CountResult": {
"properties": {
"Count": {
"type": "integer"
}
}
},
"AddResult": {
"properties": {
"Id": {
"type": "string"
}
}
},
"Token": {
"type": "object",
"required": [
"token"
],
"properties": {
"Token": {
"type": "string"
}
}
},
"IdResponse": {
"required": [
"Id"
],
"properties": {
"Id": {
"type": "string"
}
}
},
"AccessControlEntries": {
"type": "array",
"items": {
"$ref": "#/definitions/AccessControlEntry"
}
},
"CountResponse": {
"properties": {
"Count": {
"type": "integer",
"format": "int32"
}
}
},
"JobResult": {
"properties": {
"Status": {
"type": "string",
"enum": [
"Queued",
"Executing",
"Accomplished",
"Cancelled",
"Failed"
]
},
"Error": {
"type": "string"
},
"Data": {
"type": "string"
}
},
"required": [
"Status"
]
},
"JobInProgress": {
"properties": {
"RequestId": {
"type": "string"
}
}
},
"Credentials": {
"required": [
"user",
"password"
],
"properties": {
"User": {
"type": "string"
},
"Password": {
"type": "string"
},
"Custom": {
"type": "string"
}
}
},
"RecoveryPasswordData": {
"required": [
"user",
"email"
],
"properties": {
"User": {
"type": "string"
},
"Email": {
"type": "string"
}
}
},
"ResetPasswordData": {
"required": [
"RecoveryKey",
"Password"
],
"properties": {
"Password": {
"type": "string"
},
"RecoveryKey": {
"type": "string"
}
}
},
"Agent": {
"properties": {
"Id": {
"type": "string"
},
"Host": {
"type": "string"
},
"Version": {
"type": "string"
},
"LicenseStatus": {
"enum": [
"licensed",
"trial",
"expired",
"invalid"
]
},
"ProductKey": {
"type": "string"
},
"ConnectionStatus": {
"enum": [
"connected",
"disconnected"
]
},
"Activated": {
"type": "boolean"
}
}
},
"AgentStatus": {
"properties": {
"Activated": {
"type": "boolean"
}
}
},
"ReportCachingInfo": {
"properties": {
"Enabled": {
"type": "boolean"
},
"Expiration": {
"type": "integer"
}
}
},
"AddAssemblyResult": {
"properties": {
"AssemblyResourceId": {
"type": "string"
},
"Reports": {
"type": "array",
"items": {
"$ref": "#/definitions/CodeBasedReport"
}
}
}
},
"CodeBasedReport": {
"type": "object",
"properties": {
"Name": {
"type": "string"
},
"ClassName": {
"type": "string"
},
"IsParametrized": {
"type": "boolean"
},
"ValidationResult": {
"type": "object",
"properties": {
"Errorts": {
"type": "array",
"items": {
"type": "string"
}
},
"Warnings": {
"type": "array",
"items": {
"type": "string"
}
},
"HasFatalErrors": {
"type": "boolean"
}
}
}
}
},
"CreateCodeBasedReportsRequest": {
"required": [
"AssemblyResourceId",
"ClassNames"
],
"properties": {
"AssemblyResourceId": {
"type": "string"
},
"ClassNames": {
"type": "array",
"items": {
"type": "string"
}
},
"Overwrite": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"DataSetGet": {
"properties": {
"Name": {
"type": "string"
},
"Description": {
"type": "string"
},
"DataSourceId": {
"type": "string"
},
"_id": {
"type": "string"
},
"_version": {
"type": "integer"
},
"$metadata": {
"$ref": "#/definitions/Metadata"
},
"$effectivePermissions": {
"type": "string"
}
},
"required": [
"Name",
"DataSourceId"
]
},
"DataSet": {
"properties": {
"Name": {
"type": "string"
},
"Description": {
"type": "string"
},
"DataSourceId": {
"type": "string"
},
"Fields": {
"type": "array",
"items": {
"$ref": "#/definitions/DataSetField"
}
},
"Query": {
"$ref": "#/definitions/DataSetQuery",
"description": "The property is only accessible to admin users"
}
},
"required": [
"Name",
"DataSourceId"
]
},
"DataSetField": {
"properties": {
"Name": {
"type": "string"
},
"DataField": {
"type": "string"
}
}
},
"DataSetQuery": {
"properties": {
"DataSourceName": {
"type": "string"
},
"CommandText": {
"type": "string"
}
}
},
"DataSourceGet": {
"properties": {
"Name": {
"type": "string"
},
"Description": {
"type": "string"
},
"ConnectionProperties": {
"$ref": "#/definitions/ConnectionProperties"
},
"Transaction": {
"type": "boolean"
},
"_id": {
"type": "string"
},
"$metadata": {
"$ref": "#/definitions/Metadata"
},
"$effectivePermissions": {
"type": "string"
}
},
"required": [
"Name",
"ConnectionProperties"
]
},
"DataSource": {
"properties": {
"Name": {
"type": "string"
},
"Description": {
"type": "string"
},
"ConnectionProperties": {
"$ref": "#/definitions/ConnectionProperties"
},
"Transaction": {
"type": "boolean"
}
},
"required": [
"Name",
"ConnectionProperties"
]
},
"TestConnectionRequest": {
"properties": {
"ConnectionProperties": {
"$ref": "#/definitions/ConnectionProperties"
}
}
},
"ConnectionProperties": {
"type": "object",
"properties": {
"DataProvider": {
"type": "string"
},
"ConnectString": {
"type": "string"
},
"IntegratedSecurity": {
"type": "boolean"
},
"Prompt": {
"type": "string"
}
},
"required": [
"DataProvider",
"ConnectString"
]
},
"TestConnectionResult": {
"type": "object",
"properties": {
"Success": {
"type": "boolean",
"description": "true if connection was successful on all connected agents."
},
"Error": {
"type": "string",
"description": "The error occured on each faulted agent."
}
}
},
"ImportData": {
"properties": {
"Content": {
"$ref": "#/definitions/DataContent"
}
}
},
"DataContent": {
"properties": {
"Models": {
"properties": {
"Id": {
"type": "string"
},
"Version": {
"type": "integer",
"format": "int32"
},
"Created": {
"type": "string"
},
"Modified": {
"type": "string"
},
"CreatedBy": {
"type": "string"
},
"ModifiedBy": {
"type": "string"
},
"Comment": {
"type": "string"
},
"Permissions": {
"type": "array",
"items": {
"$ref": "#/definitions/PermissionValue"
}
},
"Metadata": {
"type": "object"
},
"$file": {
"type": "string"
},
"$data": {
"type": "string"
},
"Value": {
"$ref": "#/definitions/Model"
}
}
},
"Reports": {
"properties": {
"Id": {
"type": "string"
},
"Version": {
"type": "integer",
"format": "int32"
},
"Created": {
"type": "string"
},
"Modified": {
"type": "string"
},
"CreatedBy": {
"type": "string"
},
"ModifiedBy": {
"type": "string"
},
"Comment": {
"type": "string"
},
"Permissions": {
"type": "array",
"items": {
"$ref": "#/definitions/PermissionValue"
}
},
"Metadata": {
"type": "object"
},
"$file": {
"type": "string"
},
"$data": {
"type": "string"
},
"Value": {
"$ref": "#/definitions/Report"
}
}
},
"Resources": {
"properties": {
"Id": {
"type": "string"
},
"Version": {
"type": "integer",
"format": "int32"
},
"Created": {
"type": "string"
},
"Modified": {
"type": "string"
},
"CreatedBy": {
"type": "string"
},
"ModifiedBy": {
"type": "string"
},
"Comment": {
"type": "string"
},
"Permissions": {
"type": "array",
"items": {
"$ref": "#/definitions/PermissionValue"
}
},
"Metadata": {
"type": "object"
},
"$file": {
"type": "string"
},
"$data": {
"type": "string"
},
"Value": {
"$ref": "#/definitions/Resource"
}
}
},
"SharedPolicyTemplates": {
"properties": {
"Id": {
"type": "string"
},
"Version": {
"type": "integer",
"format": "int32"
},
"Created": {
"type": "string"
},
"Modified": {
"type": "string"
},
"CreatedBy": {
"type": "string"
},
"ModifiedBy": {
"type": "string"
},
"Comment": {
"type": "string"
},
"Permissions": {
"type": "array",
"items": {
"$ref": "#/definitions/PermissionValue"
}
},
"Metadata": {
"type": "object"
},
"$file": {
"type": "string"
},
"$data": {
"type": "string"
},
"Value": {
"$ref": "#/definitions/ScheduleTemplate"
}
}
},
"Themes": {
"properties": {
"Id": {
"type": "string"
},
"Version": {
"type": "integer",
"format": "int32"
},
"Created": {
"type": "string"
},
"Modified": {
"type": "string"
},
"CreatedBy": {
"type": "string"
},
"ModifiedBy": {
"type": "string"
},
"Comment": {
"type": "string"
},
"Permissions": {
"type": "array",
"items": {
"$ref": "#/definitions/PermissionValue"
}
},
"Metadata": {
"type": "object"
},
"$file": {
"type": "string"
},
"$data": {
"type": "string"
},
"Value": {
"$ref": "#/definitions/Theme"
}
}
},
"ReportStyles": {
"properties": {
"Id": {
"type": "string"
},
"Version": {
"type": "integer",
"format": "int32"
},
"Created": {
"type": "string"
},
"Modified": {
"type": "string"
},
"CreatedBy": {
"type": "string"
},
"ModifiedBy": {
"type": "string"
},
"Comment": {
"type": "string"
},
"Permissions": {
"type": "array",
"items": {
"$ref": "#/definitions/PermissionValue"
}
},
"Metadata": {
"type": "object"
},
"$file": {
"type": "string"
},
"$data": {
"type": "string"
},
"Value": {
"$ref": "#/definitions/ReportStyle"
}
}
},
"$roles": {
"$ref": "#/definitions/DataRole"
}
}
},
"DataRole": {
"properties": {
"Id": {
"type": "integer",
"format": "int32"
},
"Value": {
"Name": {
"type": "string"
},
"Type": {
"type": {
"enum": [
"Role",
"UserRole",
"Group"
]
}
},
"Permissions": {
"type": "array",
"items": {
"$ref": "#/definitions/PermissionValue"
}
}
}
}
},
"PermissionValue": {
"properties": {
"Object": {
"type": "string"
},
"Ops": {
"enum": [
"None",
"Create",
"Read",
"Update",
"Delete",
"ChangePermission",
"Modify",
"All"
]
}
}
},
"ReportGet": {
"properties": {
"_id": {
"type": "string"
},
"_version": {
"type": "integer"
},
"Name": {
"type": "string"
},
"Description": {
"type": "string"
},
"Type": {
"type": "string"
},
"ModelId": {
"type": "string"
},
"ModelVersion": {
"type": "integer",
"format": "int32"
},
"IsParametrized": {
"type": "string"
},
"IsSubreport": {
"type": "boolean"
},
"IsTemplate": {
"type": "boolean"
},
"ThemeId": {
"type": "string"
},
"Tags": {
"type": "array",
"items": {
"type": "string"
}
},
"SubreportIds": {
"type": "array",
"items": {
"type": "string"
}
},
"AssemblyResourceId": {
"type": "string"
},
"ClassName": {
"type": "string"
},
"StyleSheetId": {
"type": "string"
},
"DataSetIds": {
"type": "array",
"items": {
"type": "string"
}
},
"IsMaster": {
"type": "boolean"
},
"MasterReportId": {
"type": "string"
},
"IsCpl": {
"type": "boolean"
},
"HasEmbeddedDataSource": {
"type": "boolean"
},
"ImageIds": {
"type": "array",
"items": {
"type": "string"
}
},
"DataSourceIds": {
"type": "array",
"items": {
"type": "string"
}
},
"Orientation": {
"enum": [
"Portrait",
"Landscape"
]
},
"Resources": {
"type": "array",
"items": {
"$ref": "#/definitions/DependentResource"
}
},
"$metadata": {
"$ref": "#/definitions/Metadata"
},
"$effectivePermissions": {
"type": "string"
}
}
},
"DependentResource": {
"properties": {
"Id": {
"type": "string"
},
"Type": {
"type": "string"
}
}
},
"Report": {
"properties": {
"Name": {
"type": "string"
},
"Description": {
"type": "string"
},
"Type": {
"type": "string"
},
"ModelId": {
"type": "string"
},
"ModelVersion": {
"type": "integer",
"format": "int32"
},
"IsParametrized": {
"type": "string"
},
"IsSubreport": {
"type": "boolean"
},
"IsTemplate": {
"type": "boolean"
},
"ThemeId": {
"type": "string"
},
"Tags": {
"type": "array",
"items": {
"type": "string"
}
},
"SubreportIds": {
"type": "array",
"items": {
"type": "string"
}
},
"AssemblyResourceId": {
"type": "string"
},
"ClassName": {
"type": "string"
},
"StyleSheetId": {
"type": "string"
},
"DataSetIds": {
"type": "array",
"items": {
"type": "string"
}
},
"IsMaster": {
"type": "boolean"
},
"MasterReportId": {
"type": "string"
},
"IsCpl": {
"type": "boolean"
},
"ImageIds": {
"type": "array",
"items": {
"type": "string"
}
},
"Orientation": {
"enum": [
"Portrait",
"Landscape"
]
}
}
},
"ReportUpdateInfo": {
"properties": {
"Name": {
"type": "string"
},
"Description": {
"type": "string"
},
"Type": {
"type": "string"
},
"ModelId": {
"type": "string"
},
"ModelVersion": {
"type": "integer",
"format": "int32"
},
"IsParametrized": {
"type": "string"
},
"ThemeId": {
"type": "string"
},
"SubreportIds": {
"type": "array",
"items": {
"type": "string"
}
},
"AssemblyResourceId": {
"type": "string"
},
"ClassName": {
"type": "string"
}
}
},
"ModelGet": {
"properties": {
"Id": {
"type": "string"
},
"Name": {
"type": "string"
},
"Description": {
"type": "string"
},
"_id": {
"type": "string"
},
"_version": {
"type": "integer"
},
"$metadata": {
"$ref": "#/definitions/Metadata"
},
"$effectivePermissions": {
"type": "string"
}
}
},
"Model": {
"properties": {
"Id": {
"type": "string"
},
"Name": {
"type": "string"
},
"Description": {
"type": "string"
}
}
},
"ThemeGet": {
"properties": {
"Dark1": {
"type": "string"
},
"Light1": {
"type": "string"
},
"Dark2": {
"type": "string"
},
"Light2": {
"type": "string"
},
"Accent1": {
"type": "string"
},
"Accent2": {
"type": "string"
},
"Accent3": {
"type": "string"
},
"Accent4": {
"type": "string"
},
"Accent5": {
"type": "string"
},
"Accent6": {
"type": "string"
},
"MajorFontFamily": {
"type": "string"
},
"MajorFontSize": {
"type": "string"
},
"MajorFontStyle": {
"type": "string"
},
"MajorFontWeight": {
"type": "string"
},
"MinorFontFamily": {
"type": "string"
},
"MinorFontSize": {
"type": "string"
},
"MinorFontStyle": {
"type": "string"
},
"MinorFontWeight": {
"type": "string"
},
"IsDefault": {
"type": "boolean"
},
"Name": {
"type": "string"
},
"Description": {
"type": "string"
},
"_id": {
"type": "string"
},
"_version": {
"type": "integer"
},
"$metadata": {
"$ref": "#/definitions/Metadata"
},
"$effectivePermissions": {
"type": "string"
}
}
},
"Theme": {
"properties": {
"Dark1": {
"type": "string"
},
"Light1": {
"type": "string"
},
"Dark2": {
"type": "string"
},
"Light2": {
"type": "string"
},
"Accent1": {
"type": "string"
},
"Accent2": {
"type": "string"
},
"Accent3": {
"type": "string"
},
"Accent4": {
"type": "string"
},
"Accent5": {
"type": "string"
},
"Accent6": {
"type": "string"
},
"MajorFontFamily": {
"type": "string"
},
"MajorFontSize": {
"type": "string"
},
"MajorFontStyle": {
"type": "string"
},
"MajorFontWeight": {
"type": "string"
},
"MinorFontFamily": {
"type": "string"
},
"MinorFontSize": {
"type": "string"
},
"MinorFontStyle": {
"type": "string"
},
"MinorFontWeight": {
"type": "string"
},
"IsDefault": {
"type": "boolean"
},
"Name": {
"type": "string"
},
"Description": {
"type": "string"
}
}
},
"Tag": {
"properties": {
"Id": {
"type": "string"
},
"Name": {
"type": "string"
},
"Description": {
"type": "string"
},
"ChildTags": {
"type": "array",
"items": {
"type": "string"
}
},
"IsSystem": {
"type": "boolean"
},
"IsFavorites": {
"type": "boolean"
},
"ReportsCount": {
"type": "integer"
}
}
},
"ReportStyleGet": {
"properties": {
"Name": {
"type": "string"
},
"Description": {
"type": "string"
},
"_id": {
"type": "string"
},
"_version": {
"type": "integer"
},
"TargetTypes": {
"type": "array",
"items": {
"type": "string"
}
},
"$metadata": {
"$ref": "#/definitions/Metadata"
},
"$effectivePermissions": {
"type": "string"
}
}
},
"ReportStyle": {
"properties": {
"Name": {
"type": "string"
},
"Description": {
"type": "string"
}
}
},
"CloneModelOptions": {
"properties": {
"Name": {
"type": "string"
},
"Description": {
"type": "string"
},
"Comment": {
"type": "string"
}
}
},
"ExportSettings": {
"properties": {
"Include": {
"type": "array",
"items": {
"type": "string"
}
},
"Exclude": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"Feedback": {
"required": [
"message"
],
"properties": {
"Message": {
"type": "string"
},
"Mail": {
"type": "string"
}
}
},
"FeedbackResponse": {
"properties": {
"Message": {
"type": "string"
}
}
},
"Image": {
"properties": {
"Name": {
"type": "string"
},
"Description": {
"type": "string"
}
}
},
"ImageInfo": {
"properties": {
"Name": {
"type": "string"
},
"Description": {
"type": "string"
},
"MimeType": {
"type": "string"
},
"Thumbnail": {
"type": "string",
"description": "base64 thumbnail"
},
"_id": {
"type": "string"
},
"_version": {
"type": "integer"
},
"$metadata": {
"$ref": "#/definitions/Metadata"
},
"$effectivePermissions": {
"type": "string"
}
}
},
"LicenseInfo": {
"properties": {
"SerialKey": {
"type": "string"
},
"Package": {
"type": "integer"
},
"Status": {
"type": "integer"
},
"DaysLeft": {
"type": "integer"
}
}
},
"NewLicense": {
"required": [
"serialKey",
"activationKey",
"licenseKey"
],
"properties": {
"SerialKey": {
"type": "string"
},
"ActivationKey": {
"type": "string"
},
"LicenseKey": {
"type": "string"
}
}
},
"ReportEMailParameters": {
"required": [
"distribution",
"documentformat"
],
"properties": {
"documentid": {
"type": "string",
"description": "Necessary for document mailing"
},
"distribution": {
"$ref": "#/definitions/EMailDistribution"
},
"reportparameters": {
"type": "array",
"items": {
"$ref": "#/definitions/ReportParameter"
}
},
"documentformat": {
"type": "string"
}
}
},
"EMailDistribution": {
"required": [
"To",
"Subject"
],
"properties": {
"To": {
"type": "array",
"items": {
"type": "string"
}
},
"Subject": {
"type": "string"
},
"MessageBody": {
"type": "string"
},
"AsLink": {
"type": "boolean"
},
"AsAttachment": {
"type": "boolean"
},
"BaseUri": {
"type": "string"
},
"AttachmentTemplate": {
"type": "string"
}
}
},
"ModelDraft": {
"properties": {
"Id": {
"type": "string"
},
"User": {
"type": "string"
},
"Name": {
"type": "string"
},
"Description": {
"type": "string"
},
"_id": {
"type": "string"
},
"_version": {
"type": "integer"
},
"$metadata": {
"$ref": "#/definitions/Metadata"
},
"$effectivePermissions": {
"type": "string"
}
}
},
"ModelPropertiesGet": {
"properties": {
"CommandTimeout": {
"type": "integer",
"description": "Present if only has been set"
},
"ConnectionString": {
"type": "string"
}
},
"required": [
"ConnectionString"
]
},
"ModelPropertiesPut": {
"properties": {
"CommandTimeout": {
"type": "integer"
},
"ConnectionString": {
"type": "string"
}
}
},
"Entity": {
"properties": {
"Id": {
"type": "string"
},
"Name": {
"type": "string"
},
"Description": {
"type": "string"
},
"Binding": {
"type": "string"
},
"CollectionName": {
"type": "string"
},
"Query": {
"type": "string"
},
"Hidden": {
"type": "boolean"
},
"CollapseInRelations": {
"type": "boolean"
},
"SecurityFilter": {
"$ref": "#/definitions/SecurityFilter"
},
"DefaultAggregateAttributes": {
"type": "array",
"items": {
"type": "string"
}
},
"DefaultDetailAttributes": {
"type": "array",
"items": {
"type": "string"
}
},
"IdentifyingAttributes": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"NewEntity": {
"properties": {
"Name": {
"type": "string"
},
"Description": {
"type": "string"
},
"BindingType": {
"enum": [
"Table",
"View",
"Query",
"StoredProcedure"
]
},
"Binding": {
"type": "string",
"description": "Required for Table, View or StoredProcedure binding type"
},
"Query": {
"type": "string",
"description": "Required for Query binding type"
},
"Parameters": {
"description": "Required for StoredProcedure binding type",
"type": "array",
"items": {
"$ref": "#/definitions/EntityParameter"
}
}
},
"required": [
"Name",
"BindingType"
]
},
"SecurityFilter": {
"properties": {
"Id": {
"type": "string"
},
"FilterName": {
"type": "string"
},
"ExistingFilterPath": {
"type": "string"
},
"AttributePath": {
"type": "string"
},
"Expression": {
"type": "string"
},
"Operation": {
"enum": [
"EqualTo",
"NotEqualTo"
]
}
},
"required": [
"Id",
"FilterName"
]
},
"EntityParameter": {
"properties": {
"Name": {
"type": "string"
},
"Value": {
"$ref": "#/definitions/Value",
"description": "Either Value or PromptDescription should be specified"
},
"PromptDescription": {
"$ref": "#/definitions/EntityParameterPrompt",
"description": "Either Value or PromptDescription should be specified"
}
},
"required": [
"Name"
]
},
"EntityParameterPrompt": {
"properties": {
"Prompt": {
"type": "string"
},
"DefaultValue": {
"$ref": "#/definitions/EntityParameterValue"
},
"ValidValuesDomain": {
"enum": [
"AnyValue",
"FromTheDatabase",
"FromAList"
]
},
"ValidValues": {
"type": "array",
"items": {
"$ref": "#/definitions/EntityParameterValue"
},
"description": "Either ValidValues or AttributeReference should be specified"
},
"AttributeReference": {
"$ref": "#/definitions/EntityAtributeReference",
"description": "Either ValidValues or AttributeReference should be specified"
},
"AllowNull": {
"type": "boolean"
}
},
"required": [
"DefaultValue"
]
},
"EntityParameterValue": {
"properties": {
"Value": {
"$ref": "#/definitions/Value"
},
"Label": {
"type": "string"
}
},
"required": [
"Value",
"Label"
]
},
"Value": {
"properties": {
"StringValue": {
"type": "string"
},
"IsSpecial": {
"type": "boolean"
}
},
"required": [
"StringValue"
]
},
"EntityAtributeReference": {
"properties": {
"Path": {
"type": "string"
}
},
"required": [
"Path"
]
},
"UpdateEntity": {
"properties": {
"Name": {
"type": "string"
},
"Description": {
"type": "string"
},
"CollectionName": {
"type": "string"
},
"Hidden": {
"type": "boolean"
},
"CollapseInRelations": {
"type": "boolean"
},
"SecurityFilter": {
"$ref": "#/definitions/UpdateSecurityFilter"
},
"DefaultAggregateAttributes": {
"type": "array",
"items": {
"type": "string"
},
"description": "Can be empty, but not null"
},
"DefaultDetailAttributes": {
"type": "array",
"items": {
"type": "string"
},
"description": "Can be empty, but not null"
},
"IdentifyingAttributes": {
"type": "array",
"items": {
"type": "string"
}
},
"Parameters": {
"description": "Required if entity is a StoredProcedureTable",
"type": "array",
"items": {
"$ref": "#/definitions/EntityParameter"
}
}
},
"required": [
"Name",
"DefaultAggregateAttributes",
"DefaultDetailAttributes",
"IdentifyingAttributes"
]
},
"UpdateSecurityFilter": {
"properties": {
"FilterName": {
"type": "string"
},
"ExistingFilterPath": {
"type": "string",
"description": "Required if AttributePath is not specified"
},
"AttributePath": {
"type": "string",
"description": "Required if ExistingFilterPath is not specified"
},
"Expression": {
"type": "string",
"description": "Required if ExistingFilterPath is not specified"
},
"Operation": {
"enum": [
"EqualTo",
"NotEqualTo"
]
}
},
"required": [
"FilterName"
]
},
"Attribute": {
"properties": {
"Id": {
"type": "string"
},
"Name": {
"type": "string"
},
"Description": {
"type": "string"
},
"Binding": {
"type": "string"
},
"DataType": {
"enum": [
"All",
"Binary",
"Boolean",
"DateTime",
"Decimal",
"EntityKey",
"Float",
"Integer",
"Null",
"String"
]
},
"Format": {
"type": "string"
},
"DiscourageGrouping": {
"type": "boolean"
},
"Hidden": {
"type": "boolean"
},
"IsAggregate": {
"type": "boolean"
},
"Nullable": {
"type": "boolean"
},
"SupportsBlank": {
"type": "boolean"
},
"SupportsNull": {
"type": "boolean"
},
"ValueSelection": {
"enum": [
"Dropdown",
"List",
"None"
]
},
"VariationOf": {
"type": "string"
},
"Expression": {
"type": "string"
},
"Variations": {
"type": "array",
"items": {
"$ref": "#/definitions/AttributeVariation"
}
}
}
},
"AttributeVariation": {
"properties": {
"Id": {
"type": "string"
},
"Name": {
"type": "string"
},
"Binding": {
"type": "string"
},
"DataType": {
"enum": [
"All",
"Binary",
"Boolean",
"DateTime",
"Decimal",
"EntityKey",
"Float",
"Integer",
"Null",
"String"
]
},
"Format": {
"format": "string"
},
"DiscourageGrouping": {
"type": "boolean"
},
"Hidden": {
"type": "boolean"
},
"IsAggregate": {
"type": "boolean"
},
"Nullable": {
"type": "boolean"
},
"SupportsBlank": {
"type": "boolean"
},
"SupportsNull": {
"type": "boolean"
},
"ValueSelection": {
"enum": [
"Dropdown",
"List",
"None"
]
},
"VariationOf": {
"type": "string"
},
"Expression": {
"type": "string"
}
}
},
"NewAttribute": {
"properties": {
"Name": {
"type": "string"
},
"Description": {
"type": "string"
},
"AttributeType": {
"enum": [
"DatabaseColumn",
"RelatedEntity",
"Expression"
]
},
"Expression": {
"type": "string"
}
}
},
"UpdateAttribute": {
"properties": {
"Name": {
"type": "string"
},
"Description": {
"type": "string"
},
"Format": {
"type": "string"
},
"DiscourageGrouping": {
"type": "boolean"
},
"Hidden": {
"type": "boolean"
},
"IsAggregate": {
"type": "boolean"
},
"Nullable": {
"type": "boolean"
},
"SupportsBlank": {
"type": "boolean",
"description": "Required if attribute DataType is String"
},
"SupportsNull": {
"type": "boolean"
},
"ValueSelection": {
"enum": [
"Dropdown",
"List",
"None"
]
}
},
"required": [
"Name",
"DiscourageGrouping",
"Hidden",
"IsAggregate",
"Nullable",
"SupportsNull",
"ValueSelection"
]
},
"Relation": {
"properties": {
"Id": {
"type": "string"
},
"Name": {
"type": "string",
"description": "Optional for both existing and new relations."
},
"Description": {
"type": "string",
"description": "Optional for both existing and new relations."
},
"Binding": {
"type": "string",
"description": "Required for existing relations; otherwise optional."
},
"Cardinality": {
"enum": [
"Many",
"One",
"OptionalMany",
"OptionalOne"
]
},
"IsLogical": {
"type": "boolean"
},
"Hidden": {
"type": "boolean"
},
"Recursive": {
"type": "boolean"
},
"IncludeSelf": {
"type": "boolean"
},
"HiddenFields": {
"type": "array",
"items": {
"type": "string"
}
},
"SourceEntityId": {
"type": "string"
},
"SourceColumns": {
"type": "array",
"description": "Required when creating a new relation; otherwise, optional.",
"items": {
"type": "string"
}
},
"TargetEntityId": {
"type": "string",
"description": "Required for both existing and new relations."
},
"TargetColumns": {
"type": "array",
"description": "Required when creating a new relation; otherwise, optional.",
"items": {
"type": "string"
}
}
}
},
"NewRelation": {
"properties": {
"Name": {
"type": "string",
"description": "Optional for both existing and new relations."
},
"Description": {
"type": "string",
"description": "Optional for both existing and new relations."
},
"Binding": {
"type": "string",
"description": "Required for existing relations; otherwise optional."
},
"SourceColumns": {
"type": "array",
"description": "Required when creating a new relation; otherwise, optional.",
"items": {
"type": "string"
}
},
"TargetEntityId": {
"type": "string",
"description": "Required for both existing and new relations."
},
"TargetColumns": {
"type": "array",
"description": "Required when creating a new relation; otherwise, optional.",
"items": {
"type": "string"
}
}
}
},
"RelationUpdate": {
"properties": {
"Name": {
"type": "string"
},
"Description": {
"type": "string"
},
"Cardinality": {
"enum": [
"Many",
"One",
"OptionalMany",
"OptionalOne"
]
},
"Hidden": {
"type": "boolean"
},
"Recursive": {
"type": "boolean"
},
"IncludeSelf": {
"type": "boolean"
},
"HiddenFields": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"Name",
"Cardinality",
"Hidden",
"Recursive",
"IncludeSelf",
"HiddenFields"
]
},
"NewGenerateModelTask": {
"properties": {
"Name": {
"type": "string",
"required": true
},
"ConnectionString": {
"type": "string",
"required": true
},
"Units": {
"type": "array",
"required": true,
"items": {
"type": "string"
}
},
"FindRelations": {
"type": "boolean"
},
"Comment": {
"type": "string"
},
"Timeout": {
"type": "integer"
}
}
},
"ReportParameters": {
"type": "array",
"items": {
"$ref": "#/definitions/ReportParameter"
}
},
"ReportParameter": {
"properties": {
"Name": {
"type": "string"
},
"Domain": {
"enum": [
"SpecifiedValues",
"SelectAll",
"AcceptingDynamicValues"
]
},
"Values": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"ReportParameterInfo": {
"properties": {
"Name": {
"type": "string"
},
"Prompt": {
"type": "string"
},
"MultiValue": {
"type": "boolean"
},
"Nullable": {
"type": "boolean"
},
"SelectAllEnabled": {
"type": "boolean"
},
"State": {
"type": "string"
},
"DefinesValidValues": {
"type": "boolean"
},
"DataType": {
"type": "string"
},
"AvailableValues": {
"type": "array",
"items": {
"type": "object",
"properties": {
"Value": {
"type": "string"
},
"Label": {
"type": "string"
}
}
}
},
"DateOnly": {
"type": "boolean"
},
"Values": {
"type": "array",
"items": {
"type": "object",
"properties": {
"Value": {
"type": "string"
},
"IsSpecial": {
"type": "boolean"
}
}
}
},
"AllowBlank": {
"type": "boolean"
},
"MultiLine": {
"type": "boolean"
},
"Hidden": {
"type": "boolean"
},
"DependentParameters": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"PrinterGet": {
"properties": {
"Name": {
"type": "string"
},
"Description": {
"type": "string"
},
"ModelName": {
"type": "string"
},
"AgentIds": {
"type": "array",
"items": {
"type": "string"
}
},
"Options": {
"$ref": "#/definitions/PrinterOptions"
},
"_id": {
"type": "string"
},
"_version": {
"type": "integer"
},
"$metadata": {
"$ref": "#/definitions/Metadata"
},
"$effectivePermissions": {
"type": "string"
}
},
"required": [
"Name",
"AgentIds"
]
},
"Printer": {
"properties": {
"Name": {
"type": "string"
},
"Description": {
"type": "string"
},
"ModelName": {
"type": "string"
},
"AgentIds": {
"type": "array",
"items": {
"type": "string"
}
},
"Options": {
"$ref": "#/definitions/PrinterOptions"
}
}
},
"PrinterOptions": {
"properties": {
"CanDuplex": {
"type": "boolean"
},
"LandscapeAngle": {
"type": "integer"
},
"MaximumCopies": {
"type": "integer"
},
"SupportsColor": {
"type": "boolean"
},
"PaperSizes": {
"type": "array",
"items": {
"type": "string"
}
},
"IsDefault": {
"type": "boolean"
},
"PaperSources": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"PrintingOptions": {
"properties": {
"PrinterId": {
"type": "string"
},
"TwoSided": {
"enum": [
"OneSided",
"LongEdge",
"ShortEdge"
]
},
"Landscape": {
"type": "boolean"
},
"Color": {
"type": "boolean"
},
"Copies": {
"type": "integer"
},
"PaperName": {
"type": "string"
},
"PaperSourceName": {
"type": "string"
}
},
"required": [
"PrinterId"
]
},
"PrinterOptionsTaskResult": {
"properties": {
"AgentId": {
"type": "string"
},
"AgentHost": {
"type": "string"
},
"Error": {
"type": "string"
},
"Options": {
"$ref": "#/definitions/PrinterOptions"
}
},
"required": [
"AgentId",
"AgentHost"
]
},
"AgentIds": {
"properties": {
"agentIds": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"PrinterOptionsRequest": {
"properties": {
"Printer": {
"type": "string"
},
"AgentIds": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"Printer",
"AgentIds"
]
},
"PrintTaskOptions": {
"properties": {
"AgentId": {
"type": "string"
},
"PrintingOptions": {
"$ref": "#/definitions/PrintingOptions"
},
"Parameters": {
"type": "array",
"items": {
"$ref": "#/definitions/ReportParameter"
}
}
},
"required": [
"PrintingOptions"
]
},
"ReportRenderingSettings": {
"required": [
"ExtensionName"
],
"properties": {
"ReportParameters": {
"type": "array",
"items": {
"$ref": "#/definitions/ReportParameter"
}
},
"ExtensionName": {
"type": "string"
},
"ExtensionSettings": {
"type": "object"
},
"Timeout": {
"type": "integer"
},
"UseCache": {
"type": "boolean"
}
}
},
"ReportExportSettings": {
"required": [
"ExtensionName",
"DocumentId"
],
"properties": {
"DocumentId": {
"type": "string",
"description": "ID of the document in cache"
},
"InteractiveActions": {
"type": "array",
"items": {
"type": "string"
}
},
"ExtensionName": {
"type": "string"
},
"ExtensionSettings": {
"type": "object"
},
"Timeout": {
"type": "integer"
},
"UseCache": {
"type": "boolean"
}
}
},
"ReportSnapshotSettings": {
"properties": {
"ReportParameters": {
"type": "array",
"items": {
"$ref": "#/definitions/ReportParameter"
}
},
"Timeout": {
"type": "integer"
},
"UseCache": {
"type": "boolean"
}
}
},
"ScheduleTemplateInfo": {
"properties": {
"_id": {
"type": "string"
},
"_version": {
"type": "integer"
},
"Name": {
"type": "string"
},
"Description": {
"type": "string"
},
"$metadata": {
"$ref": "#/definitions/Metadata"
},
"$effectivePermissions": {
"type": "string"
}
}
},
"ScheduleTemplateDataInfo": {
"properties": {
"_id": {
"type": "string"
},
"Name": {
"type": "string"
},
"Description": {
"type": "string"
},
"Distribution": {
"type": "object"
},
"DocumentFormat": {
"type": "string"
},
"$metadata": {
"$ref": "#/definitions/Metadata"
},
"CachePolicy": {
"$ref": "#/definitions/CachePolicy"
},
"RecurrenceSet": {
"$ref": "#/definitions/RecurrenceSet"
},
"PrinterOptions": {
"$ref": "#/definitions/PrintingOptions"
},
"ScheduleType": {
"$ref": "#/definitions/ScheduleType"
}
}
},
"ScheduleTemplate": {
"properties": {
"Name": {
"type": "string"
},
"Description": {
"type": "string"
}
}
},
"CachePolicy": {
"properties": {
"Priority": {
"type": {
"enum": [
"Normal",
"Low",
"High",
"Permanent"
]
}
},
"AbsoluteExpirationAppendage": {
"type": "string"
},
"SlidingExpiration": {
"type": "string"
}
}
},
"RecurrenceSet": {
"properties": {
"StartDate": {
"type": "string"
},
"RecurrenceDates": {
"type": "array",
"items": {
"type": "string"
}
},
"ExceptionDates": {
"type": "array",
"items": {
"type": "string"
}
},
"RecurrenceRules": {
"type": "array",
"items": {
"$ref": "#/definitions/RecurrenceRule"
}
},
"ExceptionRules": {
"type": "array",
"items": {
"$ref": "#/definitions/RecurrenceRule"
}
}
}
},
"RecurrenceRule": {
"properties": {
"Frequency": {
"type": {
"enum": [
"Minutely",
"Hourly",
"Daily",
"Weekly",
"Monthly",
"Yearly"
],
"description": "The unit of time to use in setting up recurrence frequency for the schedule item."
}
},
"Termination": {
"$ref": "#/definitions/Termination"
},
"Interval": {
"type": "integer",
"description": "The number of units of time to use in setting up recurrence frequency for the schedule item.",
"format": "int32"
},
"StartDayOfWeek": {
"type": {
"enum": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
"Sunday"
],
"description": "The day of the week on which to start running the schedule."
}
},
"BySecondList": {
"type": "array",
"items": {
"type": "integer",
"format": "int32"
}
},
"ByMinuteList": {
"type": "array",
"items": {
"type": "integer",
"format": "int32"
}
},
"ByHourList": {
"type": "array",
"items": {
"type": "integer",
"format": "int32"
}
},
"ByMonthDayList": {
"type": "array",
"items": {
"type": "integer",
"format": "int32"
}
},
"ByYearDayList": {
"type": "array",
"items": {
"type": "integer",
"format": "int32"
}
},
"ByWeekList": {
"type": "array",
"items": {
"type": "integer",
"format": "int32"
}
},
"ByMonthList": {
"type": "array",
"items": {
"type": "integer",
"format": "int32"
}
},
"ByOccurrenceList": {
"type": "array",
"items": {
"type": "integer",
"format": "int32"
}
},
"ByDayList": {
"type": "array",
"items": {
"$ref": "#/definitions/Day"
}
}
}
},
"Termination": {
"properties": {
"Value": {
"type": "string"
}
}
},
"Day": {
"properties": {
"Ordinal": {
"type": "integer",
"format": "int32"
},
"DayOfWeek": {
"type": {
"enum": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
"Sunday"
]
}
}
}
},
"ReportSchedule": {
"properties": {
"Id": {
"type": "string"
},
"TemplateId": {
"type": "string"
},
"CreatedBy": {
"type": "string"
},
"CreationDate": {
"type": "string",
"format": "date-time"
},
"ModifiedBy": {
"type": "string"
},
"ModifiedDate": {
"type": "string",
"format": "date-time"
},
"Distribution": {
"type": "string"
},
"Enabled": {
"type": "boolean"
},
"ScheduleType": {
"$ref": "#/definitions/ScheduleType"
},
"Name": {
"type": "string"
},
"ReportId": {
"type": "string"
},
"ReportParameters": {
"type": "array",
"items": {
"$ref": "#/definitions/ReportParameter"
}
},
"DocumentFormat": {
"type": "string"
},
"PrinterOptions": {
"$ref": "#/definitions/PrintingOptions"
}
}
},
"ScheduleHistoryItem": {
"properties": {
"ScheduleId": {
"type": "string"
},
"ScheduleName": {
"type": "string"
},
"ScheduledTime": {
"type": "string",
"format": "date-time"
},
"IsExpired": {
"type": "boolean"
},
"ScheduleType": {
"$ref": "#/definitions/ScheduleType"
},
"Status": {
"type": "string"
},
"ErrorMessage": {
"type": "string"
},
"ReportId": {
"type": "string"
},
"ReportParameters": {
"type": "array",
"items": {
"$ref": "#/definitions/ReportParameter"
}
},
"DocumentFormat": {
"type": "string"
},
"DocumentLink": {
"type": "string"
},
"JobRequestId": {
"type": "string"
},
"SnapshotId": {
"type": "string"
}
}
},
"JobRequestId": {
"properties": {
"RequestId": {
"type": "string"
}
}
},
"SecurityProvider": {
"properties": {
"Id": {
"type": "string"
},
"Name": {
"type": "string"
}
},
"required": [
"Id"
]
},
"SecurityProviderTestData": {
"properties": {
"Username": {
"type": "string"
},
"Password": {
"type": "string"
},
"Settings": {
"$ref": "#/definitions/StringKeyValuesMap"
}
},
"required": [
"Username",
"Password"
]
},
"StringKeyValuesMap": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"SiteSettings": {
"properties": {
"NotificationLinkUrl": {
"type": "string",
"description": "The value must be a well-formed absolute URL or an empty string."
},
"DisableEveryoneRole": {
"type": "boolean"
},
"PreviewMode": {
"enum": [
"html5",
"flash",
"jsviewer"
]
},
"HideEmptyCategories": {
"type": "boolean"
},
"HiddenAdminPages": {
"type": "array",
"items": {
"$ref": "#/definitions/AdminSitePagesEnum"
}
},
"DisableEUD": {
"type": "boolean"
},
"DisableWebDesigner": {
"type": "boolean"
},
"DisableEmptyReportsScheduling": {
"type": "boolean"
}
}
},
"AdminSitePagesEnum": {
"enum": [
"DataSources",
"DataSets",
"Categories",
"Models",
"Reports",
"Schedules",
"Stylesheets",
"Styles",
"Themes"
]
},
"SmtpSettings": {
"properties": {
"Host": {
"type": "string"
},
"Port": {
"type": "integer"
},
"Username": {
"type": "string"
},
"Password": {
"type": "string"
},
"SenderEmail": {
"type": "string"
},
"SenderName": {
"type": "string"
},
"UseSsl": {
"type": "boolean"
}
}
},
"AuditingSettings": {
"properties": {
"Enabled": {
"type": "boolean"
},
"DaysToStoreData": {
"type": "integer"
},
"Provider": {
"type": "string"
},
"ConnectionString": {
"type": "string"
}
}
},
"SettingsTestResult": {
"properties": {
"Success": {
"type": "boolean"
},
"Error": {
"type": "string"
}
}
},
"UISettings": {
"properties": {
"Enabled": {
"type": "boolean"
},
"PortalSiteSettings": {
"$ref": "#/definitions/UiSiteSetting"
},
"AdminSiteSettings": {
"$ref": "#/definitions/UiSiteSetting"
},
"CommonSiteSettings": {
"$ref": "#/definitions/CommonSiteSettings"
}
}
},
"UiSiteSetting": {
"properties": {
"Title": {
"type": "string"
},
"Theme": {
"type": "string"
},
"HeaderBackgroundColor": {
"type": "string"
},
"HeaderHighlightedBackgroundColor": {
"type": "string"
},
"HeaderHoverBackgroundColor": {
"type": "string"
},
"HeaderTextColor": {
"type": "string"
},
"SidebarBackgroundColor": {
"type": "string"
},
"SidebarTextColor": {
"type": "string"
},
"SidebarActiveItemBackgroundColor": {
"type": "string"
},
"SidebarActiveItemTextColor": {
"type": "string"
}
}
},
"CommonSiteSettings": {
"properties": {
"ShowLogo": {
"type": "boolean"
},
"ShowSendFeedback": {
"type": "boolean"
},
"ShowHelp": {
"type": "boolean"
},
"HelpUrl": {
"type": "string"
},
"LoginLogo": {
"type": "string",
"description": "The id of previously uploaded image to use as login page logo"
},
"HeaderLogo": {
"type": "string",
"description": "The id of previously uploaded image to use as site header logo"
},
"MobileLogo": {
"type": "string",
"description": "The id of previously uploaded image to use as mobile site logo"
},
"Favicon": {
"type": "string",
"description": "The id of previously uploaded image to use as site favicon"
}
}
},
"Diagnostics": {
"properties": {
"Categories": {
"type": "array",
"items": {
"$ref": "#/definitions/DiagnosticsCategory"
}
}
}
},
"DiagnosticsCategory": {
"properties": {
"Name": {
"type": "string"
},
"Status": {
"enum": [
"Information",
"Healthy",
"Warning",
"Error"
]
},
"Tests": {
"type": "array",
"items": {
"$ref": "#/definitions/DiagnosticsTest"
}
}
}
},
"DiagnosticsTest": {
"properties": {
"Message": {
"$ref": "#/definitions/DiagnosticsMessage"
},
"Status": {
"enum": [
"Information",
"Healthy",
"Warning",
"Error"
]
},
"Details": {
"type": "array",
"items": {
"$ref": "#/definitions/DiagnosticsMessage"
}
},
"ExceptionDetails": {
"type": "string"
},
"HelpCode": {
"type": "string"
}
}
},
"DiagnosticsMessage": {
"properties": {
"MessageKey": {
"type": "string"
},
"Data": {
"type": "array",
"items": {
"type": "object"
}
}
}
},
"ScheduleHistoryAccess": {
"properties": {
"ScheduleHistoryAccess": {
"enum": [
"Public",
"Role",
"Private"
]
}
}
},
"StyleSheetGet": {
"properties": {
"Name": {
"type": "string"
},
"Description": {
"type": "string"
},
"_id": {
"type": "string"
},
"_version": {
"type": "integer"
},
"$metadata": {
"$ref": "#/definitions/Metadata"
},
"$effectivePermissions": {
"type": "string"
}
},
"required": [
"Name"
]
},
"StyleSheet": {
"properties": {
"Name": {
"type": "string"
},
"Description": {
"type": "string"
}
},
"required": [
"Name"
]
},
"NewTag": {
"properties": {
"Name": {
"type": "string"
},
"Description": {
"type": "string"
},
"Parent": {
"type": "string"
},
"IsSystem": {
"type": "boolean"
}
},
"required": [
"Name"
]
},
"OverwriteBehavior": {
"properties": {
"overwrite": {
"enum": [
"no",
"replace",
"new"
]
}
}
},
"NewPassword": {
"properties": {
"Password": {
"type": "string"
}
}
},
"User": {
"properties": {
"Id": {
"type": "string"
},
"Name": {
"type": "string"
},
"Email": {
"type": "string"
},
"Description": {
"type": "string"
},
"Enabled": {
"type": "boolean"
},
"IsLockedOut": {
"type": "boolean"
},
"Roles": {
"type": "array",
"items": {
"type": "string"
}
},
"$metadata": {
"$ref": "#/definitions/Metadata"
}
}
},
"NewUser": {
"properties": {
"Name": {
"type": "string"
},
"Password": {
"type": "string"
},
"Email": {
"type": "string"
},
"Description": {
"type": "string"
},
"Roles": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"Name",
"Password",
"Email"
]
},
"UpdateUser": {
"properties": {
"Email": {
"type": "string"
},
"Description": {
"type": "string"
},
"Enabled": {
"type": "boolean"
},
"IsLockedOut": {
"type": "boolean"
},
"Roles": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"Role": {
"properties": {
"Id": {
"type": "string"
},
"Name": {
"type": "string"
},
"Permissions": {
"$ref": "#/definitions/RolePermissions"
},
"RootTagId": {
"type": "string"
}
}
},
"NewRole": {
"properties": {
"Name": {
"type": "string"
},
"Permissions": {
"$ref": "#/definitions/RolePermissions"
},
"RootTagId": {
"type": "string"
}
},
"required": [
"Name"
]
},
"UpdateRole": {
"properties": {
"Permissions": {
"$ref": "#/definitions/RolePermissions"
},
"RootTagId": {
"type": "string"
}
}
},
"RolePermissions": {
"type": "array",
"items": {
"type": "string",
"enum": [
"assignSystemTags",
"uploadReports",
"scheduleReports"
]
}
},
"CurrentUserInfo": {
"required": [
"Id",
"Name",
"Email",
"Roles",
"Capabilities"
],
"properties": {
"Id": {
"type": "string"
},
"Name": {
"type": "string"
},
"Email": {
"type": "string"
},
"Roles": {
"type": "array",
"items": {
"type": "object",
"properties": {
"Id": {
"type": "string"
},
"Name": {
"type": "string"
}
}
}
},
"Capabilities": {
"type": "object",
"properties": {
"CreateReportSchedule": {
"type": "boolean"
},
"CreateTags": {
"type": "boolean"
},
"AssignSystemTags": {
"type": "boolean"
}
}
}
}
},
"BulkRegistrationResult": {
"properties": {
"LineNumber": {
"type": "integer"
},
"UserName": {
"type": "string"
},
"Status": {
"enum": [
"Created",
"Failed",
"FailedAsDuplicate"
]
},
"CreatedDate": {
"type": "string",
"format": "date-time"
},
"Messages": {
"type": "array",
"items": {
"type": "object",
"properties": {
"Text": {
"type": "string"
},
"MessageType": {
"enum": [
"Message",
"Warning",
"Error"
]
}
}
}
}
}
}
},
"parameters": {
"RequiredIdInPathParam": {
"name": "id",
"in": "path",
"description": "ID of the document.",
"required": true,
"type": "string"
},
"RequiredAclItemsInBody": {
"name": "items",
"in": "body",
"description": "ACL items",
"required": true,
"schema": {
"$ref": "#/definitions/AccessControlEntries"
}
}
},
"swagger": "2.0",
"info": {
"version": "0.0.1",
"title": "ActiveReports Server API",
"description": "This document describes the public ActiveReports Server REST API v2.\n\n###Versions\nBy default all requests use the latest version of API. If you're building an app that needs a stable API, make sure that it requests a specific version:\n* We encourage you to explicitly set this version via the request Accept header: application/api.v2\n* Also you can specify a version in request path like so: api/v2/reports\n\n###Authentication\nAll interfaces except `/accounts` require an AuthToken header with a valid authentication token.\n\n###Common status codes\n* 400 Bad request - Either a required parameter is missing, the parameter does not contain the required properties, or the JSON object cannot be parsed.\n* 401 Unauthorized - No auth token was passed or the provided auth token is invalid.\n* 403 Forbidden - The current user is not authorized to perform this operation.\n* 500 Server error - Unexpected server exception.\n"
},
"schemes": [
"http"
],
"host": "localhost",
"paths": {
"/api/accounts/login": {
"post": {
"tags": [
"accounts"
],
"summary": "Log into the server with the specified credentials.",
"parameters": [
{
"name": "json",
"in": "body",
"description": "The JSON credentials used to log into the server.",
"required": true,
"schema": {
"$ref": "#/definitions/Credentials"
}
}
],
"responses": {
"200": {
"description": "Login successful.",
"schema": {
"$ref": "#/definitions/Token"
}
},
"400": {
"description": "Username or password was not provided.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"401": {
"description": "Invalid username or password.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/accounts/logout": {
"post": {
"tags": [
"accounts"
],
"summary": "Log out from the server.",
"parameters": [
{
"name": "token",
"in": "body",
"description": "User token.",
"required": true,
"schema": {
"$ref": "#/definitions/Token"
}
}
],
"responses": {
"204": {
"description": "Successfully logged out."
},
"400": {
"description": "The token was not provided.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/accounts/check": {
"get": {
"tags": [
"accounts"
],
"summary": "Check the authentication token.",
"parameters": [
{
"name": "AuthToken",
"in": "header",
"description": "The authentication token.",
"type": "string",
"required": true
}
],
"responses": {
"200": {
"description": "The result of the authentication token check.",
"schema": {
"type": "object",
"properties": {
"Valid": {
"type": "boolean"
}
}
}
},
"400": {
"description": "A token was not provided.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/accounts/passwordrecovery": {
"post": {
"tags": [
"accounts"
],
"summary": "Sends an email to the user with a password recovery key.",
"parameters": [
{
"name": "json",
"in": "body",
"description": "User name and email for password recovery.",
"required": true,
"schema": {
"$ref": "#/definitions/RecoveryPasswordData"
}
}
],
"responses": {
"204": {
"description": "Email was sent."
},
"400": {
"description": "Incorrect username or email.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/accounts/passwordrecovery/changepassword": {
"post": {
"tags": [
"accounts"
],
"summary": "Changes the user password using the password recovery key from the email.",
"parameters": [
{
"name": "json",
"in": "body",
"description": "The parameters for the password change.",
"schema": {
"$ref": "#/definitions/ResetPasswordData"
}
}
],
"responses": {
"204": {
"description": "The password has been changed."
},
"400": {
"description": "Incorrect email, recovery key, or password.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/agents": {
"get": {
"tags": [
"agents"
],
"summary": "Get a list of the agents connected to the server.",
"responses": {
"200": {
"description": "An array of data containing the agents connected to the server.",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/Agent"
}
}
}
}
}
},
"/api/agents/{id}": {
"get": {
"tags": [
"agents"
],
"summary": "Get the properties for the specified agent.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The agent ID.",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Properties associated with the agent.",
"schema": {
"$ref": "#/definitions/Agent"
}
},
"404": {
"description": "An agent with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/agents/{id}/activated": {
"get": {
"tags": [
"agents"
],
"summary": "Get the agent's activation status.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The agent ID.",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "The agent's status.",
"schema": {
"properties": {
"Activated": {
"type": "boolean"
}
}
}
},
"404": {
"description": "An agent with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"put": {
"tags": [
"agents"
],
"summary": "Activate or deactivate the agent.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The agent ID.",
"required": true,
"type": "string"
},
{
"name": "activated",
"in": "body",
"description": "Specifies whether the agent is activated or deactivated.",
"required": true,
"schema": {
"$ref": "#/definitions/AgentStatus"
}
}
],
"responses": {
"204": {
"description": "The agent was successfully activated or deactivated."
},
"404": {
"description": "An agent with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/reports/{id}/caching": {
"get": {
"tags": [
"reports",
"caching"
],
"summary": "Get the report caching settings.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The report ID.",
"type": "string",
"required": true
}
],
"responses": {
"200": {
"description": "The report caching settings.",
"schema": {
"$ref": "#/definitions/ReportCachingInfo"
}
},
"404": {
"description": "A report with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"put": {
"tags": [
"reports",
"caching"
],
"summary": "Update the caching settings of the specified report.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The report ID.",
"type": "string",
"required": true
},
{
"name": "json",
"in": "body",
"description": "The report caching settings.",
"schema": {
"$ref": "#/definitions/ReportCachingInfo"
},
"required": true
}
],
"responses": {
"204": {
"description": "The caching settings were updated."
},
"404": {
"description": "A report with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/reports/assemblies": {
"post": {
"tags": [
"codebasedreports"
],
"summary": "Uploads an assembly containing code-based reports.",
"parameters": [
{
"name": "content",
"in": "body",
"description": "The raw .NET assembly.",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "The results of the assembly verification and an array of code-based reports found inside the assembly.",
"schema": {
"$ref": "#/definitions/AddAssemblyResult"
}
},
"422": {
"description": "An assembly validation error.",
"schema": {
"$ref": "#/definitions/ValidationError"
}
}
}
}
},
"/api/reports/codebased": {
"post": {
"tags": [
"codebasedreports"
],
"summary": "Creates code-based reports retrieved from an uploaded assembly.",
"parameters": [
{
"name": "codeBasedReports",
"in": "body",
"description": "The ID of the uploaded assembly containing code-based reports.",
"required": true,
"schema": {
"$ref": "#/definitions/CreateCodeBasedReportsRequest"
}
}
],
"responses": {
"200": {
"description": "The assembly uploaded successfully.",
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
},
"422": {
"description": "One of the specified reports failed validation.",
"schema": {
"$ref": "#/definitions/ValidationError"
}
}
}
}
},
"/api/datasets": {
"get": {
"tags": [
"datasets"
],
"summary": "Get a list of available data sets.",
"parameters": [
{
"name": "fields",
"in": "query",
"type": "boolean",
"description": "Specifies whether to include dataset fields.",
"required": false
},
{
"name": "query",
"in": "query",
"type": "boolean",
"description": "Specifies whether to include dataset query. Only allowed to admin users.",
"required": false
}
],
"responses": {
"200": {
"description": "The list of data sets.",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/DataSetGet"
}
}
}
}
}
},
"/api/datasets/count": {
"get": {
"tags": [
"datasets"
],
"summary": "Get the number of available data sets.",
"responses": {
"200": {
"description": "The number of available data sets.",
"schema": {
"$ref": "#/definitions/CountResponse"
}
}
}
}
},
"/api/datasets/{id}": {
"get": {
"tags": [
"datasets"
],
"summary": "Get the data set with the specified ID.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The data set ID.",
"required": true,
"type": "string"
},
{
"name": "fields",
"in": "query",
"type": "boolean",
"description": "Specifies whether to include dataset fields.",
"required": false
},
{
"name": "query",
"in": "query",
"type": "boolean",
"description": "Specifies whether to include dataset query. Only allowed to admin users.",
"required": false
}
],
"responses": {
"200": {
"description": "The data set with the specified ID.",
"schema": {
"$ref": "#/definitions/DataSetGet"
}
},
"404": {
"description": "A data set with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"put": {
"tags": [
"datasets"
],
"summary": "Update the data set with the specified ID.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The data set ID.",
"required": true,
"type": "string"
},
{
"name": "dataSet",
"in": "body",
"required": true,
"description": "Updated the data set.",
"schema": {
"$ref": "#/definitions/DataSet"
}
}
],
"responses": {
"204": {
"description": "The data set was updated successfully."
},
"400": {
"description": "Invalid data set name.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "A data set with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"patch": {
"tags": [
"datasets"
],
"summary": "Patch the data set with the specified ID.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The data set ID.",
"required": true,
"type": "string"
},
{
"name": "dataSet",
"in": "body",
"required": true,
"description": "The data set properties to update.",
"schema": {
"$ref": "#/definitions/DataSet"
}
}
],
"responses": {
"204": {
"description": "The data set was patched successfully."
},
"400": {
"description": "Invalid data set name.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "A data set with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"delete": {
"tags": [
"datasets"
],
"summary": "Delete one or more data sets with the specified IDs.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "A comma-separated string containing data set IDs.",
"required": true,
"type": "string"
}
],
"responses": {
"204": {
"description": "The data sets were removed."
},
"404": {
"description": "Some of the specified data sets were not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/datasources": {
"get": {
"tags": [
"datasources"
],
"summary": "Get a list of available data sources.",
"responses": {
"200": {
"description": "The list of data sources.",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/DataSourceGet"
}
}
}
}
}
},
"/api/datasources/count": {
"get": {
"tags": [
"datasources"
],
"summary": "Get the number of available data sources.",
"responses": {
"200": {
"description": "The number of available data sources.",
"schema": {
"$ref": "#/definitions/CountResponse"
}
}
}
}
},
"/api/datasources/{id}": {
"get": {
"tags": [
"datasources"
],
"summary": "Get the data source with the specified ID.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The data source ID.",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "The data source with the specified ID.",
"schema": {
"$ref": "#/definitions/DataSourceGet"
}
},
"404": {
"description": "A data source with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"put": {
"tags": [
"datasources"
],
"summary": "Update the data source with the specified ID.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The data source ID.",
"required": true,
"type": "string"
},
{
"name": "dataSource",
"in": "body",
"required": true,
"description": "Updated the data source.",
"schema": {
"$ref": "#/definitions/DataSource"
}
}
],
"responses": {
"204": {
"description": "The data source was updated successfully."
},
"400": {
"description": "Invalid data source name.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "A data source with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"patch": {
"tags": [
"datasources"
],
"summary": "Patch the data source with the specified ID.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The data source ID.",
"required": true,
"type": "string"
},
{
"name": "dataSource",
"in": "body",
"required": true,
"description": "The data source properties to update.",
"schema": {
"$ref": "#/definitions/DataSource"
}
}
],
"responses": {
"204": {
"description": "The data source was patched successfully."
},
"400": {
"description": "Invalid data source name.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "A data source with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"delete": {
"tags": [
"datasources"
],
"summary": "Delete one or more data sources with the specified IDs.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "A comma-separated string containing data source IDs.",
"required": true,
"type": "string"
}
],
"responses": {
"204": {
"description": "The data sources were removed."
},
"404": {
"description": "Some of the specified data sources were not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/datasources/{id}/jobs/connect": {
"post": {
"tags": [
"datasources"
],
"summary": "Starts a job that tries to connect to the datasource with specified ID.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The id of datasource.",
"required": true,
"type": "string"
},
{
"name": "timeout",
"in": "query",
"description": "The timeout to wait for job completion.",
"type": "number"
}
],
"responses": {
"200": {
"description": "The test connection was completed.",
"schema": {
"$ref": "#/definitions/TestConnectionResult"
}
},
"202": {
"description": "The test connection is in progress.",
"schema": {
"$ref": "#/definitions/JobInProgress"
}
},
"404": {
"description": "The datasource with specified id was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/datasources/jobs/connect": {
"post": {
"tags": [
"datasources"
],
"summary": "Starts a job that tries to connect to the datasource specified in request body.",
"parameters": [
{
"name": "dataSource",
"in": "body",
"required": true,
"description": "The datasource to connect to.",
"schema": {
"$ref": "#/definitions/DataSource"
}
},
{
"name": "timeout",
"in": "query",
"description": "The timeout to wait for job completion.",
"type": "number"
}
],
"responses": {
"200": {
"description": "The test connection was completed.",
"schema": {
"$ref": "#/definitions/TestConnectionResult"
}
},
"202": {
"description": "The test connection is in progress.",
"schema": {
"$ref": "#/definitions/JobInProgress"
}
}
}
}
},
"/api/datasources/jobs/connect/{requestId}": {
"get": {
"tags": [
"datasources"
],
"summary": "Check result of previously started test connection job.",
"parameters": [
{
"name": "requestId",
"in": "path",
"description": "The request id of test connection job.",
"required": true,
"type": "string"
},
{
"name": "timeout",
"in": "query",
"description": "The timeout to wait for job completion.",
"type": "number"
}
],
"responses": {
"200": {
"description": "The test connection was completed.",
"schema": {
"$ref": "#/definitions/TestConnectionResult"
}
},
"202": {
"description": "The test connection is in progress.",
"schema": {
"$ref": "#/definitions/JobInProgress"
}
},
"404": {
"description": "The job with specified id was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"delete": {
"tags": [
"datasources"
],
"summary": "Cancels the test connection job.",
"parameters": [
{
"name": "requestId",
"in": "path",
"description": "The request id of test connection job.",
"required": true,
"type": "string"
}
],
"responses": {
"204": {
"description": "The job was cancelled."
}
}
}
},
"/api/import": {
"post": {
"tags": [
"import export"
],
"summary": "Import documents.",
"parameters": [
{
"name": "importData",
"in": "body",
"description": "The data to import.",
"required": true,
"schema": {
"$ref": "#/definitions/ImportData"
}
}
],
"responses": {
"204": {
"description": "The import was successful."
},
"400": {
"description": "Invalid document name.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/export": {
"post": {
"tags": [
"import export"
],
"summary": "Export documents.",
"parameters": [
{
"name": "exportSettings",
"in": "body",
"description": "The settings to use in exporting the documents.",
"required": true,
"schema": {
"$ref": "#/definitions/ExportSettings"
}
}
],
"responses": {
"200": {
"description": "The export was successful.",
"schema": {
"$ref": "#/definitions/ImportData"
}
}
}
}
},
"/api/reports/{id}/versions": {
"get": {
"tags": [
"reports",
"versions"
],
"summary": "Get all versions of the document.",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
}
],
"responses": {
"200": {
"description": "A collection of versions of the document with the specified ID.",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/ReportGet"
}
}
},
"404": {
"description": "A report with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/models/{id}/versions": {
"get": {
"tags": [
"models",
"versions"
],
"summary": "Get all versions of the model.",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
}
],
"responses": {
"200": {
"description": "A collection of versions of the model with the specified ID.",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/ModelGet"
}
}
},
"404": {
"description": "A model with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/reports/{id}/permissions": {
"get": {
"tags": [
"reports",
"permissions"
],
"summary": "Get access control list (ACL).",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
}
],
"responses": {
"200": {
"description": "Returns a set of permissions.",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/AccessControlEntry"
}
}
},
"404": {
"description": "Resource not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"put": {
"tags": [
"reports",
"permissions"
],
"summary": "Replaces the access control list (ACL).",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
},
{
"$ref": "#/parameters/RequiredAclItemsInBody"
}
],
"responses": {
"204": {
"description": "The ACL was replaced."
},
"400": {
"description": "The ACL items are incorrect.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "Resource not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"patch": {
"tags": [
"reports",
"permissions"
],
"summary": "Update the ACL only for the specified roles.",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
},
{
"$ref": "#/parameters/RequiredAclItemsInBody"
}
],
"responses": {
"204": {
"description": "The ACL is updated."
},
"400": {
"description": "The ACL items are incorrect.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "Resource not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/models/{id}/permissions": {
"get": {
"tags": [
"models",
"permissions"
],
"summary": "Gets the access control list (ACL).",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
}
],
"responses": {
"200": {
"description": "Returns the permissions set.",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/AccessControlEntry"
}
}
},
"404": {
"description": "Resource not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"put": {
"tags": [
"models",
"permissions"
],
"summary": "Replaces the access control list (ACL).",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
},
{
"$ref": "#/parameters/RequiredAclItemsInBody"
}
],
"responses": {
"204": {
"description": "The ACL was replaced."
},
"400": {
"description": "The ACL items are incorrect.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "Resource not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"patch": {
"tags": [
"models",
"permissions"
],
"summary": "Update the ACL only for the specified roles.",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
},
{
"$ref": "#/parameters/RequiredAclItemsInBody"
}
],
"responses": {
"204": {
"description": "The ACL was updated."
},
"400": {
"description": "The ACL items are incorrect.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "Resource not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/models/{id}/versions/{versionId}/revert": {
"post": {
"tags": [
"models",
"versions"
],
"summary": "Revert the model to the specified version.",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
},
{
"name": "versionId",
"in": "path",
"description": "The version to which to revert.",
"required": true,
"type": "integer"
},
{
"name": "comment",
"in": "query",
"description": "The comment for the new model version.",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Returns the model's new version number.",
"schema": {
"type": "object",
"properties": {
"Version": {
"type": "integer"
}
}
}
},
"404": {
"description": "Resource not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/models/{id}/reports/update": {
"post": {
"tags": [
"models",
"versions",
"reports"
],
"summary": "Updates reports associated with the model to the latest model version. This keeps the old model version for reports which are invalid with the new version.",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
},
{
"name": "comment",
"in": "query",
"description": "A comment to display in the report history for the new report version.",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Returns a list of reports broken by the model update.",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/ResourceMainInfo"
}
}
},
"404": {
"description": "Resource not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/themes/{id}/permissions": {
"get": {
"tags": [
"themes",
"permissions"
],
"summary": "Gets the access control list (ACL).",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
}
],
"responses": {
"200": {
"description": "Returns a set of permissions.",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/AccessControlEntry"
}
}
},
"404": {
"description": "Resource not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"put": {
"tags": [
"themes",
"permissions"
],
"summary": "Replaces the access control list (ACL).",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
},
{
"$ref": "#/parameters/RequiredAclItemsInBody"
}
],
"responses": {
"204": {
"description": "Replaces the ACL."
},
"400": {
"description": "The ACL items are incorrect.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "Resource not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"patch": {
"tags": [
"themes",
"permissions"
],
"summary": "Update the ACL only for the specified roles.",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
},
{
"$ref": "#/parameters/RequiredAclItemsInBody"
}
],
"responses": {
"204": {
"description": "The ACL is updated."
},
"400": {
"description": "The ACL items are incorrect.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "Resource not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/reportstyles/{id}/permissions": {
"get": {
"tags": [
"reportstyles",
"permissions"
],
"summary": "Get the access control list (ACL).",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
}
],
"responses": {
"200": {
"description": "Returns the permissions set.",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/AccessControlEntry"
}
}
},
"404": {
"description": "Resource not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"put": {
"tags": [
"reportstyles",
"permissions"
],
"summary": "Replaces the access control list (ACL).",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
},
{
"$ref": "#/parameters/RequiredAclItemsInBody"
}
],
"responses": {
"204": {
"description": "The ACL was replaced."
},
"400": {
"description": "The ACL items are incorrect.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "Resource not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"patch": {
"tags": [
"reportstyles",
"permissions"
],
"summary": "Update the ACL only for the specified roles.",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
},
{
"$ref": "#/parameters/RequiredAclItemsInBody"
}
],
"responses": {
"204": {
"description": "The ACL is updated."
},
"400": {
"description": "The ACL items are incorrect.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "Resource not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/datasources/{id}/permissions": {
"get": {
"tags": [
"datasources",
"permissions"
],
"summary": "Get the access control list (ACL).",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
}
],
"responses": {
"200": {
"description": "Returns the permissions set.",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/AccessControlEntry"
}
}
},
"404": {
"description": "Resource not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"put": {
"tags": [
"datasources",
"permissions"
],
"summary": "Replaces the access control list (ACL).",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
},
{
"$ref": "#/parameters/RequiredAclItemsInBody"
}
],
"responses": {
"204": {
"description": "The ACL was replaced."
},
"400": {
"description": "The ACL items are incorrect.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "Resource not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"patch": {
"tags": [
"datasources",
"permissions"
],
"summary": "Update the ACL only for the specified roles.",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
},
{
"$ref": "#/parameters/RequiredAclItemsInBody"
}
],
"responses": {
"204": {
"description": "The ACL is updated."
},
"400": {
"description": "The ACL items are incorrect.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "Resource not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/datasets/{id}/permissions": {
"get": {
"tags": [
"datasets",
"permissions"
],
"summary": "Get the access control list (ACL).",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
}
],
"responses": {
"200": {
"description": "Returns the permissions set.",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/AccessControlEntry"
}
}
},
"404": {
"description": "Resource not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"put": {
"tags": [
"datasets",
"permissions"
],
"summary": "Replaces the access control list (ACL).",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
},
{
"$ref": "#/parameters/RequiredAclItemsInBody"
}
],
"responses": {
"204": {
"description": "The ACL was replaced."
},
"400": {
"description": "The ACL items are incorrect.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "Resource not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"patch": {
"tags": [
"datasets",
"permissions"
],
"summary": "Update the ACL only for the specified roles.",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
},
{
"$ref": "#/parameters/RequiredAclItemsInBody"
}
],
"responses": {
"204": {
"description": "The ACL is updated."
},
"400": {
"description": "The ACL items are incorrect.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "Resource not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/reports": {
"get": {
"tags": [
"reports"
],
"summary": "Returns a list of available reports.",
"parameters": [
{
"name": "domain",
"in": "query",
"description": "The additional parameter allows specifying the requested collection. 0 - reports (reports that are not marked as \"Template\", default value), 1 - templates (reports that are marked as \"Template\"), 2 - all.",
"required": false,
"type": "integer"
}
],
"responses": {
"200": {
"description": "An array of reports.",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/ReportGet"
}
}
}
}
}
},
"/api/reports/count": {
"get": {
"tags": [
"reports"
],
"summary": "Returns the number of reports in the collection.",
"parameters": [
{
"name": "domain",
"in": "query",
"description": "The additional parameter allows specifying the requested collection. 0 - reports (reports that are not marked as \"Template\", default value), 1 - templates (reports that are marked as \"Template\"), 2 - all.",
"required": false,
"type": "integer"
}
],
"responses": {
"200": {
"description": "The number of reports.",
"schema": {
"$ref": "#/definitions/Count"
}
}
}
}
},
"/api/themes/count": {
"get": {
"tags": [
"themes"
],
"summary": "Returns the number of themes in the collection.",
"responses": {
"200": {
"description": "The number of themes.",
"schema": {
"$ref": "#/definitions/Count"
}
}
}
}
},
"/api/themes": {
"get": {
"tags": [
"themes"
],
"summary": "Returns a list of available themes.",
"responses": {
"200": {
"description": "An array of themes.",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/ThemeGet"
}
}
}
}
}
},
"/api/models/count": {
"get": {
"tags": [
"models"
],
"summary": "Returns the number of models in the collection.",
"responses": {
"200": {
"description": "The number of models.",
"schema": {
"$ref": "#/definitions/CountResponse"
}
}
}
}
},
"/api/reportstyles": {
"get": {
"tags": [
"reportstyles"
],
"summary": "Returns a list of available reportstyles.",
"responses": {
"200": {
"description": "An array of reportstyles.",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/ReportStyleGet"
}
}
}
}
}
},
"/api/reportstyles/count": {
"get": {
"tags": [
"reportstyles"
],
"summary": "Returns the number of reportstyles in the collection.",
"responses": {
"200": {
"description": "The number of reportstyles.",
"schema": {
"$ref": "#/definitions/Count"
}
}
}
}
},
"/api/reports/{id}": {
"get": {
"tags": [
"reports"
],
"summary": "Gets a document from the collection by ID.",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
}
],
"responses": {
"200": {
"description": "The requested document.",
"schema": {
"$ref": "#/definitions/ReportGet"
}
},
"404": {
"description": "Resource not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"put": {
"tags": [
"reports"
],
"summary": "Update the version of the document.",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
},
{
"name": "item",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/ReportUpdateInfo"
}
}
],
"responses": {
"204": {
"description": "The report was updated."
},
"400": {
"description": "Bad request.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "Resource not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"patch": {
"tags": [
"reports"
],
"summary": "Patch the document version.",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
},
{
"name": "item",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/ReportUpdateInfo"
}
}
],
"responses": {
"204": {
"description": "The report was updated."
},
"400": {
"description": "Invalid report name.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "Resource not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"delete": {
"tags": [
"reports"
],
"summary": "Delete the specified documents.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "A comma-separated string containing document IDs.",
"required": true,
"type": "string"
}
],
"responses": {
"204": {
"description": "The specified reports were deleted."
},
"404": {
"description": "Resource not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/models": {
"get": {
"tags": [
"models"
],
"summary": "Returns a list of models.",
"responses": {
"200": {
"description": "The list of models.",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/ModelGet"
}
}
}
}
}
},
"/api/models/{id}": {
"get": {
"tags": [
"models"
],
"summary": "Returns a model with the specified ID.",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
}
],
"responses": {
"200": {
"description": "The model with the specified ID.",
"schema": {
"$ref": "#/definitions/ModelGet"
}
},
"404": {
"description": "A model with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"put": {
"tags": [
"models"
],
"summary": "Updates the model with the specified ID.",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
},
{
"name": "item",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/Model"
}
}
],
"responses": {
"204": {
"description": "The model was updated."
},
"400": {
"description": "Invalid model name.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "A model with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"patch": {
"tags": [
"models"
],
"summary": "Patch the model with the specified ID.",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
},
{
"name": "item",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/Model"
}
}
],
"responses": {
"204": {
"description": "The model was updated."
},
"400": {
"description": "Invalid model name.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "A model with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"delete": {
"tags": [
"models"
],
"summary": "Delete models with the specified IDs.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "A comma-separated string containing model IDs.",
"required": true,
"type": "string"
}
],
"responses": {
"204": {
"description": "The specified models were deleted."
},
"404": {
"description": "Models with some of the specified IDs were not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/models/{id}/clone": {
"post": {
"tags": [
"models"
],
"summary": "Clones the specified model.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The ID of the model to clone.",
"required": true,
"type": "string"
},
{
"name": "name",
"in": "body",
"description": "The name to use for the cloned model.",
"required": false,
"schema": {
"$ref": "#/definitions/CloneModelOptions"
}
}
],
"responses": {
"200": {
"description": "The ID of the cloned model.",
"schema": {
"$ref": "#/definitions/IdResponse"
}
},
"400": {
"description": "Invalid model name.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "The specified model was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/themes/{id}": {
"get": {
"tags": [
"themes"
],
"summary": "Gets a theme from the collection by ID.",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
}
],
"responses": {
"200": {
"description": "The requested theme.",
"schema": {
"$ref": "#/definitions/ThemeGet"
}
},
"404": {
"description": "Resource not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"put": {
"tags": [
"themes"
],
"summary": "Adds a version of the theme.",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
},
{
"name": "item",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/Theme"
}
}
],
"responses": {
"204": {
"description": "The theme was updated."
},
"400": {
"description": "Invalid theme name.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "Resource not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"patch": {
"tags": [
"themes"
],
"summary": "Patches the theme version.",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
},
{
"name": "item",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/Theme"
}
}
],
"responses": {
"204": {
"description": "The theme was updated."
},
"400": {
"description": "Invalid theme name.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "Resource not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"delete": {
"tags": [
"themes"
],
"summary": "Deletes the specified themes.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "A comma-separated string containing theme IDs.",
"required": true,
"type": "string"
}
],
"responses": {
"204": {
"description": "The specified themes were deleted."
},
"404": {
"description": "Resource not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/reportstyles/{id}": {
"get": {
"tags": [
"reportstyles"
],
"summary": "Gets a report style from the collection by ID.",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
}
],
"responses": {
"200": {
"description": "The requested report style.",
"schema": {
"$ref": "#/definitions/ReportStyleGet"
}
},
"404": {
"description": "Resource not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"put": {
"tags": [
"reportstyles"
],
"summary": "Updates the report style.",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
},
{
"name": "item",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/ReportStyle"
}
}
],
"responses": {
"204": {
"description": "Report styles were updated."
},
"400": {
"description": "Invalid report styles name.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "Resource not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"patch": {
"tags": [
"reportstyles"
],
"summary": "Patches the report style version.",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
},
{
"name": "item",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/ReportStyle"
}
}
],
"responses": {
"204": {
"description": "The report styles were patched."
},
"400": {
"description": "Invalid report styles name.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "Resource not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"delete": {
"tags": [
"reportstyles"
],
"summary": "Deletes the specified report styles.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "A comma-separated string containing report style IDs.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": "The specified report styles were deleted."
},
"404": {
"description": "Resource not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"ResourceMainInfo": {
"properties": {
"Id": {
"type": "string"
},
"Name": {
"type": "string"
}
}
},
"/api/feedback": {
"post": {
"tags": [
"feedback"
],
"produces": [
"application/json"
],
"summary": "Sends feedback.",
"parameters": [
{
"name": "feedbackJson",
"in": "body",
"description": "The JSON object containing information for the feedback message and the email response.",
"required": true,
"schema": {
"$ref": "#/definitions/Feedback"
}
}
],
"responses": {
"200": {
"description": "The BugzScout response message.",
"schema": {
"$ref": "#/definitions/FeedbackResponse"
}
}
}
}
},
"/api/images": {
"get": {
"tags": [
"images"
],
"summary": "Get a list of available images.",
"responses": {
"200": {
"description": "The list of images.",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/ImageInfo"
}
}
}
}
}
},
"/api/images/count": {
"get": {
"tags": [
"images"
],
"summary": "Get the number of available images.",
"responses": {
"200": {
"description": "The number of available images.",
"schema": {
"$ref": "#/definitions/CountResponse"
}
}
}
}
},
"/api/images/{id}": {
"get": {
"tags": [
"images"
],
"summary": "Get the image with the specified ID.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The image ID.",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "The image with the specified ID.",
"schema": {
"$ref": "#/definitions/ImageInfo"
}
},
"404": {
"description": "An image with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"put": {
"tags": [
"images"
],
"summary": "Update the image with the specified ID.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The image ID.",
"required": true,
"type": "string"
},
{
"name": "image",
"in": "body",
"required": true,
"description": "Updated the image.",
"schema": {
"$ref": "#/definitions/Image"
}
}
],
"responses": {
"204": {
"description": "The image was updated successfully."
},
"400": {
"description": "Invalid image name.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "An image with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"patch": {
"tags": [
"images"
],
"summary": "Patch the image with the specified ID.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The image ID.",
"required": true,
"type": "string"
},
{
"name": "image",
"in": "body",
"required": true,
"description": "The image properties to update.",
"schema": {
"$ref": "#/definitions/Image"
}
}
],
"responses": {
"204": {
"description": "The image was patched successfully."
},
"400": {
"description": "Invalid image name.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "An image with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"delete": {
"tags": [
"images"
],
"summary": "Delete one or more images with the specified IDs.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "A comma-separated string containing image IDs.",
"required": true,
"type": "string"
}
],
"responses": {
"204": {
"description": "The images were removed."
},
"404": {
"description": "Some of the specified images were not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/images/{id}/permissions": {
"get": {
"tags": [
"images",
"permissions"
],
"summary": "Get the access control list (ACL).",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
}
],
"responses": {
"200": {
"description": "Returns the permissions set.",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/AccessControlEntry"
}
}
},
"404": {
"description": "Image not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"put": {
"tags": [
"images",
"permissions"
],
"summary": "Replaces the access control list (ACL).",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
},
{
"$ref": "#/parameters/RequiredAclItemsInBody"
}
],
"responses": {
"204": {
"description": "The ACL was replaced."
},
"400": {
"description": "The ACL items are incorrect.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "Image not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"patch": {
"tags": [
"images",
"permissions"
],
"summary": "Update the ACL only for the specified roles.",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
},
{
"$ref": "#/parameters/RequiredAclItemsInBody"
}
],
"responses": {
"204": {
"description": "The ACL is updated."
},
"400": {
"description": "The ACL items are incorrect.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "Image not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/licenses": {
"get": {
"tags": [
"licenses"
],
"summary": "Returns a list of licenses.",
"responses": {
"200": {
"description": "The list of licenses.",
"schema": {
"title": "Licenses",
"type": "array",
"items": {
"$ref": "#/definitions/LicenseInfo"
}
}
}
}
},
"post": {
"tags": [
"licenses"
],
"summary": "Adds a license.",
"parameters": [
{
"name": "json",
"in": "body",
"description": "The license key data.",
"required": true,
"schema": {
"$ref": "#/definitions/NewLicense"
}
}
],
"responses": {
"201": {
"description": "The license was added successfully.",
"headers": {
"Location": {
"type": "string",
"description": "The URI of the new license."
}
},
"schema": {
"title": "Licenses",
"type": "array",
"items": {
"$ref": "#/definitions/LicenseInfo"
}
}
},
"400": {
"description": "The specified license is invalid.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/licenses/{serialKey}": {
"get": {
"tags": [
"licenses"
],
"summary": "Gets information about a license by the specified serial key.",
"parameters": [
{
"name": "serialKey",
"in": "path",
"description": "The license serial key.",
"type": "string",
"required": true
}
],
"responses": {
"200": {
"description": "The license information.",
"schema": {
"$ref": "#/definitions/LicenseInfo"
}
},
"404": {
"description": "A license with the specified serial key was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"delete": {
"tags": [
"licenses"
],
"summary": "Removes the license with the specified serial key.",
"parameters": [
{
"name": "serialKey",
"in": "path",
"description": "The license serial key.",
"type": "string",
"required": true
}
],
"responses": {
"204": {
"description": "The license was removed successfully."
},
"404": {
"description": "A license with the specified serial key was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/licenses/activationKey": {
"get": {
"tags": [
"licenses"
],
"summary": "Generates a license activation key for the specified serial key.",
"parameters": [
{
"name": "serialKey",
"in": "query",
"description": "The license serial key.",
"type": "string",
"required": true
}
],
"responses": {
"200": {
"description": "The generated license activation key.",
"schema": {
"type": "object",
"properties": {
"ActivationKey": {
"type": "string"
}
}
}
},
"400": {
"description": "The license with the specified serial key is invalid.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/licenses/{serialKey}/status": {
"get": {
"tags": [
"licenses"
],
"summary": "Gets the license status for the specified serial key.",
"parameters": [
{
"name": "serialKey",
"in": "path",
"description": "The license serial key.",
"type": "string",
"required": true
}
],
"responses": {
"200": {
"description": "License status.",
"schema": {
"properties": {
"Status": {
"enum": [
"invalid",
"expired",
"trial",
"activated"
]
}
}
}
},
"404": {
"description": "A license with the specified serial key was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/reports/{id}/emailrequests": {
"post": {
"tags": [
"mailing"
],
"summary": "Sends report in e-mail.",
"parameters": [
{
"name": "reportemailparameters",
"in": "body",
"description": "E-mail and report parameters.",
"schema": {
"$ref": "#/definitions/ReportEMailParameters"
},
"required": true
}
],
"responses": {
"200": {
"description": "Report sending is successfully scheduled.",
"schema": {
"type": "object",
"properties": {
"RequestId": {
"type": "string"
}
}
}
},
"404": {
"description": "A report with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/modeldrafts/{id}/personal": {
"get": {
"tags": [
"modeldrafts"
],
"summary": "Returns a draft of the model the current user is working on.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The model ID.",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "The model draft.",
"schema": {
"$ref": "#/definitions/ModelDraft"
}
}
}
}
},
"/api/models/{id}/draft/properties": {
"get": {
"tags": [
"model editor"
],
"summary": "Returns the properties set on the model draft.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The edited model ID.",
"type": "string",
"required": true
}
],
"responses": {
"200": {
"description": "The model properties.",
"schema": {
"$ref": "#/definitions/ModelPropertiesGet"
}
}
}
},
"put": {
"tags": [
"model editor"
],
"summary": "Updates the model properties.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The edited model ID.",
"type": "string",
"required": true
},
{
"name": "content",
"in": "body",
"description": "Specifies the properties set on the model draft.",
"required": true,
"schema": {
"$ref": "#/definitions/ModelPropertiesPut"
}
}
],
"responses": {
"204": {
"description": "The model properties were updated successfully."
}
}
}
},
"/api/models/{id}/draft/save": {
"post": {
"tags": [
"model editor"
],
"summary": "Save the edited model draft.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The edited model ID.",
"type": "string",
"required": true
}
],
"responses": {
"204": {
"description": "The model draft saved successfully."
},
"404": {
"description": "A model with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"422": {
"description": "Validation error.",
"schema": {
"$ref": "#/definitions/ValidationError"
}
}
}
}
},
"/api/models/{id}/draft/publish": {
"post": {
"tags": [
"model editor"
],
"summary": "Publishes the edited model.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The edited model ID.",
"type": "string",
"required": true
},
{
"name": "comment",
"in": "query",
"description": "The comment to publish with this version of the model.",
"required": false,
"type": "string"
}
],
"responses": {
"204": {
"description": "The model published successfully."
},
"404": {
"description": "A model with the specified ID was not found."
},
"422": {
"description": "Validation error.",
"schema": {
"$ref": "#/definitions/ValidationError"
}
}
}
}
},
"/api/models/{id}/draft/validate": {
"post": {
"tags": [
"model editor"
],
"summary": "Validates the edited model.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The edited model ID.",
"type": "string",
"required": true
}
],
"responses": {
"200": {
"description": "The model validation results.",
"schema": {
"$ref": "#/definitions/ValidationResult"
}
},
"404": {
"description": "A model with the specified ID was not found."
}
}
}
},
"/api/models/{id}/draft/discard": {
"post": {
"tags": [
"model editor"
],
"summary": "Discards changes in the edited model and reverts the draft to the last published state.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The edited model ID.",
"type": "string",
"required": true
}
],
"responses": {
"204": {
"description": "The model changes were discarded."
},
"404": {
"description": "A model with the specified ID was not found."
}
}
}
},
"/api/models/{id}/draft/entities": {
"get": {
"tags": [
"model editor"
],
"summary": "Gets a list of entities.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The edited model ID.",
"type": "string",
"required": true
}
],
"responses": {
"200": {
"description": "An array of entities.",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/Entity"
}
}
},
"404": {
"description": "A model with the specified ID was not found."
}
}
},
"post": {
"tags": [
"model editor"
],
"summary": "Creates a new entity.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The edited model ID.",
"type": "string",
"required": true
},
{
"name": "entity",
"in": "body",
"required": true,
"description": "The entity data.",
"schema": {
"$ref": "#/definitions/NewEntity"
}
}
],
"responses": {
"200": {
"description": "The new entity was created.",
"schema": {
"$ref": "#/definitions/AddResult"
}
}
}
}
},
"/api/models/{id}/draft/entities/{entityId}": {
"get": {
"tags": [
"model editor"
],
"summary": "Returns the properties for the entity.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The edited model ID.",
"type": "string",
"required": true
},
{
"name": "entityId",
"in": "path",
"required": true,
"description": "The ID of the entity.",
"type": "string"
}
],
"responses": {
"200": {
"description": "The entity properties.",
"schema": {
"$ref": "#/definitions/Entity"
}
},
"404": {
"description": "A model or entity with the specified ID was not found."
}
}
},
"put": {
"tags": [
"model editor"
],
"summary": "Updates the entity properties.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The edited model ID.",
"type": "string",
"required": true
},
{
"name": "entityId",
"in": "path",
"required": true,
"description": "The ID of the entity.",
"type": "string"
},
{
"name": "entityData",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/UpdateEntity"
}
}
],
"responses": {
"204": {
"description": "The data set was updated successfully."
},
"404": {
"description": "A model or entity with the specified ID was not found."
}
}
},
"delete": {
"tags": [
"model editor"
],
"summary": "Delete the entity and associated relations.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The edited model ID.",
"type": "string",
"required": true
},
{
"name": "entityId",
"in": "path",
"required": true,
"description": "The ID of the entity.",
"type": "string"
}
],
"responses": {
"204": {
"description": "The entity and associated relations are deleted."
}
}
}
},
"/api/models/{id}/draft/entities/{entityId}/attributes": {
"parameters": [
{
"name": "id",
"in": "path",
"description": "The edited model ID.",
"type": "string",
"required": true
},
{
"name": "entityId",
"in": "path",
"required": true,
"description": "The ID of the entity.",
"type": "string"
}
],
"get": {
"tags": [
"model editor"
],
"summary": "Returns attributes for the entity.",
"responses": {
"200": {
"description": "The array of entity attributes.",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/Attribute"
}
}
},
"404": {
"description": "A model or entity with the specified ID was not found."
}
}
},
"post": {
"tags": [
"model editor"
],
"parameters": [
{
"name": "attribute",
"in": "body",
"required": true,
"description": "The attribute data.",
"schema": {
"$ref": "#/definitions/NewAttribute"
}
}
],
"summary": "Creates a new attribute for the specified entity.",
"responses": {
"200": {
"description": "The attribute was created.",
"schema": {
"$ref": "#/definitions/IdResponse"
}
}
}
}
},
"/api/models/{id}/draft/entities/{entityId}/attributes/{attrId}": {
"parameters": [
{
"name": "id",
"in": "path",
"description": "The edited model ID.",
"type": "string",
"required": true
},
{
"name": "entityId",
"in": "path",
"required": true,
"description": "The ID of the entity.",
"type": "string"
},
{
"name": "attrId",
"in": "path",
"required": true,
"description": "The attribute ID.",
"type": "string"
}
],
"get": {
"tags": [
"model editor"
],
"summary": "Returns the properties of the specified attribute.",
"responses": {
"200": {
"description": "The attribute properties.",
"schema": {
"$ref": "#/definitions/Attribute"
}
},
"404": {
"description": "A model, entity, or attribute with the specified ID was not found."
}
}
},
"put": {
"tags": [
"model editor"
],
"parameters": [
{
"name": "attribute",
"in": "body",
"required": true,
"description": "The attribute data.",
"schema": {
"$ref": "#/definitions/UpdateAttribute"
}
}
],
"summary": "Updates the attribute properties.",
"responses": {
"204": {
"description": "The attribute was updated."
}
}
},
"delete": {
"tags": [
"model editor"
],
"summary": "Delete attribute.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The edited model ID.",
"type": "string",
"required": true
},
{
"name": "entityId",
"in": "path",
"required": true,
"description": "The ID of the entity.",
"type": "string"
},
{
"name": "attrId",
"in": "path",
"required": true,
"description": "The ID of the attribute.",
"type": "string"
}
],
"responses": {
"204": {
"description": "The attribute was deleted."
}
}
}
},
"/api/models/{id}/draft/entities/{entityId}/attributes/{attrId}/regenerate": {
"parameters": [
{
"name": "id",
"in": "path",
"description": "The edited model ID.",
"type": "string",
"required": true
},
{
"name": "entityId",
"in": "path",
"required": true,
"description": "The ID of the entity.",
"type": "string"
},
{
"name": "attrId",
"in": "path",
"required": true,
"description": "The ID of the attribute.",
"type": "string"
}
],
"post": {
"tags": [
"model editor"
],
"summary": "Regenerates variations of the attribute.",
"responses": {
"200": {
"description": "An array of Attributes of the regenerated variations.",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/Attribute"
}
}
}
}
}
},
"/api/models/{id}/draft/entities/{entityId}/relations": {
"get": {
"tags": [
"model editor"
],
"summary": "Returns an array of relations for the specified entity.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The edited model ID.",
"type": "string",
"required": true
},
{
"name": "entityId",
"in": "path",
"required": true,
"description": "The ID of the entity.",
"type": "string"
}
],
"responses": {
"200": {
"description": "The array of relations.",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/Relation"
}
}
},
"404": {
"description": "A model or entity with the specified ID was not found."
}
}
},
"post": {
"tags": [
"model editor"
],
"summary": "Creates a new relation for the entity.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The edited model ID.",
"type": "string",
"required": true
},
{
"name": "entityId",
"in": "path",
"required": true,
"description": "The ID of the entity.",
"type": "string"
},
{
"name": "relation",
"in": "body",
"required": true,
"description": "The relation data.",
"schema": {
"$ref": "#/definitions/NewRelation"
}
}
],
"responses": {
"200": {
"description": "The relation was created.",
"schema": {
"$ref": "#/definitions/IdResponse"
}
}
}
}
},
"/api/models/{id}/draft/entities/{entityId}/relations/{relationId}": {
"get": {
"tags": [
"model editor"
],
"summary": "Returns the properties of the specified relation.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The edited model ID.",
"type": "string",
"required": true
},
{
"name": "entityId",
"in": "path",
"required": true,
"description": "The ID of the entity.",
"type": "string"
},
{
"name": "relationId",
"in": "path",
"required": true,
"description": "The relation ID.",
"type": "string"
}
],
"responses": {
"200": {
"description": "The relation properties.",
"schema": {
"$ref": "#/definitions/Relation"
}
},
"404": {
"description": "A model, entity or relation with the specified ID was not found."
}
}
},
"put": {
"tags": [
"model editor"
],
"parameters": [
{
"name": "id",
"in": "path",
"description": "The edited model ID.",
"type": "string",
"required": true
},
{
"name": "entityId",
"in": "path",
"required": true,
"description": "The ID of the entity.",
"type": "string"
},
{
"name": "relationId",
"in": "path",
"required": true,
"description": "The relation ID.",
"type": "string"
},
{
"name": "relation",
"in": "body",
"required": true,
"description": "The relation data.",
"schema": {
"$ref": "#/definitions/RelationUpdate"
}
}
],
"summary": "Updates the relation properties.",
"responses": {
"204": {
"description": "The relation was updated."
}
}
},
"delete": {
"tags": [
"model editor"
],
"summary": "Delete the relation.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The edited model ID.",
"type": "string",
"required": true
},
{
"name": "entityId",
"in": "path",
"required": true,
"description": "The ID of the entity.",
"type": "string"
},
{
"name": "relationId",
"in": "path",
"required": true,
"description": "The relation ID.",
"type": "string"
}
],
"responses": {
"204": {
"description": "The relation was deleted."
}
}
}
},
"/api/models/jobs/generate": {
"post": {
"tags": [
"model generator"
],
"summary": "Creates a new model generation task.",
"parameters": [
{
"name": "taskParameters",
"in": "body",
"description": "The model generation task parameters.",
"required": true,
"schema": {
"$ref": "#/definitions/NewGenerateModelTask"
}
}
],
"responses": {
"200": {
"description": "The model generation finished.",
"schema": {
"properties": {
"Success": {
"type": "bool"
}
}
}
},
"202": {
"description": "The model generation is in progress.",
"schema": {
"properties": {
"RequestId": {
"type": "string"
}
}
}
}
}
}
},
"/api/models/jobs/generate/{request_id}": {
"get": {
"tags": [
"model generator"
],
"summary": "Checks the status of the model generation task with the specified ID.",
"parameters": [
{
"name": "requestId",
"in": "path",
"description": "The ID of the model generation job to check.",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "The model generation finished.",
"schema": {
"properties": {
"Success": {
"type": "bool"
}
}
}
},
"202": {
"description": "The model generation is in progress.",
"schema": {
"properties": {
"RequestId": {
"type": "string"
}
}
}
},
"404": {
"description": "The model generation task was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/models/generator/datasource/availableProviders": {
"get": {
"tags": [
"model generator",
"settings"
],
"summary": "Returns an array of available data providers.",
"responses": {
"200": {
"description": "The names of available data providers.",
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
}
},
"/api/models/generator/datasource/testconnection": {
"post": {
"tags": [
"model generator",
"settings"
],
"summary": "Tests the connection to the datasource.",
"parameters": [
{
"name": "connectionString",
"in": "query",
"description": "The connection string for the database.",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "The results of the test.",
"schema": {
"properties": {
"IsSuccessful": {
"type": "bool"
},
"Error": {
"type": "string"
}
}
}
}
}
}
},
"/api/models/generator/datasource/units": {
"post": {
"tags": [
"model generator"
],
"summary": "Returns a list of units from the datasource.",
"parameters": [
{
"name": "connectionString",
"in": "body",
"description": "The connection string to the database.",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "The units from the database.",
"schema": {
"properties": {
"Units": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"400": {
"description": "The datasource is not available or there was an error while retrieving the units.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/reports/{id}/parameters": {
"get": {
"tags": [
"reports",
"parameters"
],
"summary": "Returns information about the report parameters.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The report ID.",
"type": "string",
"required": true
}
],
"responses": {
"200": {
"description": "Information about the parameters.",
"schema": {
"title": "Parameters",
"type": "array",
"items": {
"$ref": "#/definitions/ReportParameterInfo"
}
}
},
"404": {
"description": "A report with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/reports/{id}/parameters/validateValues": {
"post": {
"tags": [
"reports",
"parameters"
],
"summary": "Validates parameter values.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The report ID.",
"type": "string",
"required": true
},
{
"name": "json",
"in": "body",
"description": "Information about the parameters.",
"required": true,
"schema": {
"$ref": "#/definitions/ReportParameters"
}
}
],
"responses": {
"200": {
"description": "Validation completed successfully.",
"schema": {
"title": "Parameters",
"type": "array",
"items": {
"$ref": "#/definitions/ReportParameterInfo"
}
}
},
"404": {
"description": "A report with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/printers/count": {
"get": {
"tags": [
"printers"
],
"summary": "Get the number of available printers.",
"responses": {
"200": {
"description": "The number of available printers.",
"schema": {
"$ref": "#/definitions/CountResponse"
}
}
}
}
},
"/api/printers/{id}": {
"get": {
"tags": [
"printers"
],
"summary": "Returns the printer.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The printer id",
"type": "string",
"required": true
}
],
"responses": {
"200": {
"description": "The Pinter.",
"schema": {
"$ref": "#/definitions/PrinterGet"
}
},
"404": {
"description": "The printer not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"put": {
"tags": [
"printers"
],
"summary": "Updates the printer.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The printer id",
"type": "string",
"required": true
},
{
"name": "json",
"in": "body",
"description": "A new printer.",
"schema": {
"$ref": "#/definitions/Printer"
},
"required": true
}
],
"responses": {
"204": {
"description": "The printer was successfully updated."
},
"400": {
"description": "A printer with the specified ID can not be updated.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"path": {
"tags": [
"printers"
],
"summary": "Updates the printer properties.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The printer id",
"type": "string",
"required": true
},
{
"name": "json",
"in": "body",
"description": "A new printer.",
"schema": {
"$ref": "#/definitions/Printer"
},
"required": true
}
],
"responses": {
"204": {
"description": "The printer properties were successfully updated."
},
"400": {
"description": "A printer with the specified ID can not be updated.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"delete": {
"tags": [
"printers"
],
"summary": "Deletes the printer.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The printer id",
"type": "string",
"required": true
}
],
"responses": {
"204": {
"description": "The printer was successfully deleted."
},
"400": {
"description": "A printer with the specified ID can not be deleted.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/printers": {
"get": {
"tags": [
"printers"
],
"summary": "Returns the collection of printers.",
"responses": {
"200": {
"description": "The Pinters collection.",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/PrinterGet"
}
}
},
"404": {
"description": "The printer not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"post": {
"tags": [
"printers"
],
"summary": "Add a new printer.",
"parameters": [
{
"name": "json",
"in": "body",
"description": "A new printer",
"schema": {
"$ref": "#/definitions/Printer"
},
"required": true
}
],
"responses": {
"200": {
"description": "The printer was created.",
"schema": {
"type": "object",
"properties": {
"Id": {
"type": "string"
}
}
}
},
"400": {
"description": "Invalid printer data.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/printers/{id}/permissions": {
"get": {
"tags": [
"printers",
"permissions"
],
"summary": "Get the access control list (ACL).",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
}
],
"responses": {
"200": {
"description": "Returns the permissions set.",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/AccessControlEntry"
}
}
},
"404": {
"description": "Printer not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"put": {
"tags": [
"printers",
"permissions"
],
"summary": "Replaces the access control list (ACL).",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
},
{
"$ref": "#/parameters/RequiredAclItemsInBody"
}
],
"responses": {
"204": {
"description": "The ACL was replaced."
},
"400": {
"description": "The ACL items are incorrect.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "Printer not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"patch": {
"tags": [
"printers",
"permissions"
],
"summary": "Update the ACL only for the specified roles.",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
},
{
"$ref": "#/parameters/RequiredAclItemsInBody"
}
],
"responses": {
"204": {
"description": "The ACL is updated."
},
"400": {
"description": "The ACL items are incorrect.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "Printer not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/printers/jobs/options": {
"post": {
"tags": [
"printers"
],
"summary": "Creates job for get printer options.",
"parameters": [
{
"name": "json",
"in": "body",
"type": "object",
"schema": {
"$ref": "#/definitions/PrinterOptionsRequest"
},
"description": "Printer name and guids of agents.",
"required": true
}
],
"responses": {
"200": {
"description": "Response with options of printer for each agent.",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/PrinterOptionsTaskResult"
}
}
},
"400": {
"description": "Request is incorrect.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/reports/{reportId}/jobs/print": {
"post": {
"tags": [
"print"
],
"summary": "Creates job for print report.",
"parameters": [
{
"name": "report id",
"in": "path",
"type": "string",
"description": "Id of report.",
"required": true
},
{
"name": "Print task options",
"in": "body",
"type": "object",
"schema": {
"$ref": "#/definitions/PrintTaskOptions"
},
"description": "Options for printing task.",
"required": true
}
],
"responses": {
"200": {
"description": "Print report job completed.",
"schema": {
"type": "object",
"properties": {
"Status": {
"type": "string"
}
}
}
},
"202": {
"description": "Created new job for print a report.",
"schema": {
"type": "object",
"properties": {
"RequestId": {
"type": "string"
}
}
}
}
}
}
},
"/api/reports/jobs/print/{requestId}": {
"get": {
"tags": [
"print"
],
"summary": "Gets the Result of \"Run print\" job.",
"parameters": [
{
"name": "requestId",
"in": "path",
"type": "string",
"description": "Id of job in Queue.",
"required": true
}
],
"responses": {
"200": {
"description": "Returns the Result of job.",
"schema": {
"type": "object",
"properties": {
"Status": {
"type": "string"
}
}
}
},
"202": {
"description": "Job was not completed withing the timeout.",
"schema": {
"type": "object",
"properties": {
"RequestId": {
"type": "string"
}
}
}
},
"404": {
"description": "Job not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/reports/{id}/jobs/render": {
"post": {
"tags": [
"reports",
"rendering requests"
],
"produces": [
"application/json",
"application/octet-stream"
],
"summary": "Starts rendering the report.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The report ID.",
"type": "string",
"required": true
},
{
"name": "settings",
"in": "body",
"description": "The rendering settings. The report parameters Domain property is enum of integer values.The extension name is name of rendering extension, the extension settings is object which contains the existing settings for selected rendering extension. For more you can see AR documentation http://arhelp.grapecity.com/webhelp/AR11/index.html#Rendering.html.",
"schema": {
"title": "RenderingSettings",
"$ref": "#/definitions/ReportRenderingSettings"
},
"required": true
}
],
"responses": {
"200": {
"description": "The report rendered successfully. Returns a rendered document if the timeout does not expire.",
"headers": {
"X-ARS-DocumentId": {
"description": "The id of document that was added to the cache after rendering (if \"NeedExportSupport\" option was specified).",
"type": "string"
}
}
},
"202": {
"description": "Report rendering is in progress. Returns the RequestId of the report.",
"schema": {
"type": "object",
"properties": {
"RequestId": {
"type": "string"
}
}
}
},
"404": {
"description": "A report with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/reports/jobs/render/{request_id}": {
"get": {
"tags": [
"reports",
"rendering requests"
],
"produces": [
"application/json",
"application/octet-stream"
],
"summary": "Checks the report rendering results.",
"parameters": [
{
"name": "request_id",
"in": "path",
"description": "The rendering request ID received in the post command response.",
"type": "string",
"required": true
}
],
"responses": {
"200": {
"description": "The report rendered successfully. Returns a rendered document if the timeout does not expire.",
"headers": {
"X-ARS-DocumentId": {
"description": "The id of document that was added to the cache after rendering (if \"NeedExportSupport\" option was specified).",
"type": "string"
}
}
},
"202": {
"description": "The report rendering is in progress. Returns the RequestId of the report.",
"schema": {
"type": "object",
"properties": {
"RequestId": {
"type": "string"
}
}
}
},
"404": {
"description": "A rendering request with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"delete": {
"tags": [
"reports",
"rendering requests"
],
"summary": "Cancels rendering request.",
"parameters": [
{
"name": "request_id",
"in": "path",
"description": "The rendering request ID",
"type": "string",
"required": true
}
],
"responses": {
"200": {
"description": "The request was cancelled."
}
}
}
},
"/api/reports/{id}/jobs/export": {
"post": {
"tags": [
"reports",
"export requests"
],
"produces": [
"application/json",
"application/octet-stream"
],
"summary": "Starts exporting the report.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The report ID.",
"type": "string",
"required": true
},
{
"name": "settings",
"in": "body",
"description": "The rendering settings. The extension name is name of rendering extension, the extension settings is object which contains the existing settings for selected rendering extension. For more you can see AR documentation http://arhelp.grapecity.com/webhelp/AR11/index.html#Rendering.html.",
"schema": {
"title": "ExportSettings",
"$ref": "#/definitions/ReportExportSettings"
},
"required": true
}
],
"responses": {
"200": {
"description": "The report exported successfully. Returns a link to the exported document if the timeout did not expire.",
"headers": {
"X-ARS-DocumentId": {
"description": "The id of document that was added to the cache after rendering (if \"NeedExportSupport\" option was specified).",
"type": "string"
}
}
},
"202": {
"description": "The report exporting is in progress. Returns the RequestId.",
"schema": {
"type": "object",
"properties": {
"RequestId": {
"type": "string"
}
}
}
},
"404": {
"description": "A report with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/reports/jobs/export/{request_id}": {
"get": {
"tags": [
"reports",
"export requests"
],
"produces": [
"application/json",
"application/octet-stream"
],
"summary": "Checks the report export results.",
"parameters": [
{
"name": "request_id",
"in": "path",
"description": "The export request ID received in the post command response.",
"type": "string",
"required": true
}
],
"responses": {
"200": {
"description": "The report exported successfully. Returns a link exported document if the timeout does not expire.",
"headers": {
"X-ARS-DocumentId": {
"description": "The id of document that was added to the cache after rendering (if \"NeedExportSupport\" option was specified).",
"type": "string"
}
}
},
"202": {
"description": "The report export is in progress. Returns the RequestId.",
"schema": {
"type": "object",
"properties": {
"RequestId": {
"type": "string"
}
}
}
},
"404": {
"description": "An export request with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/reports/{id}/jobs/snapshot": {
"post": {
"tags": [
"reports",
"snapshot requests"
],
"produces": [
"application/json",
"application/octet-stream"
],
"summary": "Starts taking a snapshot of the report.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The report ID.",
"type": "string",
"required": true
},
{
"name": "settings",
"in": "body",
"description": "The snapshot settings.",
"schema": {
"title": "SnapshotSettings",
"$ref": "#/definitions/ReportSnapshotSettings"
},
"required": true
}
],
"responses": {
"200": {
"description": "The report snapshot completed successfully. Returns a report snapshot if the timeout does not expire.",
"headers": {
"X-ARS-DocumentId": {
"description": "The id of document that was added to the cache after rendering (if \"NeedExportSupport\" option was specified).",
"type": "string"
}
}
},
"202": {
"description": "The report snapshot is in progress. Returns the RequestId of the report.",
"schema": {
"type": "object",
"properties": {
"RequestId": {
"type": "string"
}
}
}
},
"404": {
"description": "A report with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/reports/jobs/snapshot/{request_id}": {
"get": {
"tags": [
"reports",
"snapshot requests"
],
"produces": [
"application/json",
"application/octet-stream"
],
"summary": "Checks the report snapshot results.",
"parameters": [
{
"name": "request_id",
"in": "path",
"description": "The rendering request ID received in the post command response.",
"type": "string",
"required": true
}
],
"responses": {
"200": {
"description": "The report snapshot completed successfully. Returns a report snapshot if the timeout does not expire.",
"headers": {
"X-ARS-DocumentId": {
"description": "The id of document that was added to the cache after rendering (if \"NeedExportSupport\" option was specified).",
"type": "string"
}
}
},
"202": {
"description": "The report snapshot is in progress. Returns the RequestId of the report.",
"schema": {
"type": "object",
"properties": {
"RequestId": {
"type": "string"
}
}
}
},
"404": {
"description": "A request with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/scheduletemplates": {
"get": {
"tags": [
"scheduletemplates"
],
"summary": "Returns a list of all of the schedule templates.",
"responses": {
"200": {
"description": "The shared policy templates.",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/ScheduleTemplateInfo"
}
}
}
}
}
},
"/api/scheduletemplates/count": {
"get": {
"tags": [
"scheduletemplates"
],
"summary": "Returns the number of schedule templates in the collection.",
"responses": {
"200": {
"description": "The number of templates.",
"schema": {
"$ref": "#/definitions/CountResult"
}
}
}
}
},
"/api/scheduletemplates/{id}": {
"get": {
"tags": [
"scheduletemplates"
],
"summary": "Returns a template from the collection by ID.",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
}
],
"responses": {
"200": {
"description": "The requested template.",
"schema": {
"$ref": "#/definitions/ScheduleTemplateDataInfo"
}
},
"404": {
"description": "Resource not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"put": {
"tags": [
"scheduletemplates"
],
"summary": "Updates the version of the template.",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
},
{
"name": "item",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/ScheduleTemplate"
}
}
],
"responses": {
"204": {
"description": "The operation was successful."
},
"400": {
"description": "Invalid template name.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "Resource not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"patch": {
"tags": [
"scheduletemplates"
],
"summary": "Patches the template version.",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
},
{
"name": "item",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/ScheduleTemplate"
}
}
],
"responses": {
"204": {
"description": "The operation was successful."
},
"400": {
"description": "Invalid template name.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "Resource not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"delete": {
"tags": [
"scheduletemplates"
],
"summary": "Deletes the specified templates.",
"parameters": [
{
"name": "ids",
"in": "path",
"description": "A comma-separated string containing template IDs.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": "The templates were deleted."
},
"404": {
"description": "Resource not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/scheduletemplates/{id}/permissions": {
"get": {
"tags": [
"scheduletemplates",
"permissions"
],
"summary": "Returns the access control list (ACL).",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
}
],
"responses": {
"200": {
"description": "A permissions set.",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/AccessControlEntry"
}
}
},
"404": {
"description": "Resource not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"put": {
"tags": [
"scheduletemplates",
"permissions"
],
"summary": "Replaces the access control list (ACL).",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
},
{
"$ref": "#/parameters/RequiredAclItemsInBody"
}
],
"responses": {
"204": {
"description": "The ACL was replaced."
},
"400": {
"description": "Incorrect ACL items.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "Resource not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"patch": {
"tags": [
"scheduletemplates",
"permissions"
],
"summary": "Update the ACL only for the specified roles.",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
},
{
"$ref": "#/parameters/RequiredAclItemsInBody"
}
],
"responses": {
"204": {
"description": "The ACL is updated."
},
"400": {
"description": "Incorrect ACL items.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "Resource not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/scheduletemplates/{id}/reports": {
"get": {
"tags": [
"scheduletemplates"
],
"summary": "Returns a list of reports which have scheduled tasks based on this schedule template.",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
}
],
"responses": {
"200": {
"description": "The list of reports.",
"schema": {
"type": "array",
"items": {
"type": "object",
"properties": {
"ReportId": {
"type": "string"
},
"ReportName": {
"type": "string"
},
"SchedulesCount": {
"type": "integer"
}
}
}
}
},
"404": {
"description": "The schedule template was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/reports/{id}/schedules": {
"get": {
"tags": [
"reports",
"schedules"
],
"summary": "Returns an array of report schedules.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The report ID.",
"type": "string",
"required": true
}
],
"responses": {
"200": {
"description": "The array of report schedules.",
"schema": {
"title": "ReportSchedules",
"type": "array",
"items": {
"$ref": "#/definitions/ReportSchedule"
}
}
},
"404": {
"description": "A report with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"post": {
"tags": [
"reports",
"schedules"
],
"summary": "Creates the report schedule.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The report ID.",
"type": "string",
"required": true
},
{
"name": "templateId",
"in": "query",
"description": "The template ID.",
"type": "string",
"required": true
}
],
"responses": {
"200": {
"description": "The new report schedule.",
"schema": {
"$ref": "#/definitions/ReportSchedule"
}
},
"404": {
"description": "A template with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/reports/{id}/schedules/history": {
"get": {
"tags": [
"reports",
"schedules"
],
"summary": "Returns the report's schedule history.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The report ID.",
"type": "string",
"required": true
}
],
"responses": {
"200": {
"description": "An array of report schedule history objects.",
"schema": {
"title": "ScheduleHistory",
"type": "array",
"items": {
"$ref": "#/definitions/ScheduleHistoryItem"
}
}
},
"404": {
"description": "A report with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/schedules/{scheduleId}/template": {
"get": {
"tags": [
"schedules"
],
"summary": "Returns the schedule template.",
"parameters": [
{
"name": "scheduleId",
"in": "path",
"description": "The schedule ID.",
"type": "string",
"required": true
}
],
"responses": {
"200": {
"description": "The schedule template.",
"schema": {
"$ref": "#/definitions/ScheduleTemplateDataInfo"
}
},
"404": {
"description": "A schedule with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/schedules/{scheduleId}": {
"get": {
"tags": [
"schedules"
],
"summary": "Returns the schedule.",
"parameters": [
{
"name": "scheduleId",
"in": "path",
"description": "The schedule ID.",
"type": "string",
"required": true
}
],
"responses": {
"200": {
"description": "The schedule.",
"schema": {
"$ref": "#/definitions/ReportSchedule"
}
},
"404": {
"description": "A schedule with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"delete": {
"tags": [
"schedules"
],
"summary": "Deletes the schedule.",
"parameters": [
{
"name": "scheduleId",
"in": "path",
"description": "The schedule ID.",
"type": "string",
"required": true
}
],
"responses": {
"204": {
"description": "The schedule was deleted."
},
"404": {
"description": "A schedule with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"put": {
"tags": [
"schedules"
],
"summary": "Update the schedule.",
"parameters": [
{
"name": "scheduleId",
"in": "path",
"description": "The schedule ID.",
"type": "string",
"required": true
},
{
"name": "json",
"in": "body",
"description": "The schedule.",
"schema": {
"$ref": "#/definitions/ReportSchedule"
},
"required": true
}
],
"responses": {
"204": {
"description": "The schedule was successfully updated."
},
"404": {
"description": "A schedule with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/schedules/{scheduleId}/history": {
"get": {
"tags": [
"schedules"
],
"summary": "Returns the history of the schedule.",
"parameters": [
{
"name": "scheduleId",
"in": "path",
"description": "The schedule ID.",
"type": "string",
"required": true
}
],
"responses": {
"200": {
"description": "The schedule history.",
"schema": {
"$ref": "#/definitions/ScheduleHistoryItem"
}
},
"404": {
"description": "A schedule with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/schedules/{scheduleId}/execute": {
"post": {
"tags": [
"schedules"
],
"summary": "Runs the schedule task by id.",
"parameters": [
{
"name": "scheduleId",
"in": "path",
"description": "The schedule ID.",
"type": "string",
"required": true
}
],
"responses": {
"200": {
"description": "Job request id",
"schema": {
"$ref": "#/definitions/JobRequestId"
}
},
"404": {
"description": "A schedule with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/securityproviders": {
"get": {
"tags": [
"securityproviders"
],
"summary": "Returns a list of available security providers.",
"responses": {
"200": {
"description": "An array of security providers.",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/SecurityProvider"
}
}
}
}
}
},
"/api/securityproviders/current": {
"get": {
"tags": [
"securityproviders"
],
"summary": "Returns the currently enabled security provider.",
"responses": {
"200": {
"description": "The current security provider.",
"schema": {
"$ref": "#/definitions/SecurityProvider"
}
}
}
},
"put": {
"tags": [
"securityproviders"
],
"summary": "Sets a security provider as current.",
"parameters": [
{
"name": "securityProvider",
"in": "body",
"description": "The security provider to use.",
"schema": {
"$ref": "#/definitions/IdResponse"
}
}
],
"responses": {
"204": {
"description": "The security provider was successfully set."
},
"404": {
"description": "A security provider with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/securityproviders/{id}/settings": {
"get": {
"tags": [
"securityproviders"
],
"summary": "Get the specified security provider settings.",
"parameters": [
{
"name": "id",
"in": "path",
"type": "string",
"description": "The ID of the security provider."
}
],
"responses": {
"200": {
"description": "A map of security provider settings in key value format. The set of available keys is defined by the security provider implementation.",
"schema": {
"$ref": "#/definitions/StringKeyValuesMap"
}
},
"404": {
"description": "A security provider with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"put": {
"tags": [
"securityproviders"
],
"summary": "Updates the security provider settings.",
"parameters": [
{
"name": "id",
"in": "path",
"type": "string",
"description": "The ID of the security provider."
},
{
"name": "settings",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/StringKeyValuesMap"
}
}
],
"responses": {
"204": {
"description": "The security provider settings were successfully applied."
},
"404": {
"description": "A security provider with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/securityproviders/{id}/testing": {
"post": {
"tags": [
"securityproviders"
],
"summary": "Tests the specified provider with the specified settings, user name and password.",
"parameters": [
{
"name": "id",
"in": "path",
"type": "string",
"description": "The ID of the security provider.",
"required": true
},
{
"name": "testingData",
"in": "body",
"description": "The username, password and security provider settings to test.",
"required": true,
"schema": {
"$ref": "#/definitions/SecurityProviderTestData"
}
}
],
"responses": {
"200": {
"description": "The security provider test results.",
"schema": {
"properties": {
"IsAuthenticated": {
"type": "boolean"
},
"UserDisplayName": {
"type": "string"
},
"Email": {
"type": "string"
},
"Roles": {
"type": "array",
"items": {
"type": "string"
}
},
"UserContext": {
"$ref": "#/definitions/StringKeyValuesMap"
},
"AdminContext": {
"$ref": "#/definitions/StringKeyValuesMap"
}
}
}
},
"404": {
"description": "A security provider with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"500": {
"description": "The security provider testing failed.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/settings/site": {
"get": {
"tags": [
"settings"
],
"summary": "Returns the site settings.",
"responses": {
"200": {
"description": "The site settings.",
"schema": {
"$ref": "#/definitions/SiteSettings"
}
}
}
},
"put": {
"tags": [
"settings"
],
"summary": "Updates the site settings.",
"parameters": [
{
"name": "siteSettings",
"in": "body",
"description": "The site settings to apply.",
"required": true,
"schema": {
"$ref": "#/definitions/SiteSettings"
}
}
],
"responses": {
"204": {
"description": "The settings were applied successfully."
}
}
}
},
"/api/settings/smtp": {
"get": {
"tags": [
"settings"
],
"summary": "Returns the SMTP settings.",
"responses": {
"200": {
"description": "The SMTP settings.",
"schema": {
"$ref": "#/definitions/SmtpSettings"
}
}
}
},
"put": {
"tags": [
"settings"
],
"summary": "Updates the SMTP settings.",
"parameters": [
{
"name": "smtpSettings",
"in": "body",
"description": "The SMTP settings to apply.",
"required": true,
"schema": {
"$ref": "#/definitions/SmtpSettings"
}
}
],
"responses": {
"204": {
"description": "The SMTP settings were applied successfully."
}
}
}
},
"/api/settings/smtp/testing": {
"post": {
"tags": [
"settings"
],
"summary": "Test the specified SMTP settings.",
"parameters": [
{
"name": "smtpSettings",
"in": "body",
"description": "The SMTP settings to test.",
"required": true,
"schema": {
"$ref": "#/definitions/SmtpSettings"
}
}
],
"responses": {
"200": {
"description": "The SMTP settings test results.",
"schema": {
"$ref": "#/definitions/SettingsTestResult"
}
}
}
}
},
"/api/settings/auditing": {
"get": {
"tags": [
"settings"
],
"summary": "Returns the auditing settings.",
"responses": {
"200": {
"description": "The auditing settings.",
"schema": {
"$ref": "#/definitions/AuditingSettings"
}
}
}
},
"put": {
"tags": [
"settings"
],
"summary": "Updates the auditing settings.",
"parameters": [
{
"name": "auditingSettings",
"in": "body",
"description": "The auditing settings to apply.",
"required": true,
"schema": {
"$ref": "#/definitions/AuditingSettings"
}
}
],
"responses": {
"204": {
"description": "The auditing settings were applied successfully."
}
}
}
},
"/api/diagnostics": {
"get": {
"tags": [
"diagnostics"
],
"summary": "Returns a diagnostics report.",
"parameters": [
{
"name": "zip",
"in": "query",
"description": "If true, download the diagnostics report as a zip file.",
"required": false,
"type": "boolean"
}
],
"produces": [
"application/json",
"application/zip"
],
"responses": {
"200": {
"description": "The diagnostics report, as a JSON object or as a ZIP file if requested with the zip parameter. The format is determined by the client using the Content-Type header.",
"schema": {
"$ref": "#/definitions/Diagnostics"
}
}
}
}
},
"/api/serverinfo": {
"get": {
"tags": [
"serverinfo"
],
"summary": "Returns information about the server",
"responses": {
"200": {
"description": "The server information was successfully received.",
"schema": {
"type": "object",
"properties": {
"Version": {
"type": "string",
"description": "The product version."
},
"Product": {
"type": "string",
"description": "The product name."
},
"Edition": {
"enum": [
"en-us",
"ja"
],
"description": "The product culture code."
}
}
}
}
}
}
},
"/api/settings/schedules": {
"get": {
"tags": [
"settings"
],
"summary": "Returns security settings for the schedule.",
"responses": {
"200": {
"description": "The security settings for the schedule.",
"schema": {
"$ref": "#/definitions/ScheduleHistoryAccess"
}
}
}
},
"put": {
"tags": [
"settings"
],
"summary": "Updates the security settings for the schedule.",
"parameters": [
{
"name": "schedulesSettings",
"in": "body",
"description": "The security settings to apply.",
"required": true,
"schema": {
"$ref": "#/definitions/ScheduleHistoryAccess"
}
}
],
"responses": {
"204": {
"description": "The settings were applied successfully."
}
}
}
},
"/api/settings/ui": {
"get": {
"tags": [
"settings"
],
"summary": "Returns the custom UI settings.",
"responses": {
"200": {
"description": "The custom UI settings.",
"schema": {
"$ref": "#/definitions/UISettings"
}
}
}
},
"put": {
"tags": [
"settings"
],
"summary": "Updates the custom UI settings.",
"parameters": [
{
"name": "uiSettings",
"in": "body",
"description": "The custom UI settings to apply.",
"required": true,
"schema": {
"$ref": "#/definitions/UISettings"
}
}
],
"responses": {
"204": {
"description": "The settings were applied successfully."
}
}
}
},
"/api/settings/ui/enabled": {
"put": {
"tags": [
"settings"
],
"summary": "Turn on/off the custom UI.",
"parameters": [
{
"name": "enabled",
"in": "body",
"description": "The option for turn on/off the custom UI.",
"required": false,
"type": "boolean"
}
],
"responses": {
"204": {
"description": "The setting was applied successfully."
}
}
}
},
"/api/settings/ui/common": {
"put": {
"tags": [
"settings"
],
"summary": "Updates the common custom UI settings.",
"parameters": [
{
"name": "commonUiSettings",
"in": "body",
"description": "The common's custom UI settings to apply.",
"required": true,
"schema": {
"$ref": "#/definitions/CommonSiteSettings"
}
}
],
"responses": {
"204": {
"description": "The setting was applied successfully."
}
}
}
},
"/api/settings/ui/portal": {
"put": {
"tags": [
"settings"
],
"summary": "Updates the custom UI settings for portal site.",
"parameters": [
{
"name": "commonUiSettings",
"in": "body",
"description": "The portal's custom UI settings to apply.",
"required": true,
"schema": {
"$ref": "#/definitions/UiSiteSetting"
}
}
],
"responses": {
"204": {
"description": "The setting was applied successfully."
}
}
}
},
"/api/settings/ui/admin": {
"put": {
"tags": [
"settings"
],
"summary": "Updates the custom UI settings for admin site.",
"parameters": [
{
"name": "commonUiSettings",
"in": "body",
"description": "The admin site's custom UI settings to apply.",
"required": true,
"schema": {
"$ref": "#/definitions/UiSiteSetting"
}
}
],
"responses": {
"204": {
"description": "The setting was applied successfully."
}
}
}
},
"/api/settings/ui/images": {
"post": {
"tags": [
"settings"
],
"summary": "Uploads the image to be used in custom UI settings.",
"consumes": [
"image/jpeg",
"image/gif",
"image/png",
"image/bmp",
"image/x-icon"
],
"parameters": [
{
"name": "content",
"in": "body",
"description": "An image or icon file containing the custom logo.",
"required": true,
"schema": {
"type": "string",
"format": "binary"
}
}
],
"responses": {
"201": {
"description": "The image was uploaded successfully. The returned Id should be placed to corresponding UI settings property to be applied.",
"schema": {
"$ref": "#/definitions/AddResult"
}
}
}
}
},
"/customui/images/{type}": {
"get": {
"tags": [
"settings"
],
"summary": "Returns custom ui image.",
"produces": [
"image/jpeg",
"image/gif",
"image/png",
"image/bmp",
"image/x-icon"
],
"parameters": [
{
"name": "type",
"in": "path",
"description": "The type of image to return.",
"type": "string",
"enum": [
"loginlogo",
"headerlogo",
"mobilelogo",
"favicon"
]
}
],
"responses": {
"200": {
"description": "The image is found and returned in body."
},
"404": {
"description": "There is no image uploaded for that type."
}
}
}
},
"/api/stats": {
"get": {
"tags": [
"statistics"
],
"summary": "Returns ActiveReports Server statistics information.",
"responses": {
"200": {
"description": "The statistics key value collection.",
"schema": {
"properties": {
"Datasources": {
"type": "integer"
},
"Modeldrafts": {
"type": "integer"
},
"Models": {
"type": "integer"
},
"Reports": {
"type": "integer"
},
"Reportschedules": {
"type": "integer"
},
"Reportstyles": {
"type": "integer"
},
"Resources": {
"type": "integer"
},
"Scheduletemplates": {
"type": "integer"
},
"Tags": {
"type": "integer"
},
"Themes": {
"type": "integer"
},
"Users": {
"type": "integer"
},
"Roles": {
"type": "integer"
},
"Agents": {
"type": "integer"
},
"AgentsConnected": {
"type": "integer"
},
"ReportTemplates": {
"type": "integer"
}
}
}
}
}
}
},
"/api/stylesheets": {
"get": {
"tags": [
"stylesheets"
],
"summary": "Get a list of available stylesheets.",
"responses": {
"200": {
"description": "The list of stylesheets.",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/StyleSheetGet"
}
}
}
}
}
},
"/api/stylesheets/count": {
"get": {
"tags": [
"stylesheets"
],
"summary": "Get the number of available stylesheets.",
"responses": {
"200": {
"description": "The number of available stylesheets.",
"schema": {
"$ref": "#/definitions/CountResponse"
}
}
}
}
},
"/api/stylesheets/{id}": {
"get": {
"tags": [
"stylesheets"
],
"summary": "Get the stylesheet with the specified ID.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The stylesheet ID.",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "The stylesheet with the specified ID.",
"schema": {
"$ref": "#/definitions/StyleSheetGet"
}
},
"404": {
"description": "A stylesheet with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"put": {
"tags": [
"stylesheets"
],
"summary": "Update the stylesheet with the specified ID.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The stylesheet ID.",
"required": true,
"type": "string"
},
{
"name": "stylesheet",
"in": "body",
"required": true,
"description": "Updated the stylesheet.",
"schema": {
"$ref": "#/definitions/StyleSheet"
}
}
],
"responses": {
"204": {
"description": "The stylesheet was updated successfully."
},
"400": {
"description": "Invalid stylesheet name.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "A stylesheet with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"patch": {
"tags": [
"stylesheets"
],
"summary": "Patch the stylesheet with the specified ID.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The stylesheet ID.",
"required": true,
"type": "string"
},
{
"name": "stylesheet",
"in": "body",
"required": true,
"description": "The stylesheet properties to update.",
"schema": {
"$ref": "#/definitions/StyleSheet"
}
}
],
"responses": {
"204": {
"description": "The stylesheet was patched successfully."
},
"400": {
"description": "Invalid stylesheet name.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "A stylesheet with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"delete": {
"tags": [
"stylesheets"
],
"summary": "Delete one or more stylesheets with the specified IDs.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "A comma-separated string containing stylesheet IDs.",
"required": true,
"type": "string"
}
],
"responses": {
"204": {
"description": "The stylesheets were removed."
},
"404": {
"description": "Some of the specified stylesheets were not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/stylesheets/{id}/permissions": {
"get": {
"tags": [
"stylesheets",
"permissions"
],
"summary": "Get the access control list (ACL).",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
}
],
"responses": {
"200": {
"description": "Returns the permissions set.",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/AccessControlEntry"
}
}
},
"404": {
"description": "Stylesheet not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"put": {
"tags": [
"stylesheets",
"permissions"
],
"summary": "Replaces the access control list (ACL).",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
},
{
"$ref": "#/parameters/RequiredAclItemsInBody"
}
],
"responses": {
"204": {
"description": "The ACL was replaced."
},
"400": {
"description": "The ACL items are incorrect.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "Stylesheet not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"patch": {
"tags": [
"stylesheets",
"permissions"
],
"summary": "Update the ACL only for the specified roles.",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
},
{
"$ref": "#/parameters/RequiredAclItemsInBody"
}
],
"responses": {
"204": {
"description": "The ACL is updated."
},
"400": {
"description": "The ACL items are incorrect.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "Stylesheet not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/tags": {
"get": {
"tags": [
"tags"
],
"summary": "Returns a list of tags.",
"responses": {
"200": {
"description": "The array of tags.",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/Tag"
}
}
}
}
},
"post": {
"tags": [
"tags"
],
"summary": "Add tag.",
"parameters": [
{
"name": "item",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/NewTag"
}
}
],
"responses": {
"201": {
"description": "The tag was added successfully.",
"schema": {
"$ref": "#/definitions/IdResponse"
}
}
}
}
},
"/api/tags/count": {
"get": {
"tags": [
"tags"
],
"summary": "Returns the number of available tags.",
"responses": {
"200": {
"description": "The number of available tags.",
"schema": {
"$ref": "#/definitions/CountResponse"
}
}
}
}
},
"/api/tags/{id}": {
"get": {
"tags": [
"tags"
],
"summary": "Returns the tag with the specified ID.",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
}
],
"responses": {
"200": {
"description": "The tag with the specified ID.",
"schema": {
"$ref": "#/definitions/Tag"
}
},
"404": {
"description": "A tag with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"put": {
"tags": [
"tags"
],
"summary": "Updates the tags.",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
},
{
"name": "item",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/NewTag"
}
}
],
"responses": {
"204": {
"description": "The tag with the specified ID was successfully updated."
},
"404": {
"description": "A tag with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"patch": {
"tags": [
"tags"
],
"summary": "Updates only the specified properties of the tags.",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
},
{
"name": "item",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/NewTag"
}
}
],
"responses": {
"204": {
"description": "The tag with the specified ID was successfully patched."
},
"404": {
"description": "A tag with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"delete": {
"tags": [
"tags"
],
"summary": "Deletes the tag.",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
}
],
"responses": {
"204": {
"description": "The tag with the specified ID was deleted."
},
"404": {
"description": "A tag with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/reports/{id}/tags": {
"get": {
"tags": [
"tags",
"reports"
],
"summary": "Returns the tags from a report with the specified ID.",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
}
],
"responses": {
"200": {
"description": "The array of tags.",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/Tag"
}
}
},
"404": {
"description": "A report with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"post": {
"tags": [
"tags",
"reports"
],
"summary": "Assigns tags to the report.",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
},
{
"name": "tags",
"in": "body",
"description": "An array of tag IDs to assign to the report.",
"schema": {
"type": "array",
"items": {
"type": "string"
}
},
"required": true
}
],
"responses": {
"204": {
"description": "The tags were successfully assigned."
},
"404": {
"description": "A document with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"put": {
"tags": [
"tags",
"reports"
],
"summary": "Replace the specified tags in the report.",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
},
{
"name": "tags",
"in": "body",
"description": "An array of tag IDs to replace.",
"schema": {
"type": "array",
"items": {
"type": "string"
}
},
"required": true
}
],
"responses": {
"204": {
"description": "The tags were successfully updated."
},
"404": {
"description": "A document with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/reports/{id}/tags/{tagId}": {
"delete": {
"tags": [
"tags",
"reports"
],
"summary": "Remove assignment of a tag with the specified ID in the report.",
"parameters": [
{
"$ref": "#/parameters/RequiredIdInPathParam"
},
{
"name": "tagId",
"in": "path",
"description": "ID of the tag to remove.",
"required": true,
"type": "string"
}
],
"responses": {
"204": {
"description": "The tag was successfully removed."
},
"404": {
"description": "A report or a tag with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/reports/tags": {
"post": {
"tags": [
"tags",
"reports"
],
"summary": "Assigns tags to the reports.",
"parameters": [
{
"name": "documents",
"in": "query",
"description": "A comma-separated list of document IDs to which to assign tags.",
"schema": {
"type": "string"
},
"required": true
},
{
"name": "tags",
"in": "body",
"description": "An array of tag IDs to assign to the report.",
"schema": {
"type": "array",
"items": {
"type": "string"
}
},
"required": true
}
],
"responses": {
"204": {
"description": "The tags were successfully assigned."
},
"404": {
"description": "A document with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"put": {
"tags": [
"tags",
"reports"
],
"summary": "Replace tags in the reports.",
"parameters": [
{
"name": "documents",
"in": "query",
"description": "A comma-separated list of document IDs in which to replace tags.",
"schema": {
"type": "string"
},
"required": true
},
{
"name": "tags",
"in": "body",
"description": "An array of tag IDs to replace.",
"schema": {
"type": "array",
"items": {
"type": "string"
}
},
"required": true
}
],
"responses": {
"204": {
"description": "The tags were successfully updated."
},
"404": {
"description": "A document with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"delete": {
"tags": [
"tags",
"reports"
],
"summary": "Remove the assignement of the specified report tags.",
"parameters": [
{
"name": "documents",
"in": "query",
"description": "A comma-separated list of document IDs from which to remove tags.",
"schema": {
"type": "string"
},
"required": true
},
{
"name": "tags",
"in": "query",
"description": "A comma-separated list of tag IDs to remove.",
"schema": {
"type": "string"
},
"required": true
}
],
"responses": {
"204": {
"description": "The tag was successfully removed."
},
"404": {
"description": "A report or a tag with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/themes/default": {
"get": {
"tags": [
"themes"
],
"summary": "Returns the default theme.",
"responses": {
"200": {
"description": "The default theme.",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/ThemeGet"
}
}
},
"404": {
"description": "Default theme not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"put": {
"tags": [
"themes"
],
"summary": "Updates the default theme.",
"parameters": [
{
"name": "id",
"in": "body",
"description": "The theme ID.",
"type": "string",
"required": true
}
],
"responses": {
"204": {
"description": "The default theme was successfully updated."
},
"400": {
"description": "Invalid theme name.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "A theme with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/datasources/content": {
"post": {
"tags": [
"datasources"
],
"summary": "Allows your users to upload a data source from their local files.",
"parameters": [
{
"name": "content",
"in": "body",
"description": "An RDS, RDSX, or ZIP file containing XML that describes the data source.",
"required": true,
"type": "string"
},
{
"name": "name",
"in": "query",
"description": "The name of the data source.",
"type": "string"
},
{
"name": "description",
"in": "query",
"description": "A description of the data source.",
"type": "string"
},
{
"name": "comment",
"in": "query",
"description": "A comment to upload with this data source revision.",
"type": "string"
},
{
"name": "overwrite",
"in": "query",
"description": "The overwrite options to use.",
"schema": {
"$ref": "#/definitions/OverwriteBehavior"
}
}
],
"responses": {
"200": {
"description": "The data source uploaded successfully.",
"schema": {
"$ref": "#/definitions/AddResult"
}
},
"400": {
"description": "Invalid data source name.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"422": {
"description": "Validation error.",
"schema": {
"$ref": "#/definitions/ValidationError"
}
}
}
}
},
"/api/datasets/content": {
"post": {
"tags": [
"datasets"
],
"summary": "Allows your users to upload a data set with content.",
"parameters": [
{
"name": "content",
"in": "body",
"description": "An XML or ZIP file containing XML that describes the data set.",
"required": true,
"type": "string"
},
{
"name": "name",
"in": "query",
"description": "The name of the data set.",
"type": "string"
},
{
"name": "description",
"in": "query",
"description": "A description of the data set.",
"type": "string"
},
{
"name": "comment",
"in": "query",
"description": "A comment to upload with this data set revision.",
"type": "string"
},
{
"name": "overwrite",
"in": "query",
"description": "The overwrite options to use.",
"schema": {
"$ref": "#/definitions/OverwriteBehavior"
}
}
],
"responses": {
"200": {
"description": "The data set uploaded successfully.",
"schema": {
"$ref": "#/definitions/AddResult"
}
},
"400": {
"description": "Invalid data set name.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"422": {
"description": "Validation error.",
"schema": {
"$ref": "#/definitions/ValidationError"
}
}
}
}
},
"/api/reports/content": {
"post": {
"tags": [
"reports"
],
"summary": "Allows your users to upload a report with content.",
"parameters": [
{
"name": "content",
"in": "body",
"description": "An XML or ZIP file containing XML that describes the report.",
"required": true,
"type": "string"
},
{
"name": "name",
"in": "query",
"description": "The name of the report.",
"type": "string"
},
{
"name": "description",
"in": "query",
"description": "A description of the report.",
"type": "string"
},
{
"name": "tagId",
"in": "query",
"description": "A tag for the report.",
"type": "string"
},
{
"name": "comment",
"in": "query",
"description": "A comment to upload with this report revision.",
"type": "string"
},
{
"name": "overwrite",
"in": "query",
"description": "The overwrite options to use.",
"schema": {
"$ref": "#/definitions/OverwriteBehavior"
}
},
{
"name": "isTemplate",
"in": "query",
"description": "The additional parameter allows specifying the uploaded collection. false - reports (reports that are not marked as \"Template\", default value), true - templates (reports that are marked as \"Template\").",
"required": false,
"type": "boolean"
}
],
"responses": {
"200": {
"description": "The report uploaded successfully.",
"schema": {
"$ref": "#/definitions/AddResult"
}
},
"400": {
"description": "Invalid report name.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"422": {
"description": "Validation error.",
"schema": {
"$ref": "#/definitions/ValidationError"
}
}
}
}
},
"/api/reports/assemblyContent": {
"post": {
"tags": [
"reports"
],
"summary": "Allows your users to upload a .NET assembly containing code-based reports.",
"parameters": [
{
"name": "content",
"in": "body",
"description": "The .NET assembly.",
"required": true,
"type": "string"
},
{
"name": "name",
"in": "query",
"description": "The name of the assembly.",
"type": "string"
},
{
"name": "description",
"in": "query",
"description": "A description of the assembly.",
"type": "string"
},
{
"name": "comment",
"in": "query",
"description": "The comment to upload with this assembly revision.",
"type": "string"
}
],
"responses": {
"200": {
"description": "The assembly uploaded successfully.",
"schema": {
"$ref": "#/definitions/AddAssemblyResult"
}
},
"400": {
"description": "Invalid assembly name.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"422": {
"description": "Validation error.",
"schema": {
"$ref": "#/definitions/ValidationError"
}
}
}
}
},
"/api/reports/codeBasedReportsContent": {
"post": {
"tags": [
"reports"
],
"summary": "Allows your users to upload code-based reports.",
"parameters": [
{
"name": "resourceId",
"in": "query",
"description": "The ID of the assembly containing the code-based reports.",
"required": true,
"type": "string"
},
{
"name": "reports",
"in": "body",
"description": "The code-based reports.",
"type": "array",
"items": {
"$ref": "#/definitions/CodeBasedReport"
}
},
{
"name": "description",
"in": "query",
"description": "A description of the assembly.",
"type": "string"
},
{
"name": "comment",
"in": "query",
"description": "The comment to upload with this assembly revision.",
"type": "string"
}
],
"responses": {
"200": {
"description": "The assembly uploaded successfully.",
"schema": {
"$ref": "#/definitions/AddAssemblyResult"
}
},
"400": {
"description": "Invalid assembly name.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"422": {
"description": "Validation error.",
"schema": {
"$ref": "#/definitions/ValidationError"
}
}
}
}
},
"/api/themes/content": {
"post": {
"tags": [
"themes"
],
"summary": "Allows your users to upload a theme with content.",
"parameters": [
{
"name": "content",
"in": "body",
"description": "An XML or ZIP file containing XML that describes the theme.",
"required": true,
"type": "string"
},
{
"name": "name",
"in": "query",
"description": "The name of the theme.",
"type": "string"
},
{
"name": "description",
"in": "query",
"description": "A description of the theme.",
"type": "string"
},
{
"name": "default",
"in": "query",
"description": "Indicates whether this is the default theme. (Valid values are true and false.)",
"type": "string"
},
{
"name": "comment",
"in": "query",
"description": "The comment to upload with this revision of the theme.",
"type": "string"
},
{
"name": "overwrite",
"in": "query",
"description": "The overwrite options to use.",
"schema": {
"$ref": "#/definitions/OverwriteBehavior"
}
}
],
"responses": {
"200": {
"description": "The theme uploaded successfully.",
"schema": {
"$ref": "#/definitions/AddResult"
}
},
"400": {
"description": "Invalid theme name.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"422": {
"description": "Validation error.",
"schema": {
"$ref": "#/definitions/ValidationError"
}
}
}
}
},
"/api/models/content": {
"post": {
"tags": [
"models"
],
"summary": "Allows your users to upload a model with content.",
"parameters": [
{
"name": "content",
"in": "body",
"description": "An XML or ZIP file containing XML that describes the model.",
"required": true,
"type": "string"
},
{
"name": "name",
"in": "query",
"description": "The name of the model.",
"type": "string"
},
{
"name": "description",
"in": "query",
"description": "A description of the model.",
"type": "string"
},
{
"name": "connectionstring",
"in": "query",
"description": "The connection string for the model.",
"type": "string"
},
{
"name": "comment",
"in": "query",
"description": "The comment to upload with this revision of the model.",
"type": "string"
},
{
"name": "overwrite",
"in": "query",
"description": "The overwrite options to use.",
"schema": {
"$ref": "#/definitions/OverwriteBehavior"
}
}
],
"responses": {
"200": {
"description": "The model uploaded successfully.",
"schema": {
"$ref": "#/definitions/AddResult"
}
},
"400": {
"description": "Invalid model name.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"422": {
"description": "Validation error.",
"schema": {
"$ref": "#/definitions/ValidationError"
}
}
}
}
},
"/api/reportstyles/content": {
"post": {
"tags": [
"reportstyles"
],
"summary": "Allows your users to upload a report style with content.",
"parameters": [
{
"name": "content",
"in": "body",
"description": "An XML or ZIP file containing XML that describes the report style.",
"required": true,
"type": "string"
},
{
"name": "name",
"in": "query",
"description": "The name of the report style.",
"type": "string"
},
{
"name": "description",
"in": "query",
"description": "A description of the report style.",
"type": "string"
},
{
"name": "comment",
"in": "query",
"description": "The comment to upload with this revision of the report style.",
"type": "string"
},
{
"name": "overwrite",
"in": "query",
"description": "The overwrite options to use.",
"schema": {
"$ref": "#/definitions/OverwriteBehavior"
}
}
],
"responses": {
"200": {
"description": "The report style uploaded successfully.",
"schema": {
"$ref": "#/definitions/AddResult"
}
},
"400": {
"description": "Invalid report style name.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"422": {
"description": "Validation error.",
"schema": {
"$ref": "#/definitions/ValidationError"
}
}
}
}
},
"/api/scheduletemplates/content": {
"post": {
"tags": [
"scheduletemplates"
],
"summary": "Allows your users to upload a schedule template with content.",
"parameters": [
{
"name": "content",
"in": "body",
"description": "An XML or ZIP file containing XML that describes the schedule template.",
"required": true,
"type": "string"
},
{
"name": "name",
"in": "query",
"description": "The name of the schedule template.",
"type": "string"
},
{
"name": "description",
"in": "query",
"description": "A description of the schedule template.",
"type": "string"
},
{
"name": "comment",
"in": "query",
"description": "The comment to upload with this schedule template revision.",
"type": "string"
}
],
"responses": {
"201": {
"description": "The schedule template uploaded successfully.",
"schema": {
"$ref": "#/definitions/AddResult"
}
},
"400": {
"description": "Invalid schedule template name.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"422": {
"description": "Validation error.",
"schema": {
"$ref": "#/definitions/ValidationError"
}
}
}
}
},
"/api/stylesheets/content": {
"post": {
"tags": [
"stylesheets"
],
"summary": "Allows your users to upload a stylesheet with content.",
"parameters": [
{
"name": "content",
"in": "body",
"description": "An XML or ZIP file containing XML that describes the stylesheet.",
"required": true,
"type": "string"
},
{
"name": "name",
"in": "query",
"description": "The name of the stylesheet.",
"type": "string"
},
{
"name": "description",
"in": "query",
"description": "A description of the stylesheet.",
"type": "string"
},
{
"name": "comment",
"in": "query",
"description": "A comment to upload with this stylesheet revision.",
"type": "string"
},
{
"name": "overwrite",
"in": "query",
"description": "The overwrite options to use.",
"schema": {
"$ref": "#/definitions/OverwriteBehavior"
}
}
],
"responses": {
"200": {
"description": "The stylesheet uploaded successfully.",
"schema": {
"$ref": "#/definitions/AddResult"
}
},
"400": {
"description": "Invalid stylesheet name.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"422": {
"description": "Validation error.",
"schema": {
"$ref": "#/definitions/ValidationError"
}
}
}
}
},
"/api/images/content": {
"post": {
"tags": [
"images"
],
"summary": "Allows your users to upload images with content.",
"parameters": [
{
"name": "content",
"in": "body",
"description": "A binary image object.",
"required": true,
"type": "string",
"format": "binary"
},
{
"name": "name",
"in": "query",
"description": "The name of the image.",
"type": "string"
},
{
"name": "description",
"in": "query",
"description": "A description of the image.",
"type": "string"
},
{
"name": "comment",
"in": "query",
"description": "A comment to upload with this image revision.",
"type": "string"
},
{
"name": "overwrite",
"in": "query",
"description": "The overwrite options to use.",
"schema": {
"$ref": "#/definitions/OverwriteBehavior"
}
}
],
"responses": {
"200": {
"description": "The image uploaded successfully.",
"schema": {
"$ref": "#/definitions/AddResult"
}
},
"400": {
"description": "Invalid image name.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"422": {
"description": "Validation error.",
"schema": {
"$ref": "#/definitions/ValidationError"
}
}
}
}
},
"/api/reportstyles/{id}/content": {
"get": {
"tags": [
"reportstyles"
],
"produces": [
"application/xml",
"application/octet-stream"
],
"summary": "Returns the report style content.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The ID of the report style.",
"required": true,
"type": "string"
},
{
"name": "zip",
"description": "Indicates whether the report style content is in a ZIP file.",
"in": "query",
"type": "boolean"
}
],
"responses": {
"200": {
"description": "The report style content downloaded successfully.",
"schema": {
"properties": {
"Content": {
"description": "An XML or ZIP file containing XML that describes the report style.",
"type": "string"
}
}
}
},
"404": {
"description": "A report style with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"put": {
"tags": [
"reportstyles"
],
"summary": "Updates the report style.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The ID of the report style.",
"required": true,
"type": "string"
},
{
"name": "content",
"in": "body",
"description": "An XML or ZIP file containing XML that describes the report style.",
"required": true,
"type": "string"
},
{
"name": "comment",
"in": "query",
"description": "A comment to upload with this report style revision.",
"type": "string"
}
],
"responses": {
"200": {
"description": "The report style updated successfully.",
"schema": {
"type": "object",
"properties": {
"Id": {
"description": "The report style ID.",
"type": "string"
}
}
}
},
"400": {
"description": "Invalid report style name.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "A report style with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"422": {
"description": "Validation error.",
"schema": {
"$ref": "#/definitions/ValidationError"
}
}
}
}
},
"/api/datasources/{id}/content": {
"get": {
"tags": [
"datasources"
],
"produces": [
"application/xml",
"application/octet-stream"
],
"summary": "Returns the data source content.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The ID of the data source.",
"required": true,
"type": "string"
},
{
"name": "zip",
"description": "Indicates whether to zip the data source content.",
"in": "query",
"type": "boolean"
}
],
"responses": {
"200": {
"description": "The data source downloaded successfully.",
"schema": {
"properties": {
"Content": {
"description": "An XML or ZIP file containing XML that describes the data source.",
"type": "string"
}
}
}
},
"404": {
"description": "A data source with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"put": {
"tags": [
"datasources"
],
"summary": "Updates the data source.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The ID of the data source.",
"required": true,
"type": "string"
},
{
"name": "content",
"in": "body",
"description": "An XML or ZIP file containing XML that describes the data source.",
"required": true,
"type": "string"
},
{
"name": "comment",
"in": "query",
"description": "A comment to upload with this data source revision.",
"type": "string"
}
],
"responses": {
"200": {
"description": "The data source updated successfully.",
"schema": {
"type": "object",
"properties": {
"Id": {
"description": "The data source ID.",
"type": "string"
}
}
}
},
"400": {
"description": "Invalid data source name.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "A data source with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"422": {
"description": "Validation error.",
"schema": {
"$ref": "#/definitions/ValidationError"
}
}
}
}
},
"/api/datasets/{id}/content": {
"get": {
"tags": [
"datasets"
],
"produces": [
"application/xml",
"application/octet-stream"
],
"summary": "Returns the data set content.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The ID of the data set.",
"required": true,
"type": "string"
},
{
"name": "zip",
"description": "Indicates whether to zip the data set content.",
"in": "query",
"type": "boolean"
}
],
"responses": {
"200": {
"description": "The data set downloaded successfully.",
"schema": {
"properties": {
"Content": {
"description": "An XML or ZIP file containing XML that describes the data source.",
"type": "string"
}
}
}
},
"404": {
"description": "A data set with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"put": {
"tags": [
"datasets"
],
"summary": "Updates the data set content.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The ID of the data set.",
"required": true,
"type": "string"
},
{
"name": "content",
"in": "body",
"description": "An XML or ZIP file containing XML that describes the data set.",
"required": true,
"type": "string"
},
{
"name": "comment",
"in": "query",
"description": "A comment to upload with this data set revision.",
"type": "string"
}
],
"responses": {
"200": {
"description": "The data set updated successfully.",
"schema": {
"type": "object",
"properties": {
"Id": {
"description": "The data set ID.",
"type": "string"
}
}
}
},
"400": {
"description": "Invalid data set name.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "A data set with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"422": {
"description": "Validation error.",
"schema": {
"$ref": "#/definitions/ValidationError"
}
}
}
}
},
"/api/scheduletemplates/{id}/content": {
"get": {
"tags": [
"scheduletemplates"
],
"produces": [
"application/xml",
"application/octet-stream"
],
"summary": "Returns the schedule template content.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The ID of the schedule template.",
"required": true,
"type": "string"
},
{
"name": "zip",
"description": "Indicates whether to zip the schedule template content.",
"in": "query",
"type": "boolean"
}
],
"responses": {
"200": {
"description": "The schedule template downloaded successfully.",
"schema": {
"properties": {
"Content": {
"description": "An XML or ZIP file containing XML that describes the schedule template.",
"type": "string"
}
}
}
},
"404": {
"description": "A schedule template with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"put": {
"tags": [
"scheduletemplates"
],
"summary": "Updates the schedule template.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The ID of the schedule template.",
"required": true,
"type": "string"
},
{
"name": "content",
"in": "body",
"description": "An XML or ZIP file containing XML that describes the schedule template.",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "The schedule template updated successfully.",
"schema": {
"type": "object",
"properties": {
"Id": {
"type": "string"
}
}
}
},
"400": {
"description": "Invalid schedule template name.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "A schedule template with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"422": {
"description": "Validation error.",
"schema": {
"$ref": "#/definitions/ValidationError"
}
}
}
}
},
"/api/reports/{id}/content": {
"get": {
"tags": [
"reports"
],
"produces": [
"application/xml",
"application/octet-stream"
],
"summary": "Returns the report content.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The ID of the report.",
"required": true,
"type": "string"
},
{
"name": "zip",
"description": "Indicates whether to zip the report content.",
"in": "query",
"type": "boolean"
}
],
"responses": {
"200": {
"description": "The report downloaded successfully.",
"schema": {
"properties": {
"Content": {
"description": "An XML file or a ZIP file containing XML that describes the report.",
"type": "string"
}
}
}
},
"404": {
"description": "A report with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"put": {
"tags": [
"reports"
],
"summary": "Updates the report content.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The ID of the report.",
"required": true,
"type": "string"
},
{
"name": "content",
"in": "body",
"description": "An XML or ZIP file containing XML that describes the report.",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "The report updated successfully.",
"schema": {
"type": "object",
"properties": {
"Id": {
"type": "string"
}
}
}
},
"400": {
"description": "Invalid report name.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "A report with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"422": {
"description": "Validation error.",
"schema": {
"$ref": "#/definitions/ValidationError"
}
}
}
}
},
"/api/themes/{id}/content": {
"get": {
"tags": [
"themes"
],
"produces": [
"application/xml",
"application/octet-stream"
],
"summary": "Returns the theme content.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The ID of the theme.",
"required": true,
"type": "string"
},
{
"name": "zip",
"description": "Indicates whether to zip the theme content.",
"in": "query",
"type": "boolean"
}
],
"responses": {
"200": {
"description": "The theme downloaded successfully.",
"schema": {
"properties": {
"Content": {
"description": "An XML or ZIP file containing XML that describes the theme.",
"type": "string"
}
}
}
},
"404": {
"description": "A theme with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"put": {
"tags": [
"themes"
],
"summary": "Updates the theme content.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The ID of the theme.",
"required": true,
"type": "string"
},
{
"name": "content",
"in": "body",
"description": "An XML or ZIP file containing XML that describes the theme.",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "The theme updated successfully.",
"schema": {
"type": "object",
"properties": {
"Id": {
"type": "string"
}
}
}
},
"400": {
"description": "Invalid theme name.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "A theme with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"422": {
"description": "Validation error.",
"schema": {
"$ref": "#/definitions/ValidationError"
}
}
}
}
},
"/api/models/{id}/content": {
"get": {
"tags": [
"models"
],
"produces": [
"application/xml",
"application/octet-stream"
],
"summary": "Returns the model content.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The ID of the model.",
"required": true,
"type": "string"
},
{
"name": "zip",
"description": "Indicates whether to zip the model content.",
"in": "query",
"type": "boolean"
}
],
"responses": {
"200": {
"description": "The model downloaded successfully.",
"schema": {
"properties": {
"Content": {
"description": "An XML or ZIP file containing XML that describes the model.",
"type": "string"
}
}
}
},
"404": {
"description": "A model with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"put": {
"tags": [
"models"
],
"summary": "Updates the model content.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The ID of the model.",
"required": true,
"type": "string"
},
{
"name": "content",
"in": "body",
"description": "An XML or ZIP file containing XML that describes the model.",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "The model updated successfully.",
"schema": {
"type": "object",
"properties": {
"Id": {
"type": "string"
}
}
}
},
"400": {
"description": "Invalid model name.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "A model with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"422": {
"description": "Validation error.",
"schema": {
"$ref": "#/definitions/ValidationError"
}
}
}
}
},
"/api/stylesheets/{id}/content": {
"get": {
"tags": [
"stylesheets"
],
"produces": [
"application/xml",
"application/octet-stream"
],
"summary": "Returns the stylesheet content.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The ID of the stylesheet.",
"required": true,
"type": "string"
},
{
"name": "zip",
"description": "Indicates whether to zip the stylesheet content.",
"in": "query",
"type": "boolean"
}
],
"responses": {
"200": {
"description": "The stylesheet downloaded successfully.",
"schema": {
"properties": {
"Content": {
"description": "An XML file or a ZIP file containing XML that describes the stylesheet.",
"type": "string"
}
}
}
},
"404": {
"description": "A stylesheet with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"put": {
"tags": [
"stylesheets"
],
"summary": "Updates the stylesheet content.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The ID of the stylesheet.",
"required": true,
"type": "string"
},
{
"name": "content",
"in": "body",
"description": "An XML file or a ZIP file containing XML that describes the stylesheet.",
"required": true,
"type": "string"
},
{
"name": "comment",
"in": "query",
"description": "A comment to upload with this stylesheet revision.",
"type": "string"
}
],
"responses": {
"200": {
"description": "The stylesheet updated successfully.",
"schema": {
"type": "object",
"properties": {
"Id": {
"description": "The stylesheet ID.",
"type": "string"
}
}
}
},
"400": {
"description": "Invalid stylesheet name.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "A stylesheet with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"422": {
"description": "Validation error.",
"schema": {
"$ref": "#/definitions/ValidationError"
}
}
}
}
},
"/api/images/{id}/content": {
"get": {
"tags": [
"images"
],
"produces": [
"image/bmp",
"image/gif",
"image/png",
"image/tiff",
"image/jpeg"
],
"summary": "Returns the image content.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The ID of the image.",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "The image downloaded successfully.",
"schema": {
"properties": {
"Content": {
"description": "An XML file or a ZIP file containing XML that describes the image.",
"type": "string"
}
}
}
},
"404": {
"description": "An image with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"put": {
"tags": [
"images"
],
"summary": "Updates the image content.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The ID of the image.",
"required": true,
"type": "string"
},
{
"name": "content",
"in": "body",
"description": "Binary image data.",
"required": true,
"type": "string",
"format": "binary"
},
{
"name": "comment",
"in": "query",
"description": "A comment to upload with this image revision.",
"type": "string"
}
],
"responses": {
"200": {
"description": "The image updated successfully.",
"schema": {
"type": "object",
"properties": {
"Id": {
"description": "The image ID.",
"type": "string"
}
}
}
},
"400": {
"description": "Invalid image name.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "An image with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"422": {
"description": "Validation error.",
"schema": {
"$ref": "#/definitions/ValidationError"
}
}
}
}
},
"/api/users": {
"get": {
"tags": [
"users"
],
"summary": "Returns a list of server users.",
"responses": {
"200": {
"description": "An array of users.",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/User"
}
}
}
}
},
"post": {
"tags": [
"users"
],
"summary": "Creates a new user.",
"parameters": [
{
"name": "user",
"in": "body",
"required": true,
"description": "Data for the new user.",
"schema": {
"$ref": "#/definitions/NewUser"
}
}
],
"responses": {
"201": {
"description": "The user was created.",
"schema": {
"type": "object",
"properties": {
"Id": {
"type": "string"
}
}
}
},
"400": {
"description": "Invalid user data or role.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/users/{id}": {
"get": {
"tags": [
"users"
],
"summary": "Returns the specified user data.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The ID of the user.",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "The user data.",
"schema": {
"$ref": "#/definitions/User"
}
},
"404": {
"description": "A user with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"put": {
"tags": [
"users"
],
"summary": "Updates the user data.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The ID of the user.",
"required": true,
"type": "string"
},
{
"name": "item",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/UpdateUser"
}
}
],
"responses": {
"204": {
"description": "The user was successfully updated."
},
"404": {
"description": "A user with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"delete": {
"tags": [
"users"
],
"summary": "Removes the specified users.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "A comma-separated string containing user IDs.",
"required": true,
"type": "string"
}
],
"responses": {
"204": {
"description": "The users are deleted."
},
"404": {
"description": "Some of the specified users were not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/users/{id}/password": {
"put": {
"tags": [
"users"
],
"summary": "Changes the password of the user with the specified ID.",
"responses": {
"204": {
"description": "Password changed."
},
"400": {
"description": "Empty password.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "A user with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
},
"parameters": [
{
"name": "id",
"in": "path",
"description": "The ID of the user.",
"required": true,
"type": "string"
},
{
"name": "newPassword",
"in": "body",
"description": "The new password.",
"required": true,
"schema": {
"$ref": "#/definitions/NewPassword"
}
}
]
}
},
"/api/roles": {
"get": {
"tags": [
"roles"
],
"summary": "Returns a list of server roles.",
"responses": {
"200": {
"description": "An array of roles.",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/Role"
}
}
}
}
},
"post": {
"tags": [
"roles"
],
"summary": "Creates a new role.",
"parameters": [
{
"name": "role",
"in": "body",
"required": true,
"description": "The new role data.",
"schema": {
"$ref": "#/definitions/NewRole"
}
}
],
"responses": {
"200": {
"description": "The role was created.",
"schema": {
"type": "object",
"properties": {
"Id": {
"type": "string",
"description": "The ID of the new role."
}
}
}
},
"400": {
"description": "Invalid role data.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/roles/{id}": {
"get": {
"tags": [
"roles"
],
"summary": "Returns the role with the specified ID.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The role ID.",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "The role data.",
"schema": {
"$ref": "#/definitions/Role"
}
},
"404": {
"description": "A role with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"put": {
"tags": [
"roles"
],
"summary": "Updates the role with the specified ID.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The role ID.",
"required": true,
"type": "string"
},
{
"name": "role",
"in": "body",
"required": true,
"description": "The role data.",
"schema": {
"$ref": "#/definitions/UpdateRole"
}
}
],
"responses": {
"204": {
"description": "The role was updated successfully."
},
"404": {
"description": "A role with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"delete": {
"tags": [
"roles"
],
"summary": "Removes the specified roles.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "A comma-separated string containing role IDs.",
"required": true,
"type": "string"
}
],
"responses": {
"204": {
"description": "The specified roles were deleted."
},
"404": {
"description": "Some of the specified roles were not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/roles/{id}/users": {
"get": {
"tags": [
"roles"
],
"summary": "Gets the users in the specified role.",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"type": "string",
"description": "The role ID."
}
],
"responses": {
"200": {
"description": "A list of all users in the specified role.",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/User"
}
}
},
"404": {
"description": "A role with the specified ID was not found.",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/api/user": {
"get": {
"tags": [
"user"
],
"summary": "Returns information about the current user.",
"responses": {
"200": {
"description": "The current user information.",
"schema": {
"$ref": "#/definitions/CurrentUserInfo"
}
}
}
}
},
"/api/users/csv": {
"post": {
"tags": [
"users"
],
"summary": "Creates new users from CSV file.",
"parameters": [
{
"name": "content",
"in": "body",
"description": "A CSV file containing info about users(user name;password;e-mail;description;roles1;role2;...roleN). User name, password and e-mail is required.",
"required": true,
"type": "string"
}
],
"responses": {
"201": {
"description": "Users registered successfully.",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/BulkRegistrationResult"
}
}
}
}
}
}
}
}