#%RAML 0.8 title: Analytics Aggregation API baseUri: "https://api.covisintlabs.com/analyticsaggregation/v1" protocols: [HTTPS] schemas: - resourceReference: | { "id" : "http://api.covisint.com/schema/resourceReference", "$schema" : "http://json-schema.org/draft-04/schema", "description" : "Schema representing links", "type" : "object", "properties" : { "id" : { "type" : "string", "description" : "The unique identifier for the resource." }, "type" : { "type" : "string", "description" : "The type of the resource." }, "realm" : { "type" : "string", "description" : "The realm of the resource." } } , "required":[ "id" ] } - namedResourceReference: | { "id" : "http://api.covisint.com/schema/namedScopedResource", "$schema" : "http://json-schema.org/draft-04/schema", "type" : "object", "description" : "Expands on the basic resource reference and adds internationalized name and description.", "extends" : { "$ref" : "http://api.covisint.com/schema/resourceReference#" }, "properties" : { "name" : { "description": "Internationalized resource name.", "$ref" : "http://api.covisint.com/idm/schema/internationalString#" }, "description" : { "description": "Internationalized resource description.", "$ref" : "http://api.covisint.com/idm/schema/internationalString#" } } } - resource: | { "id" : "http://api.covisint.com/schema/resource", "$schema" : "http://json-schema.org/draft-04/schema", "description" : "Core schema", "definitions" : { "resource" : { "id" : "resource", "type" : "object", "description" : "A basic resource.", "properties" : { "id" : { "type" : "string", "maxLength" : 64, "description" : "The unique identifier for this resource." }, "version": { "type" : "number", "minimum" : 0, "maximum" : 9223372036854775807, "description" : "The current version for this resource. Exists once the resource has been saved. This is mandatory for PUT requests, but should not be supplied for POST requests." }, "creator" : { "type" : "string", "maxLength" : 64, "description" : "The creator of this resource. This read-only field is ignored by the server, and is overlayed with the value supplied in the x-requestor header.", "readonly": true }, "creatorAppId" : { "type" : "string", "maxLength" : 64, "description" : "The id of the application used to create this resource. This read-only field is ignored by the server, and is overlayed with the value supplied in the x-requestor-app header.", "readonly": true }, "creation" : { "type" : "number", "minimum" : 0, "maximum" : 9223372036854775807, "description" : "This read only property is ignored by the server and the system will overlay with the time, in milliseconds since the epoch, when this resource was created.", "readonly": true } } , "required":[ "id", "creator", "creatorAppId", "creation" ] } } } - resourceV2: | { "id" : "http://api.covisint.com/schema/resourceV2", "$schema" : "http://json-schema.org/draft-04/schema", "description" : "Core schema", "definitions" : { "resource" : { "id" : "resourceV2", "type" : "object", "description" : "A basic resource (version V2).", "properties" : { "id" : { "type" : "string", "maxLength" : 64, "description" : "The unique identifier for this resource." }, "version": { "type" : "string", "description" : "The current version for this resource. Exists once the resource has been saved. This is mandatory for PUT requests, but should not be supplied for POST requests." }, "creator" : { "type" : "string", "maxLength" : 64, "description" : "The creator of this resource. This read-only field is ignored by the server, and is overlayed with the value supplied in the x-requestor header.", "readonly": true }, "creatorAppId" : { "type" : "string", "maxLength" : 64, "description" : "The id of the application used to create this resource. This read-only field is ignored by the server, and is overlayed with the value supplied in the x-requestor-app header.", "readonly": true }, "creation" : { "type" : "number", "minimum" : 0, "maximum" : 9223372036854775807, "description" : "This read only property is ignored by the server and the system will overlay with the time, in milliseconds since the epoch, when this resource was created.", "readonly": true } } , "required":[ "id", "creator", "creatorAppId", "creation" ] } } } - realmScopedResource: | { "id" : "http://api.covisint.com/schema/realmScopedResource", "$schema" : "http://json-schema.org/draft-04/schema", "type" : "object", "description" : "Expands on the base resource and adds a realm attribute.", "extends" : { "$ref" : "http://api.covisint.com/schema/resource#" }, "properties" : { "realm" : { "type" : "string", "maxLength" : 25, "pattern" : "^[A-Za-z0-9]{2,25}$", "description" : "The realm in which this resource is being created. This read-only field is ignored by the server, and is overlayed with the value supplied in the x-realm header.", "readonly": true } } , "required":[ "realm" ] } - realmScopedResourceV2: | { "id" : "http://api.covisint.com/schema/realmScopedResourceV2", "$schema" : "http://json-schema.org/draft-04/schema", "type" : "object", "description" : "A realm scoped resource (version V2). Expands on the base resource (version V2) and adds a realm attribute.", "extends" : { "$ref" : "http://api.covisint.com/schema/resourceV2#" }, "properties" : { "realm" : { "type" : "string", "maxLength" : 25, "pattern" : "^[A-Za-z0-9]{2,25}$", "description" : "The realm in which this resource is being created. This read-only field is ignored by the server, and is overlayed with the value supplied in the x-realm header.", "readonly": true } } , "required":[ "realm" ] } - errorResponseSchema: | { "id" : "http://api.covisint.com/schema/errorResponseSchema", "$schema" : "http://json-schema.org/draft-04/schema", "type" : "object", "description" : "Representation of an HTTP 4xx/5xx error response.", "properties" : { "status" : { "type" : "number", "minimum" : 400, "maximum" : 599, "description" : "The HTTP status code." }, "apiMessage" : { "type" : "string", "description" : "A helpful, human-readable description of the error, useful for basic diagnostics." }, "apiStatusCode" : { "type" : "string", "description" : "The API-specific status code." } } , "required":[ "status" ] } - serviceCode: | { "id" : "http://api.covisint.com/schema/serviceCodes", "$schema" : "http://json-schema.org/draft-04/schema", "type": "object", "description": "The site/service/location codes granted along with a service.", "properties": { "code": { "type": "string", "maxLength": 200, "description": "The code value." }, "codeKind": { "type": "string", "maxLength": 36, "description": "The associated business unit." } } , "required":[ "code", "codeKind" ] } - serviceCodes: | { "type" : "array", "description" : "The site/service/location codes granted along with the service, if any.", "items" : { "$ref" : "http://api.covisint.com/schema/serviceCode#"}, "required": false } - address: | { "id" : "http://api.covisint.com/idm/schema/address", "$schema" : "http://json-schema.org/draft-04/schema", "type" : "object", "description" : "A container for the subject's address elements.", "properties" : { "streets" : { "type" : "array", "description" : "An array of address streets (i.e. address line 1, 2, 3).", "minItems" : 0, "items" : { "type" : "string", "maxLength" : 255 } }, "city" : { "type" : "string", "maxLength" : 60, "description" : "The city name." }, "state" : { "type" : "string", "maxLength" : 60, "description" : "The state/province name or code." }, "postal" : { "type" : "string", "maxLength" : 10, "description" : "The postal or zip code." }, "country" : { "type" : "string", "minLength" : 2, "maxLength" : 3, "description" : "The ISO country code. http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2"} } } - phone: | { "id" : "http://api.covisint.com/idm/schema/phone", "$schema" : "http://json-schema.org/draft-04/schema", "type" : "object", "description" : "A container for phone number details.", "properties" : { "number" : { "type" : "string","maxLength" : 100, "description" : "The phone number." }, "type" : { "enum" : [ "main", "mobile", "fax" ], "description" : "The phone number type." } }, "required" : [ "type" ] } - internationalString: | { "id": "http://api.covisint.com/idm/schema/internationalString", "$schema": "http://json-schema.org/draft-04/schema", "type": "array", "description" : "An internationalized string value, supporting one or more language translations.", "minItems": 1, "items": { "type": "object", "properties": { "lang": { "type": "string", "maxLength": 10, "description": "The language or locale in which the text is written." }, "text": { "type": "string", "maxLength": 2000, "description": "The internationalized text value." } } } } - tags: | { "id": "http://api.covisint.com/idm/schema/tag", "$schema": "http://json-schema.org/draft-04/schema", "type": "array", "description" : "The tags associated with a resource. This array is read-only, and may be modified on the resource endpoint with the appropriate tagging APIs.", "minItems": 1, "items": { "type": "object", "properties": { "tagName": { "type": "string", "description": "The tag associated with a resource." } } } } - baseDefinitionResource: | { "id" : "http://api.covisint.com/schema/baseDefinitionResource", "$schema" : "http://json-schema.org/draft-04/schema", "type" : "object", "description" : "A base rule definition(version V1). Expands on the base resource (version V2) and adds a realm attribute.", "extends": { "$ref" : "http://api.covisint.com/schema/realmScopedResourceV2#" }, "properties": { "name": { "description": "The application name (internationalized).", "$ref": "http://api.covisint.com/schema/internationalString#" }, "description": { "description": "The application description (internationalized).", "$ref" : "http://api.covisint.com/idm/schema/internationalString#" }, "properties":{ "type":"array", "description":"Properties used by the implementation.", "minItems":0, "items":[ { "anyOf": [ { "type": "string", "description": "The name of the property." }, { "type": "string", "description": "The value of the property." } ] } ] } , "required":[ "items" ] } , "required":[ "name" ] } - baseActionDefinitionResource: | { "id" : "http://api.covisint.com/schema/baseActionDefinitionResource", "$schema" : "http://json-schema.org/draft-04/schema", "type" : "object", "description" : "A base action action definition. Expands on the base definition resource ", "extends": { "$ref" : "http://api.covisint.com/schema/baseDefinitionResource#" }, "properties": { "type": { "description": "Type of action definition.", "enum": [ "SEND_APPLICATION_NOTIFICATION", "SEND_COMMAND", "SEND_NOTIFICATION" ], "required": true } } , "required":[ "type" ] } - baseTriggerDefinitionResource: | { "id" : "http://api.covisint.com/schema/baseTriggerDefinitionResource", "$schema" : "http://json-schema.org/draft-04/schema", "type" : "object", "description" : "A base action trigger definition. Expands on the base definition resource ", "extends": { "$ref" : "http://api.covisint.com/schema/baseDefinitionResource#" }, "properties": { "type": { "description": "Type of trigger definition.", "enum": [ "DEVICE_SEND_EVENT", "DEVICE_LIFECYCLE_STATE_CHANGE", "DEVICE_OPERATIONAL_STATE_CHANGE" ] } } , "required":[ "type" ] } - dataType: | { "id" : "http://api.covisint.com/schema/dataType", "$schema" : "http://json-schema.org/draft-04/schema", "description" : "Data type enum.", "enum":[ "string", "integer", "bool", "decimal" ] } - attribute: | { "id" : "http://api.covisint.com/schema/attribute", "$schema" : "http://json-schema.org/draft-04/schema", "type" : "object", "description" : "An attribute.", "properties" : { "oneOf" : [ { "attributeTypeId" : { "type" : "string", "description" : "The attribute type id." } }, { "attributeType" : { "description" : "The full attribute type definition.", "$ref" : "http://api.covisint.com/schema/attributeType#" } } ], "value" : { "type" : "any", "description" : "The attribute value." } } , "required":[ "attributeTypeId" ] } - attributes: | { "id" : "http://api.covisint.com/schema/attributes", "$schema" : "http://json-schema.org/draft-04/schema", "type" : "array", "description" : "Collection of attributes.", "items" : { "$ref" : "http://api.covisint.com/schema/attribute#" } } - expression: | { "id" : "http://api.covisint.com/schema/expression#", "$schema" : "http://json-schema.org/draft-04/schema", "description" : "The DSL for defining conditional expressions.", "oneOf" : [ { "type" : "object", "properties" : { "any" : { "type" : "array", "description" : "An aggregate expression representing an 'any' condition.", "items" : { "$ref" : "http://api.covisint.com/schema/expression#" } } } }, { "type" : "object", "properties" : { "all" : { "type" : "array", "description" : "An aggregate expression representing an 'all' condition.", "items" : { "$ref" : "http://api.covisint.com/schema/expression#" } } } }, { "type" : "object", "description" : "A simple leaf-node expression. The format of this expression is: '(f:, v:())'. The supported expressions are: equal, notEqual, startsWith, endsWith, matches, greaterThan, greaterThanOrEqual, lessThan, lessThanOrEqual. The field name can be a simple field name i.e. 'id' or hierarchical field name using dot-notation like 'resource.id' / 'resource.tag[0]' . The value corresponding to the field name provided should always be a simple data type and cannot be an array or an object.", "properties" : { "expr" : { "type" : "string" } } , "required":[ "expr" ] } ] } - analyticsAggregations: | { "id": "http://api.covisint.com/schema/analyticsAggregations", "$schema": "http://json-schema.org/draft-04/schema", "description": "Collection of analytics aggregation.", "type": "array", "items": { "$ref": "http://api.covisint.com/schema/analyticsAggregation#" } } - analyticsAggregation: | { "$schema": "http://json-schema.org/draft-04/schema#", "id": "http://api.covisint.com/schema/analyticsAggregation", "type": "object", "description": "Schema representing analyticsAggregation.", "extends":{ "$ref":"http://api.covisint.com/schema/realmScopedResourceV2#" }, "properties": { "name":{ "description":"Name of the analytics aggregation report.", "$ref":"http://api.covisint.com/idm/schema/internationalString#" }, "description":{ "description":"Description of the analytics aggregation report.", "$ref":"http://api.covisint.com/idm/schema/internationalString#" }, "analyticsDefinitionId":{ "type": "string", "description": "Unique id of analytics definition from which this (AnalyticsAggregation) is calculated." }, "startTime":{ "type" : "string", "description": "The time, in UTC DateFormat represents when the analytics started." }, "endTime":{ "type" : "string", "description": "The time, in UTC DateFormat represents when the analytics end." }, "timeWindow": { "description": "Time period window for this calculated aggregated report.", "enum":[ "1 Minute", "2 Minutes", "5 Minutes", "15 Minutes", "30 Minutes", "45 Minutes", "60 Minutes", "1440 Minutes", "10080 Minutes" ] }, "totalEventsCount":{ "type" : "number", "description":"The total number of events for that time window." }, "calculatedTarget":{ "type":"object", "required":true, "description":"Represents all detail information regarding target based on which this report generated.", "properties": { "operation": { "enum" : [ "STATISTICS", "FREQUENCY"], "description": "Represents the operation for which the aggregated report generated." }, "type": { "type": "string", "description": "Represents category on which aggregated statistics report based." }, "name": { "type": "string", "description": "User defined name." }, "id":{ "type": "string", "description": "Actual value to be used for calculation corresponding to category mentioned by above type." }, "value":{ "type":"string", "description":"represents value used by where clause for filtering." } }, "required":["operation","type","id","value"] }, "aggregatedFrequencyData": { "type": "object", "description": "Holds frequency information with all group by mention in analytics Type (Ref AanlyticsDefinitionV1.raml) .", "properties": { "name": { "type": "string", "description": "User defined name, which acts as header in report for frequecy count operation ( multiple name separated by pipe |)." }, "result": { "type":"array", "description" : "Frequency array.", "items" : { "$ref" : "http://api.covisint.com/schema/frequency#" } } }, "required":["name"] }, "aggregatedEventStatsData":{ "type": "object", "description": "Holds stats array.", "properties": { "name": { "type": "string", "description": "User defined name, which acts as header in report for statistics operation ( multiple name separated by pipe |)." }, "result": { "type":"array", "description" : "Represents values on which AnalyticsAggregation statistics will be calculated.", "items" : { "$ref" : "http://api.covisint.com/schema/stats#" } } }, "required":["name"] } }, "required":["name","analyticsDefinitionId","startTime","endTime","timeWindow","totalEventsCount"] } - frequency: | { "$schema": "http://json-schema.org/draft-04/schema#", "id": "http://api.covisint.com/schema/frequency", "type": "object", "description": "Schema representing frequency.", "properties":{ "value":{ "type": "string", "description": "Represents different group by value in correspondence to header name. " }, "frequency":{ "type" : "number", "description":"Frequency count corresponding to individual group by." } }, "required":["value","frequency"] } - stats: | { "$schema": "http://json-schema.org/draft-04/schema#", "id": "http://api.covisint.com/schema/stats", "type": "object", "description": "Schema representing stats.", "properties":{ "value":{ "type": "string", "description": "Represents different group by value in correspondence to header name. " }, "statsResult":{ "type":"array", "description" : "Hold statistics information regarding corresponding to individual GroupBY.", "items":{ "stats":{ "type":"string", "description":"Represent statistics information {supporting value like AVG,MIN,MAX,COUNT,SD,SUM,95Per,98Per}" }, "value":{ "type":"number", "description":"Statistics value corresponding to individual group by" } }, "required":["stats", "value"] } }, "required":["value"] } traits: - secured: displayName: secured - unsecured: displayName: unsecured - getResponse: displayName: getResponse - getSearchResponse: displayName: getSearchResponse - postResponse: displayName: postResponse - deleteResponse: displayName: deleteResponse - putResponse: displayName: putResponse - putResponseV2: displayName: putResponseV2 - putCreateResponse: displayName: putCreateResponse - taskResponse: displayName: taskResponse - pagableRequest: displayName: pagableRequest - taggable: displayName: taggable - sortable: displayName: sortable - searchable: displayName: searchable /analyticsAggregations: description: Collection endpoint for analyticsAggregations. get: description: "List of available analyticsAggregations.[flow-name:analytics-search-analyticsAggregation][Since:1.0]" headers: Accept: description: Media type for a analytics definitions. type: string required: true repeat: false example: application/vnd.com.covisint.platform.analyticsAggregation.v1+json Authorization: description: Access token that is obtained from the /token endpoint of the OAuth API. type: string required: true repeat: false pattern: "^Bearer .*$" example: Bearer ZCtYUGpYRXpET0JvVE1rZzlWV3I1Yk queryParameters: analyticsDefinitionId: description: Filter analyticsAggregations by analyticsDefinitionId. type: string required: false repeat: false sortBy: description: Sort the search results. type: string required: false repeat: false enum: [+creation, "-creation"] example: +creation, -name (These will sort by creation ascending, name descending. If "+/-" prefix is omitted, then an ascending sort is assumed). responses: "200": description: Matching analyticsAggregation were retrieved successfully. body: application/vnd.com.covisint.iotanalytics.analyticsAggregation.v1+json: schema: analyticsAggregations "400": description: | There was a problem with the client's request. ___ Substatus codes and error messages are mentioned below: + framework:request + framework:request:io + framework:request:io:read - Invalid input. There was an error while parsing. + framework:request:io:read:parsing + framework:request:io:write + framework:request:header:missing - Missing request header: {headerName} + framework:request:param:missing - Missing request parameter: {queryParameterName} + framework:request:data:missing - The following information was missing from the resource: {resourceFieldName(s)} + securityquestions.multiple.owner.id.invalid - Muliple owner ids {ownerId(s)} are not allowed + securityquestions.multiple.owner.type.invalid - Muliple owner types {ownerId(s)} are not allowed + securityquestions.owner.id.invalid - Owner id {ownerId} invalid if owner type is not mentioned + securityquestions.owner.type.invalid - Owner type {ownerType} invalid if owner id is not mentioned + framework:request:invalid:header:value - Invalid x-requestor header value. Valid values are [person, application] + framework:request:param:invalid - The following parameter should not be part of the request: {queryParameterName} body: application/vnd.com.covisint.error.v1+json: schema: errorResponseSchema "406": description: | Unable to produce content of specified 'Accept' media type ___ Substatus codes and error messages are mentioned below: + framework:request:unsupported:mediatype - The server is unable to produce content of type {acceptMediaType} body: application/vnd.com.covisint.error.v1+json: schema: errorResponseSchema "500": description: | An unknown server error occurred ___ Substatus codes and error messages are mentioned below: + framework:unknown body: application/vnd.com.covisint.error.v1+json: schema: errorResponseSchema "401": description: Unauthenticated request. This is returned if the access token is missing, invalid, or expired. Access tokens are obtained through the /token endpoint of the Oauth API. body: application/vnd.com.covisint.error.v1+json: schema: errorResponseSchema "403": description: Unauthorized request. The requestor is not authorized to perform the requested operation. body: application/vnd.com.covisint.error.v1+json: schema: errorResponseSchema is: [sortable, getSearchResponse, secured] /{analyticsAggId}: description: "Endpoint for an individual analyticsAggregation.[Since:1.0]" uriParameters: analyticsAggId: description: Unique id of an analyticsAggregation. type: string required: false repeat: false get: description: "Retrieve the analyticsAggregation by its analyticsAggId.[flow-name:analytics-get-analyticsAggregation]" headers: Accept: description: Media type. type: string required: true repeat: false example: application/vnd.com.covisint.platform.analyticsAggregation.v1+json Authorization: description: Access token that is obtained from the /token endpoint of the OAuth API. type: string required: true repeat: false pattern: "^Bearer .*$" example: Bearer ZCtYUGpYRXpET0JvVE1rZzlWV3I1Yk responses: "200": description: analyticsAggregation was successfully retrieved by its id. body: application/vnd.com.covisint.platform.analyticsAggregation.v1+json: schema: analyticsAggregation "400": description: | There was a problem with the client's request. ___ Substatus codes and error messages are mentioned below: + framework:request + framework:request:io + framework:request:io:read - Invalid input. There was an error while parsing. + framework:request:io:read:parsing + framework:request:io:write + framework:request:header:missing - Missing request header: {headerName} + framework:request:param:missing - Missing request parameter. + framework:request:data:missing - The following information was missing from the resource: {resourceFieldName(s)} + framework:request:invalid:header:value - Invalid x-requester header value. Valid values are [person, application] body: application/vnd.com.covisint.error.v1+json: schema: errorResponseSchema "404": description: | The URI requested is invalid or the resource requested does not exist. ___ Substatus codes and error messages are mentioned below: + (If a resource id is a URI parameter) framework:resource:missing - A resource with the following ID was not found: {resourceId} + No message for an invalid URI body: application/vnd.com.covisint.error.v1+json: schema: errorResponseSchema "406": description: | Unable to produce content of specified 'Accept' media type ___ Substatus codes and error messages are mentioned below: + framework:request:unsupported:mediatype - The server is unable to produce content of type {acceptMediaType} body: application/vnd.com.covisint.error.v1+json: schema: errorResponseSchema "500": description: | An unknown server error occurred ___ Substatus codes and error messages are mentioned below: + framework:unknown body: application/vnd.com.covisint.error.v1+json: schema: errorResponseSchema "401": description: Unauthenticated request. This is returned if the access token is missing, invalid, or expired. Access tokens are obtained through the /token endpoint of the Oauth API. body: application/vnd.com.covisint.error.v1+json: schema: errorResponseSchema "403": description: Unauthorized request. The requestor is not authorized to perform the requested operation. body: application/vnd.com.covisint.error.v1+json: schema: errorResponseSchema is: [getResponse, secured]