blob: c3ea325362228d381ef5aee5f62a3424bed9101d [file] [log] [blame]
{
"openapi" : "3.0.1",
"info" : {
"title" : "Cognite API",
"description" : "This is the reference documentation for the Cognite API. Here you can see an overview of all methods available through the API.",
"version" : "0.5"
},
"servers" : [ {
"url" : "https://api.cognitedata.com"
} ],
"tags" : [ {
"name" : "API Keys",
"description" : "An API key is a secret string that grants a user access to a project when making requests to the API. Each API key connects exactly one user to one project. A single user can have multiple API keys for the same project."
}, {
"name" : "Assets",
"description" : "CDP organizes digital information about the physical world. Assets are digital representations of physical objects or groups of objects, and assets are organized into an asset hierarchy. For example, an asset can represent a water pump which is part of a subsystem on an oil platform.\n\nAssets are used to connect related data together, even if the data comes from different sources; Time series of data points, events and files are all connected to one or more assets. The pump asset can be connected to a time series measuring pressure within the pump, as well as events recording maintenance operations, and a file with a 3D diagram of the pump.\n\nAt the top of an asset hierarchy is a root asset (e.g., the oil platform). Each project can have multiple root assets. All assets have a name and a parent asset. No assets with the same parent can have the same name."
}, {
"name" : "Events",
"description" : "Event objects store complex information about multiple assets over a time period. For example, an event can describe two hours of maintenance on a water pump and some associated pipes, or a future time window where the pump is scheduled for inspection. This is in contrast with data points in time series that store single pieces of information about one asset at specific points in time (e.g., temperature measurements).\n\nAn event’s time period is defined by a start time and end time, both millisecond timestamps since the UNIX epoch. The timestamps can be in the future. Events can also be categorized by a type (e.g, “fault”) and a subtype (e.g., “electrical”), both arbitrary strings defined when creating the event. In addition, events can have a text description as well as arbitrary metadata and properties.\n"
}, {
"name" : "Files",
"description" : "A file stores a sequence of bytes connected to one or more assets. For example, a file can contain a piping and instrumentation diagram (P&IDs) showing how multiple assets are connected.\n\nEach file is identified by a unique ID that is generated when it is a created, as well as a name and a directory path. File names are limited to 256 bytes, and directory paths to 512. The combination of file name and directory path must be unique within a project.\n\nDirectories in CDP differ from ones in normal file systems; They exist only as string attributes on individual file objects. This means that directories themselves cannot be created, deleted, or moved. There is no particular path separator, and no notion of a directory hierarchy.\n\nFiles are created in two steps; First the metadata is stored in a file object, and then the file contents are uploaded. This means that files can exist in a non-uploaded state."
}, {
"name" : "Groups",
"description" : "Groups control which resources users can access. Each group has a set of permissions. A user has all the permissions of all the groups that user is a member of. Users can only be granted permissions through group membership.\n\nA permission grants one or more access types (READ, WRITE, ADMIN, or RAW_READ). Optionally, permissions can be limited to some assets in the asset hierarchy (and their descendants). If a permission is not limited to some assets, it grants access to all assets. For example, a READ permission to a water pump asset lets users in groups with that permission retrieve data points from all the sensors on the pump.\n\nA permission can optionally be connected to a set of security categories. Security categories hide assets from all users except those that have permissions explicitly granting access to that security category. This allows e.g. stock sensitive data to be hidden from most users by default."
}, {
"name" : "Login",
"description" : "User / client authentication."
}, {
"name" : "Logout",
"description" : "User / client session invalidation."
}, {
"name" : "Projects",
"description" : "Projects are used to separate customers from one another, and all objects in CDP are linked to a project. A customer usually has only one project. The project object contains configuration for how to authenticate users.\n\nAutomatically assigned object ids are unique only within each project.\n\nWarning: The projects API is currently in experimental alpha; if you have issues, contact Cognite."
}, {
"name" : "Raw",
"description" : "Manage data in the raw NoSQL database. Each project will have a variable number of raw databases, each of which will have a variable number of tables, each of which will have a variable number of key-value objects. Only queries on key are supported through this API."
}, {
"name" : "Security categories",
"description" : "Manage security categories for a specific project."
}, {
"name" : "Users",
"description" : "Manage users for a specific project."
}, {
"name" : "Time series",
"description" : "A time series consists of a sequence of data points connected to a single asset. \n\nFor example: A water pump asset can have a temperature time series that records a data point in units of °C every second. \n\nA single asset can have several time series. The water pump could have additional time series measuring pressure within the pump, rpm, flow volume, power consumption, and more.\n\nTime series store data points as either number or strings. This is controlled by the is_string flag on the time series object. Numerical data points can be aggregated before they are returned from a query (e.g., to find the average temperature for a day). String data points, on the other hand, cannot be aggregated by CDF, but can store arbitrary information like states (e.g. “open”/”closed”) or more complex information (JSON).\n\nCognite stores discrete data points, but the underlying process measured by the data points can vary continuously. When interpolating between data points, we can either assume that each value stays the same until the next measurement, or that it linearly changes between the two measurements. This is controlled by the is_step flag on the time series object. For example, if we estimate the average over a time containing two data points, the average will either be close to the first (is step) or close to the mean of the two (not is step).\n\nA data point stores a single piece of information, a number or a string, associated with a specific time. Data points are identified by their timestamps, measured in milliseconds since the unix epoch -- 00:00, January 1st, 1970. Milliseconds is the finest time resolution supported by CDF i.e. fractional milliseconds are not supported. Leap seconds are not counted.\n\nNumerical data points can be aggregated before they are retrieved from CDF. This allows for faster queries by reducing the amount of data transferred. You can aggregate data points by specifying one or more aggregates (e.g. average, minimum, maximum) as well as the time granularity over which the aggregates should be applied (e.g. “1h” for one hour).\n\nAggregates are aligned to the start time modulo the granularity unit. For example, if you ask for daily average temperatures since monday afternoon last week, the first aggregated data point will contain averages for monday, the second for tuesday, etc. Determining aggregate alignment without considering data point timestamps allows CDF to pre-calculate aggregates (e.g. to quickly return daily average temperatures for a year). As a consequence, aggregating over 60 minutes can return a different result that aggregating over 1 hour because the two queries will be aligned differently.Deprecation warning: In the future, CDF will phase out name as a unique identifier for time series, and instead use a primary key of externalId. Time series names must currently be unique across across all time series in the same project. In version 0.6 of CDF, time series names will no longer be unique. "
} ],
"paths" : {
"/login/status" : {
"get" : {
"tags" : [ "Login" ],
"summary" : "Verify login status",
"description" : "Checks whether you are logged in.",
"operationId" : "status",
"responses" : {
"200" : {
"description" : "Login status.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/LoginStatusResponse"
}
}
}
}
}
}
},
"/login/redirect" : {
"get" : {
"tags" : [ "Login" ],
"summary" : "Login with redirect",
"description" : "Redirects to a login URL. This endpoint is typically used by front-end services acting on behalf of users to log them in.",
"operationId" : "redirect-url",
"parameters" : [ {
"name" : "project",
"in" : "query",
"description" : "The project to login to.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "redirectUrl",
"in" : "query",
"description" : "The url to send the user to after the login is successful.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "errorRedirectUrl",
"in" : "query",
"description" : "The url to send the user to if the login fails or is aborted.",
"schema" : {
"type" : "string"
}
} ],
"responses" : {
"303" : {
"description" : "Redirection to the login url"
}
}
}
},
"/login/token" : {
"get" : {
"tags" : [ "Login" ],
"summary" : "Validate a JSON Web Token",
"description" : "Checks if a JWT ([JSON Web Token](https://en.wikipedia.org/wiki/JSON_Web_Token)) is valid.",
"operationId" : "getTokenStatus",
"parameters" : [ {
"name" : "token",
"in" : "query",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"responses" : {
"200" : {
"description" : "Returns information on whether the token is valid.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/SingleTokenStatusDTOResponse"
}
}
}
}
}
}
},
"/login/userinfo" : {
"get" : {
"tags" : [ "Login" ],
"summary" : "Obtain user information",
"operationId" : "userinfo",
"parameters" : [ {
"name" : "Authorization",
"in" : "header",
"schema" : {
"type" : "string"
}
} ],
"responses" : {
"200" : {
"description" : "User information.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/IdToken"
}
}
}
}
}
}
},
"/logout" : {
"get" : {
"tags" : [ "Logout" ],
"summary" : "Logout",
"description" : "Invalidates session.",
"operationId" : "logout",
"responses" : {
"200" : {
"description" : "Session invalidated.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/LoginStatusResponse"
}
}
}
}
},
"security" : [ {
"token" : [ ]
} ]
}
},
"/logout/url" : {
"get" : {
"tags" : [ "Logout" ],
"summary" : "Retrieve a logout url",
"description" : "Get logout url of the given project.",
"operationId" : "logoutUrl",
"parameters" : [ {
"name" : "redirectUrl",
"in" : "query",
"description" : "The url to send the user to after the logout is successful.",
"schema" : {
"type" : "string"
}
} ],
"responses" : {
"200" : {
"description" : "Logout URL.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/LoginUrlResponse"
}
}
}
}
},
"security" : [ {
"token" : [ ]
} ]
}
},
"/api/0.5/projects/{project}/groups/{groupId}/users" : {
"get" : {
"tags" : [ "Groups" ],
"summary" : "List users in a group",
"description" : "Retrieve a list of users that are members of the group with the given ID.",
"operationId" : "getUsersForGroup",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "groupId",
"in" : "path",
"required" : true,
"schema" : {
"type" : "integer",
"format" : "int64"
}
} ],
"responses" : {
"200" : {
"description" : "A list of users.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/UserResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "GroupsAcl:READ" ]
},
"post" : {
"tags" : [ "Groups" ],
"summary" : "Add users to a group",
"description" : "Grant the users with the given IDs membership in a group. This operation is not idempotent; If any of the given users is already a member of the group, the operation will fail.",
"operationId" : "addUsersToGroup",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "groupId",
"in" : "path",
"required" : true,
"schema" : {
"type" : "integer",
"format" : "int64"
}
} ],
"requestBody" : {
"description" : "List of users to add",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/DataUserId"
}
}
},
"required" : true
},
"responses" : {
"200" : {
"description" : "Empty response."
},
"400" : {
"description" : "Missing required fields.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/MissingFieldError"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "GroupsAcl:UPDATE" ]
}
},
"/api/0.5/projects/{project}/raw/{dbName}" : {
"get" : {
"tags" : [ "Raw" ],
"summary" : "List all tables in a database",
"operationId" : "getTables",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "dbName",
"in" : "path",
"description" : "The name of a database to retrieve tables from.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "limit",
"in" : "query",
"description" : "Limit on the number of tables to be returned.",
"schema" : {
"type" : "integer",
"format" : "int32",
"default" : 25
}
}, {
"name" : "cursor",
"in" : "query",
"description" : "Cursor for paging through the results.",
"schema" : {
"type" : "string"
}
} ],
"responses" : {
"200" : {
"description" : "A list of tables in the database",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/RawDBTablesWithCursorResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "RawAcl:LIST" ]
}
},
"/api/0.5/projects/{project}/securitycategories" : {
"get" : {
"tags" : [ "Security categories" ],
"summary" : "List all security categories",
"operationId" : "getSecurityCategories",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "sort",
"in" : "query",
"description" : "Sort descending or ascending. Default 'ASC'.",
"content" : {
"application/json" : {
"schema" : {
"type" : "string",
"enum" : [ "ASC", "DESC" ],
"default" : "ASC"
}
}
}
}, {
"name" : "cursor",
"in" : "query",
"description" : "Cursor to use for paging through results.",
"schema" : {
"type" : "string"
}
}, {
"name" : "limit",
"in" : "query",
"description" : "Return up to this many results. Maximum is 1000. Default is 25.",
"schema" : {
"maximum" : 1000,
"type" : "integer",
"format" : "int32",
"default" : 25
}
} ],
"responses" : {
"200" : {
"description" : "A list of security categories.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/SecurityCategoryWithCursorResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "SecuritycategoriesAcl:LIST" ]
},
"post" : {
"tags" : [ "Security categories" ],
"summary" : "Create security categories",
"operationId" : "createSecurityCategories",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"requestBody" : {
"description" : "List of categories to create",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/DataSecurityCategorySpecDTO"
}
}
},
"required" : true
},
"responses" : {
"200" : {
"description" : "A list of security categories.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/SecurityCategoryResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "SecuritycategoriesAcl:CREATE" ]
}
},
"/api/0.5/projects/{project}/raw/{dbName}/delete" : {
"post" : {
"tags" : [ "Raw" ],
"summary" : "Delete tables in a database",
"description" : "Returns empty response if table to be deleted is not found.",
"operationId" : "deleteTables",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "dbName",
"in" : "path",
"description" : "Name of the database to delete tables in.",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"requestBody" : {
"description" : "List of tables to delete.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/DataRawDBTable"
}
}
},
"required" : true
},
"responses" : {
"200" : {
"description" : "Empty response.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/EmptyResponse"
}
}
}
},
"400" : {
"description" : "Missing required fields.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/MissingFieldError"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "RawAcl:WRITE" ]
}
},
"/api/0.5/projects/{project}/files/search" : {
"get" : {
"tags" : [ "Files" ],
"summary" : "Search for files",
"description" : "Retrieves a list with information about files matching the given criteria. This operation supports limited pagination with the offset parameter, but does not support retrieving all files in a project.",
"operationId" : "searchFiles",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "name",
"in" : "query",
"description" : "Prefix and fuzzy search on file name.",
"schema" : {
"type" : "string"
}
}, {
"name" : "directory",
"in" : "query",
"description" : "Filter on directory.",
"schema" : {
"type" : "string"
}
}, {
"name" : "type",
"in" : "query",
"description" : "Filter on file type.",
"schema" : {
"type" : "string"
}
}, {
"name" : "uploaded",
"in" : "query",
"description" : "Filter on upload status.",
"schema" : {
"type" : "boolean"
}
}, {
"name" : "minUploadedAt",
"in" : "query",
"description" : "Filter out files uploaded before this. Format is milliseconds since epoch.",
"schema" : {
"type" : "integer",
"format" : "int64"
}
}, {
"name" : "maxUploadedAt",
"in" : "query",
"description" : "Filter out files uploaded after this. Format is milliseconds since epoch.",
"schema" : {
"type" : "integer",
"format" : "int64"
}
}, {
"name" : "minCreatedTime",
"in" : "query",
"description" : "Filter out files with createdTime before this. Format is milliseconds since epoch.",
"schema" : {
"type" : "integer",
"format" : "int64"
}
}, {
"name" : "maxCreatedTime",
"in" : "query",
"description" : "Filter out files with createdTime after this. Format is milliseconds since epoch.",
"schema" : {
"type" : "integer",
"format" : "int64"
}
}, {
"name" : "minLastUpdatedTime",
"in" : "query",
"description" : "Filter out files with lastUpdatedTime before this. Format is milliseconds since epoch.",
"schema" : {
"type" : "integer",
"format" : "int64"
}
}, {
"name" : "maxLastUpdatedTime",
"in" : "query",
"description" : "Filter out files with lastUpdatedTime after this. Format is milliseconds since epoch.",
"schema" : {
"type" : "integer",
"format" : "int64"
}
}, {
"name" : "metadata",
"in" : "query",
"description" : "Include files that must match all specified metadata key-value pairs. Format is a JSON dictionary : {\"key1\": \"value1\", \"key2\": \"value2\"}. Each key and value is matched case-insensitive.",
"schema" : {
"type" : "string"
}
}, {
"name" : "assetIds",
"in" : "query",
"description" : "Filter out files that are not linked to any of these assets. Format is [12,345,6,7890].",
"schema" : {
"type" : "string"
}
}, {
"name" : "assetSubtrees",
"in" : "query",
"description" : "Filter out files that are not linked to assets in the subtree rooted at these assets. Format is [12,345,6,7890].",
"schema" : {
"type" : "string"
}
}, {
"name" : "sort",
"in" : "query",
"description" : "Field to be sorted. If not specified, results are sorted by relevance score.",
"schema" : {
"type" : "string",
"enum" : [ "createdTime", "lastUpdatedTime" ]
}
}, {
"name" : "dir",
"in" : "query",
"description" : "Sort direction: descending or ascending. Only applicable if sort is specified. Default 'desc'.",
"schema" : {
"type" : "string",
"enum" : [ "asc", "desc" ],
"default" : "desc"
}
}, {
"name" : "limit",
"in" : "query",
"description" : "Limits the number of results to be returned. The maximum results returned by the server is 1000 even if the limit specified is larger.",
"schema" : {
"maximum" : 1000,
"minimum" : 1,
"type" : "integer",
"format" : "int32",
"default" : 100
}
}, {
"name" : "offset",
"in" : "query",
"description" : "Offset from the first result. Sum of limit and offset must not exceed 1000",
"schema" : {
"maximum" : 1000,
"type" : "integer",
"format" : "int32",
"default" : 0
}
} ],
"responses" : {
"200" : {
"description" : "Experimental endpoint. Search on files.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/FileResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "FilesAcl:READ" ]
}
},
"/api/0.5/projects/{project}/assets" : {
"get" : {
"tags" : [ "Assets" ],
"summary" : "List all assets",
"description" : "Retrieve a list of all assets in the given project. The list is sorted alphabetically by name. This operation supports pagination.\n\nYou can retrieve a subset of assets by supplying additional fields; Only assets satisfying all criteria will be returned. Names and descriptions are fuzzy searched using [edit distance](https://en.wikipedia.org/wiki/Edit_distance). The fuzziness parameter controls the maximum edit distance when considering matches for the name and description fields.",
"operationId" : "getAssets",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "name",
"in" : "query",
"description" : "The name of the asset(s) to get.",
"schema" : {
"type" : "string"
}
}, {
"name" : "fuzziness",
"in" : "query",
"description" : "The degree of fuzziness in the name matching",
"schema" : {
"type" : "integer",
"format" : "int32",
"default" : 0
}
}, {
"name" : "path",
"in" : "query",
"description" : "The path of the subtree to search in, formatted as a JSON array of asset name or id. The query performs a sub-sequence match on path, i.e. the specified path does not have to start with the top-level root node. In fact, it is more efficient only to specify a single subtree asset id or name for the search.",
"schema" : {
"type" : "string"
}
}, {
"name" : "depth",
"in" : "query",
"description" : "Get sub assets up to this many levels below the specified path.",
"schema" : {
"type" : "integer",
"format" : "int32"
}
}, {
"name" : "metadata",
"in" : "query",
"description" : "Include assets that must match all specified metadata key-value pairs. Format is a JSON dictionary : {\"key1\": \"value1\", \"key2\": \"value2\"}. Each key and value is matched case-insensitive.",
"schema" : {
"type" : "string"
}
}, {
"name" : "description",
"in" : "query",
"description" : "Only return assets that contain this description",
"schema" : {
"type" : "string"
}
}, {
"name" : "source",
"in" : "query",
"description" : "The source of the assets used to filter the results",
"schema" : {
"type" : "string"
}
}, {
"name" : "cursor",
"in" : "query",
"description" : "Cursor to use for paging through results",
"schema" : {
"type" : "string"
}
}, {
"name" : "limit",
"in" : "query",
"description" : "Limits the number of results to be returned. The maximum results returned by the server is 10000 even if the limit specified is larger.",
"schema" : {
"maximum" : 10000,
"minimum" : 1,
"type" : "integer",
"format" : "int32",
"default" : 100
}
} ],
"responses" : {
"200" : {
"description" : "A list of assets in lexicographic order.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/AssetDataWithCursorResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "AssetsAcl:READ" ]
},
"put" : {
"tags" : [ "Assets" ],
"summary" : "Overwrite multiple assets",
"description" : "This operation does not support partial updates e.g. updating just the name of the asset without specifying values for other fields.",
"operationId" : "putAssets",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"requestBody" : {
"description" : "List of assets to update",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/DataAsset"
}
}
},
"required" : true
},
"responses" : {
"200" : {
"description" : "Empty response.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/EmptyResponse"
}
}
}
},
"400" : {
"description" : "Ids duplicated.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "AssetsAcl:WRITE" ]
},
"post" : {
"tags" : [ "Assets" ],
"summary" : "Create assets",
"description" : "Creates new assets in the given project.",
"operationId" : "postAssets",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"requestBody" : {
"description" : "List of assets to create",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/DataCreateAsset"
}
}
},
"required" : true
},
"responses" : {
"200" : {
"description" : "A list of the posted assets.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/AssetDataResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "AssetsAcl:WRITE" ]
}
},
"/api/0.5/projects/{project}/assets/update" : {
"post" : {
"tags" : [ "Assets" ],
"summary" : "Update multiple assets",
"description" : "Updates multiple assets within the same project. Updating assets does not replace the existing asset hierarchy. This operation supports partial updates, meaning that fields omitted from the requests are not changed.\n\nUnder DataAssetChange -> SinglePathString, you can use 'set': 'value' to update value; use 'setNull': true to set that field to null.",
"operationId" : "alterAssets",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"requestBody" : {
"description" : "List of changes.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/DataAssetChange"
}
}
},
"required" : true
},
"responses" : {
"200" : {
"description" : "Corresponding assets after applying the updates.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/AssetDataResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "AssetsAcl:WRITE" ]
}
},
"/api/0.5/projects/{project}/raw/delete" : {
"post" : {
"tags" : [ "Raw" ],
"summary" : "Delete databases",
"description" : "Returns empty response if database to be deleted is not found.",
"operationId" : "deleteDBs",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "recursive",
"in" : "query",
"description" : "Whether belonging tables and rows should be deleted recursively",
"schema" : {
"type" : "boolean",
"default" : false
}
} ],
"requestBody" : {
"description" : "List of names of the databases to be deleted.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/DataRawDB"
}
}
},
"required" : true
},
"responses" : {
"200" : {
"description" : "Empty response.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/EmptyResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "RawAcl:WRITE" ]
}
},
"/api/0.5/projects/{project}/assets/{id}/update" : {
"post" : {
"tags" : [ "Assets" ],
"summary" : "Update an asset",
"description" : "Updates an asset object. Supports partial updates i.e. updating only some fields but leaving the rest unchanged.\n\nUnder DataAssetChange -> SinglePathString, you can use 'set': 'value' to update value; use 'setNull': true to set that field to null.",
"operationId" : "alterAsset",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "id",
"in" : "path",
"description" : "Id of the asset",
"required" : true,
"schema" : {
"type" : "integer",
"format" : "int64"
}
} ],
"requestBody" : {
"description" : "Content of changes",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/AssetChange"
}
}
},
"required" : true
},
"responses" : {
"200" : {
"description" : "Corresponding asset after applying the update.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/AssetDataResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "AssetsAcl:WRITE" ]
}
},
"/api/0.5/projects/{project}/files/update" : {
"post" : {
"tags" : [ "Files" ],
"summary" : "Update multiple files’ metadata",
"description" : "Updates information about multiple files in the same project. This operation does not alter file contents, and partial updates are supported.\n\nFor primitive fields (String, Long, Int), use 'set': 'value' to update value; use 'setNull': true to set that field to null.\n\nFor the Json Array field (e.g. assetIds), use 'set': [value1, value2] to update value; use 'add': [v1, v2] to add values to current list of values; use 'remove': [v1, v2] to remove these values from current list of values if exists.\n\nAll file IDs must be unique.",
"operationId" : "alterFiles",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"requestBody" : {
"description" : "List of changes. All file IDs must be unique.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/DataFileChange"
}
}
},
"required" : true
},
"responses" : {
"200" : {
"description" : "Empty response.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/EmptyResponse"
}
}
}
},
"400" : {
"description" : "Ids duplicated.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "FilesAcl:WRITE" ]
}
},
"/api/0.5/projects/{project}/timeseries/search" : {
"get" : {
"tags" : [ "Time series" ],
"summary" : "Search for time series",
"description" : "Retrieves a list of time series matching the given criteria. This operation does not support pagination.",
"operationId" : "searchTimeSeries",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "name",
"in" : "query",
"description" : "Prefix and fuzzy search on name.",
"schema" : {
"type" : "string"
}
}, {
"name" : "description",
"in" : "query",
"description" : "Prefix and fuzzy search on description.",
"schema" : {
"type" : "string"
}
}, {
"name" : "query",
"in" : "query",
"description" : "Search on name and description using wildcard search on each of the words (separated by spaces). Retrieves results where at least one word must match. Example: '*some* *other*'",
"schema" : {
"type" : "string"
}
}, {
"name" : "unit",
"in" : "query",
"description" : "Filter on unit.",
"schema" : {
"type" : "string"
}
}, {
"name" : "isString",
"in" : "query",
"description" : "Filter on isString.",
"schema" : {
"type" : "boolean"
}
}, {
"name" : "isStep",
"in" : "query",
"description" : "Filter on isStep.",
"schema" : {
"type" : "boolean"
}
}, {
"name" : "metadata",
"in" : "query",
"description" : "Include timeseries that must match all specified metadata key-value pairs. Format is a JSON dictionary : {\"key1\": \"value1\", \"key2\": \"value2\"}. Each key and value is matched case-insensitive.",
"schema" : {
"type" : "string"
}
}, {
"name" : "assetIds",
"in" : "query",
"description" : "Filter out time series that are not linked to any of these assets. Format is [12,345,6,7890].",
"schema" : {
"type" : "string"
}
}, {
"name" : "assetSubtrees",
"in" : "query",
"description" : "Filter out time series that are not linked to assets in the subtree rooted at these assets. Format is [12,345,6,7890].",
"schema" : {
"type" : "string"
}
}, {
"name" : "minCreatedTime",
"in" : "query",
"description" : "Filter out time series with createdTime before this. Format is milliseconds since epoch.",
"schema" : {
"type" : "integer",
"format" : "int64"
}
}, {
"name" : "maxCreatedTime",
"in" : "query",
"description" : "Filter out time series with createdTime after this. Format is milliseconds since epoch.",
"schema" : {
"type" : "integer",
"format" : "int64"
}
}, {
"name" : "minLastUpdatedTime",
"in" : "query",
"description" : "Filter out time series with lastUpdatedTime before this. Format is milliseconds since epoch.",
"schema" : {
"type" : "integer",
"format" : "int64"
}
}, {
"name" : "maxLastUpdatedTime",
"in" : "query",
"description" : "Filter out time series with lastUpdatedTime after this. Format is milliseconds since epoch.",
"schema" : {
"type" : "integer",
"format" : "int64"
}
}, {
"name" : "sort",
"in" : "query",
"description" : "Field to be sorted. If not specified, results are sorted by relevance score.",
"schema" : {
"type" : "string",
"enum" : [ "createdTime", "lastUpdatedTime" ]
}
}, {
"name" : "dir",
"in" : "query",
"description" : "Sort direction: descending or ascending. Only applicable if sort is specified. Default 'desc'.",
"schema" : {
"type" : "string",
"enum" : [ "asc", "desc" ],
"default" : "desc"
}
}, {
"name" : "limit",
"in" : "query",
"description" : "Return up to this many results. Maximum is 1000. Default is 25.",
"schema" : {
"maximum" : 1000,
"type" : "integer",
"format" : "int32",
"default" : 25
}
}, {
"name" : "offset",
"in" : "query",
"description" : "Offset from the first result. Sum of limit and offset must not exceed 1000. Default is 0.",
"schema" : {
"type" : "integer",
"format" : "int32",
"default" : 0
}
}, {
"name" : "boostName",
"in" : "query",
"description" : "Whether or not boosting name field. This option is experimental and can be changed.",
"schema" : {
"type" : "boolean",
"default" : false
}
} ],
"responses" : {
"200" : {
"description" : "Experimental endpoint. Search on time series.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/TimeSeriesResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "TimeseriesAcl:READ" ]
}
},
"/api/0.5/projects/{project}/events/byids" : {
"post" : {
"tags" : [ "Events" ],
"summary" : "Retrieve multiple events",
"description" : "Retrieves information about multiple events in the same project. Events are returned in the same order as the ids listed in the query.\n\nA maximum of 10000 event IDs may be listed per request and all of them must be unique.",
"operationId" : "getEventsByIds",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"requestBody" : {
"description" : "List of IDs of events to retrieve. Must be up to a maximum of 10000 events and all of them must be unique.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/DataLong"
}
}
},
"required" : true
},
"responses" : {
"200" : {
"description" : "List of events matching the ids.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/EventDataResponse"
}
}
}
},
"400" : {
"description" : "Ids duplicated.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "EventsAcl:READ" ]
}
},
"/api/0.5/projects/{project}/timeseries/data" : {
"post" : {
"tags" : [ "Time series" ],
"summary" : "Insert a list of data points into multiple time series",
"description" : "Inserts multiple data points into multiple time series in the same project.",
"operationId" : "postMultiTimeSeriesDatapoints",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"requestBody" : {
"description" : "Datapoints to insert.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/DataDatapointsPostDatapoint"
}
}
},
"required" : true
},
"responses" : {
"200" : {
"description" : "Empty response.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/EmptyResponse"
}
}
}
},
"404" : {
"description" : "Names not found.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/NamesNotFoundResponse"
}
}
}
},
"400" : {
"description" : "Bad request.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ErrorResponse"
}
}
}
},
"403" : {
"description" : "Forbidden.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "TimeseriesAcl:WRITE" ]
}
},
"/api/0.5/projects/{project}/files/initupload" : {
"post" : {
"tags" : [ "Files" ],
"summary" : "Upload a file",
"description" : "Stores the given metadata in a file object and returns an URL for uploading the file contents. Immediately after this operation, the client must issue a PUT request to the returned URL with the contents of the file. The upload link can only be used once and will expire if not used.\n\nFile uploads can be resumable (see https://cloud.google.com/storage/docs/json_api/v1/how-tos/resumable-upload).\nResumable links (the default) expire after one week. Non-resumable links expire after 30 seconds.",
"operationId" : "initiateUploadSession",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "X-Upload-Content-Type",
"in" : "header",
"description" : "The content type of the file to be uploaded.",
"schema" : {
"type" : "string"
}
}, {
"name" : "Origin",
"in" : "header",
"description" : "Origin for Cross Origin Resource Sharing. This field is required in resumable upload if there is a Cross Origin issue",
"schema" : {
"type" : "string"
}
}, {
"name" : "resumable",
"in" : "query",
"description" : "Whether to generate a resumable URL or not. Default is true.",
"schema" : {
"type" : "boolean",
"default" : true
}
}, {
"name" : "overwrite",
"in" : "query",
"description" : "Whether to overwrite existing data if duplicate or not. Default is false. If true, metadata will be overwritten; actual file will be overwritten after successfully uploading. If there is no successful upload, current file will not change. File-Asset mappings only change if explicitly stated in assetIds field of json body. DO NOT set assetIds if want to keep current file-asset mappings.",
"schema" : {
"type" : "boolean",
"default" : false
}
} ],
"requestBody" : {
"description" : "Specify the content-type of upload file. In case of non-resumable upload, when setting content-type of file, the client MUST provide HTTP header 'Content-Type' (in upload request) set to the same value.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/FileInfo"
}
}
},
"required" : true
},
"responses" : {
"200" : {
"description" : "Upload URL and file ID.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/URLResponse"
}
}
}
},
"400" : {
"description" : "Missing required fields.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/MissingFieldError"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "FilesAcl:WRITE" ]
}
},
"/api/0.5/projects/{project}/raw/{dbName}/{tableName}/create" : {
"post" : {
"tags" : [ "Raw" ],
"summary" : "Insert rows into a table",
"operationId" : "postRows",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "dbName",
"in" : "path",
"description" : "Name of the database.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "tableName",
"in" : "path",
"description" : "Name of the table.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "ensureParent",
"in" : "query",
"description" : "Create database/table if it doesn't exist already",
"schema" : {
"type" : "boolean",
"default" : false
}
} ],
"requestBody" : {
"description" : "List of rows to create.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/DataRawDBRow"
}
}
},
"required" : true
},
"responses" : {
"200" : {
"description" : "Empty response.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/EmptyResponse"
}
}
}
},
"400" : {
"description" : "Missing required fields.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/MissingFieldError"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "RawAcl:WRITE" ]
}
},
"/api/0.5/projects/{project}/assets/delete" : {
"post" : {
"tags" : [ "Assets" ],
"summary" : "Delete assets",
"description" : "Deletes multiple assets in the same project, along with all their descendants in the asset hierarchy.",
"operationId" : "deleteAssets",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"requestBody" : {
"description" : "List of IDs of assets to delete.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/DataLong"
}
}
},
"required" : true
},
"responses" : {
"200" : {
"description" : "Empty response.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/EmptyResponse"
}
}
}
},
"400" : {
"description" : "Ids duplicated.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "AssetsAcl:WRITE" ]
}
},
"/api/0.5/projects/{project}/timeseries/data/{name}" : {
"get" : {
"tags" : [ "Time series" ],
"summary" : "Retrieve data points from a single time series by name",
"description" : "Retrieves a list of data points from a single time series. This operation supports aggregation but not pagination.",
"operationId" : "getDatapointsByName",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "name",
"in" : "path",
"description" : "The time-series name to get datapoints from.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "start",
"in" : "query",
"description" : "Get datapoints after this time. Format is N[timeunit]-ago where timeunit is w,d,h,m,s. Example: '2d-ago' will get everything that is up to 2 days old. Can also send time in ms since epoch. Note that when using aggregates, the start time will be rounded down to a whole granularity unit (in UTC timezone). For granularity 2d it will be rounded to 0:00 AM on the same day, for 3h it will be rounded to the start of the hour, etc.",
"schema" : {
"type" : "string",
"default" : "0"
}
}, {
"name" : "end",
"in" : "query",
"description" : "Get datapoints up to this time. Same format as for start. Note that when using aggregates, the end will be rounded up such that the last aggregate represents a full aggregation interval containing the original end, where the interval is the granularity unit times the granularity multiplier. For granularity 2d, the aggregation interval is 2 days, if end was originally 3 days after the start, it will be rounded to 4 days after the start.",
"schema" : {
"type" : "string",
"default" : "now"
}
}, {
"name" : "aggregates",
"in" : "query",
"description" : "Get aggregate values for this interval. The format is 'f1,f2,f3' where each entry is an aggregate function. Valid aggregate functions: 'average/avg, max, min, count, sum, interpolation/int, stepinterpolation/step, continuousvariance/cv, discretevariance/dv, totalvariation/tv'. The query parameter 'granularity' must also be specified. Max limit for aggregates is 10000.",
"schema" : {
"type" : "string"
}
}, {
"name" : "granularity",
"in" : "query",
"description" : "The granularity of the aggregate values. Valid entries are: 'day/d, hour/h, minute/m, second/s', or a multiple of these indicated by a number as a prefix. Example: 12hour.",
"schema" : {
"type" : "string"
}
}, {
"name" : "limit",
"in" : "query",
"description" : "Return up to this number of datapoints.",
"schema" : {
"maximum" : 100000,
"minimum" : 1,
"type" : "integer",
"format" : "int32",
"default" : 100
}
}, {
"name" : "includeOutsidePoints",
"in" : "query",
"description" : "Whether to include the last datapoint before the requested time period,and the first one after the requested period. This can be useful for interpolating data. Not available for aggregates.",
"schema" : {
"type" : "boolean",
"default" : false
}
} ],
"responses" : {
"200" : {
"description" : "A list of datapoints for the given query.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/MultiDatapointsResponseLegacy"
}
}
}
},
"404" : {
"description" : "Names not found.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/NamesNotFoundResponse"
}
}
}
},
"400" : {
"description" : "Bad request.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ErrorResponse"
}
}
}
},
"403" : {
"description" : "Forbidden.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "TimeseriesAcl:READ" ]
},
"post" : {
"tags" : [ "Time series" ],
"summary" : "Insert a list of data points by name",
"description" : "Inserts a list of data points to a time series. If a data point is posted to a timestamp that is already in the series, the existing data point for that timestamp will be overwritten.",
"operationId" : "postDatapointsByName",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "name",
"in" : "path",
"description" : "Name of time series to insert to",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"requestBody" : {
"description" : "The list of datapoints to insert.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/DataPostDatapoint"
}
}
},
"required" : true
},
"responses" : {
"200" : {
"description" : "Empty response.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/EmptyResponse"
}
}
}
},
"404" : {
"description" : "Names not found.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/NamesNotFoundResponse"
}
}
}
},
"400" : {
"description" : "Bad request.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ErrorResponse"
}
}
}
},
"403" : {
"description" : "Forbidden.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "TimeseriesAcl:WRITE" ]
}
},
"/api/0.5/projects/{project}/timeseries/{id}/update" : {
"post" : {
"tags" : [ "Time series" ],
"summary" : "Update a time series",
"description" : "Updates the time series object with the given id. This operation supports partial updates, meaning that fields not specified in the request are left unchanged on the object.\n\nFor primitive fields (String, Long Int), use 'set': 'value' to update value; use 'setNull': true to set that field to null.\n\nFor the Json Array field (e.g. securityCategories), use 'set': [value1, value2] to update value; use 'add': [v1, v2] to add values to current list of values; use 'remove': [v1, v2] to remove these values from current list of values if exist.",
"operationId" : "alterTimeSeriesSingle",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "id",
"in" : "path",
"description" : "Id of the time series",
"required" : true,
"schema" : {
"type" : "integer",
"format" : "int64"
}
} ],
"requestBody" : {
"description" : "Content of changes",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/TimeSeriesChange"
}
}
},
"required" : true
},
"responses" : {
"200" : {
"description" : "Corresponding time series after applying the update.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/TimeSeriesResponse"
}
}
}
},
"400" : {
"description" : "Ids duplicated.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "TimeseriesAcl:WRITE" ]
}
},
"/api/0.5/projects/{project}/files/delete" : {
"post" : {
"tags" : [ "Files" ],
"summary" : "Delete multiple files",
"description" : "Deletes the files with the given ids.",
"operationId" : "deleteFiles",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"requestBody" : {
"description" : "List of IDs of files to delete.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/DataLong"
}
}
},
"required" : true
},
"responses" : {
"200" : {
"description" : "The name of the deleted files and the files that failed to delete.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/DeleteFilesResponse"
}
}
}
},
"400" : {
"description" : "Ids duplicated.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "FilesAcl:WRITE" ]
}
},
"/api/0.5/projects/{project}/timeseries/{id}/data/deletesingle" : {
"delete" : {
"tags" : [ "Time series" ],
"summary" : "Delete a single data point",
"description" : "Deletes a single data point.",
"operationId" : "deleteDatapointsSingle",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "id",
"in" : "path",
"description" : "Id of time series to delete from.",
"required" : true,
"schema" : {
"type" : "integer",
"format" : "int64"
}
}, {
"name" : "timestamp",
"in" : "query",
"description" : "Timestamp of the data point to delete.",
"required" : true,
"schema" : {
"type" : "integer",
"format" : "int64"
}
} ],
"responses" : {
"200" : {
"description" : "Empty response.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/EmptyResponse"
}
}
}
},
"404" : {
"description" : "Ids not found.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/IdsNotFoundResponse"
}
}
}
},
"403" : {
"description" : "Forbidden.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "TimeseriesAcl:WRITE" ]
}
},
"/api/0.5/projects/{project}/apikeys" : {
"get" : {
"tags" : [ "API Keys" ],
"summary" : "List all API Keys",
"description" : "Retrieves a list of all API Keys connected to the current user in a given project. Administrators can optionally list keys for either a specific user or all users.",
"operationId" : "getApiKeys",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "all",
"in" : "query",
"description" : "Whether to get api keys for all users, only available to admin users.",
"schema" : {
"type" : "boolean",
"default" : false
}
}, {
"name" : "userId",
"in" : "query",
"description" : "Get api keys for a specific user, only available to admin users.",
"schema" : {
"type" : "integer",
"format" : "int64"
}
}, {
"name" : "includeDeleted",
"in" : "query",
"description" : "Whether to include deleted api keys",
"schema" : {
"type" : "boolean",
"default" : false
}
} ],
"responses" : {
"200" : {
"description" : "A list of api keys.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ApiKeyResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "ApikeysAcl:LIST" ]
},
"post" : {
"tags" : [ "API Keys" ],
"summary" : "Create API keys",
"description" : "Creates one API key for each of the given user IDs.",
"operationId" : "createApiKeys",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"requestBody" : {
"description" : "List of api keys to create.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/DataApiKeyRequest"
}
}
},
"required" : true
},
"responses" : {
"200" : {
"description" : "A list of the created api keys.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/NewApiKeyResponse"
}
}
}
},
"400" : {
"description" : "Missing required fields.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/MissingFieldError"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "ApikeysAcl:CREATE" ]
}
},
"/api/0.5/projects/{project}/files" : {
"get" : {
"tags" : [ "Files" ],
"summary" : "List all files",
"description" : "Retrieves a list with information about all files in a project. Criteria can be supplied to select a subset of files. This operation supports pagination with cursors.",
"operationId" : "getFiles",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "assetId",
"in" : "query",
"description" : "Returns all files associated with this assetId.",
"schema" : {
"type" : "integer",
"format" : "int64"
}
}, {
"name" : "dir",
"in" : "query",
"description" : "Directory to list files from.",
"schema" : {
"type" : "string"
}
}, {
"name" : "name",
"in" : "query",
"description" : "List all files with this name.",
"schema" : {
"type" : "string"
}
}, {
"name" : "type",
"in" : "query",
"description" : "Type of files to list.",
"schema" : {
"type" : "string"
}
}, {
"name" : "source",
"in" : "query",
"description" : "List files coming from this source.",
"schema" : {
"type" : "string"
}
}, {
"name" : "isUploaded",
"in" : "query",
"description" : "List only uploaded files if true. If false, list only other files. If not set, list all files without considering whether they are uploaded or not.",
"schema" : {
"type" : "boolean"
}
}, {
"name" : "limit",
"in" : "query",
"description" : "Limits the number of results to be returned. The maximum results returned by the server is 10000 even if the limit specified is larger.",
"schema" : {
"maximum" : 10000,
"minimum" : 1,
"type" : "integer",
"format" : "int32",
"default" : 100
}
}, {
"name" : "sort",
"in" : "query",
"description" : "Sort descending or ascending. Default 'DESC' - Show recently uploaded files first.",
"schema" : {
"type" : "string",
"enum" : [ "ASC", "DESC" ],
"default" : "DESC"
}
}, {
"name" : "cursor",
"in" : "query",
"description" : "Cursor to use for paging through results.",
"schema" : {
"type" : "string"
}
} ],
"responses" : {
"200" : {
"description" : "A list of files with file info and cursors.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/FileWithCursorResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "FilesAcl:READ" ]
},
"post" : {
"tags" : [ "Files" ],
"summary" : "Replace multiple files’ metadata",
"description" : "Updates information about multiple files. This operation does not support partial updates, but replaces all fields in the file object.",
"operationId" : "updateFiles",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"requestBody" : {
"description" : "List of file IDs and corresponding meta data and assetIds.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/DataFileInfo"
}
}
},
"required" : true
},
"responses" : {
"200" : {
"description" : "Empty response.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/EmptyResponse"
}
}
}
},
"400" : {
"description" : "Ids duplicated.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "FilesAcl:WRITE" ]
}
},
"/api/0.5/projects/{project}/timeseries/{name}" : {
"delete" : {
"tags" : [ "Time series" ],
"summary" : "Delete a time series",
"description" : "Deletes a time series object given the time series name and the project name.",
"operationId" : "deleteTimeSeries",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "name",
"in" : "path",
"description" : "The name of the time series to delete.",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"responses" : {
"200" : {
"description" : "Empty response.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/EmptyResponse"
}
}
}
},
"404" : {
"description" : "Names not found.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/NamesNotFoundResponse"
}
}
}
},
"403" : {
"description" : "Forbidden.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "TimeseriesAcl:WRITE" ]
}
},
"/api/0.5/projects/{project}/events/delete" : {
"post" : {
"tags" : [ "Events" ],
"summary" : "Delete events",
"description" : "Deletes multiple events in the same project.",
"operationId" : "deleteEvents",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"requestBody" : {
"description" : "List of event IDs for the events to be deleted.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/DataLong"
}
}
},
"required" : true
},
"responses" : {
"200" : {
"description" : "Empty response.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/EmptyResponse"
}
}
}
},
"400" : {
"description" : "Ids duplicated.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "EventsAcl:WRITE" ]
}
},
"/api/0.5/projects/{project}/timeseries/dataquery" : {
"post" : {
"tags" : [ "Time series" ],
"summary" : "Retrieve data points from multiple time series",
"description" : "Retrieves a list of data points from multiple time series in the same project. This operation supports aggregation but not pagination. This operation is also accessible using GET if the post body is supplied as a query parameter named postBody.",
"operationId" : "getMultiTimeSeriesDatapoints",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"requestBody" : {
"description" : "The list of DatapointsQueries to perform.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/DatapointsMultiQuery"
}
}
},
"required" : true
},
"responses" : {
"200" : {
"description" : "Lists of datapoints for the given queries.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/MultiDatapointsResponseLegacy"
}
}
}
},
"404" : {
"description" : "Names not found.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/NamesNotFoundResponse"
}
}
}
},
"400" : {
"description" : "Bad request.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ErrorResponse"
}
}
}
},
"403" : {
"description" : "Forbidden.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "TimeseriesAcl:READ" ]
}
},
"/api/0.5/projects/{project}/events/{eventId}" : {
"get" : {
"tags" : [ "Events" ],
"summary" : "Retrieve an event",
"description" : "Retrieves information about an event.",
"operationId" : "getEvent",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "eventId",
"in" : "path",
"description" : "The event ID.",
"required" : true,
"schema" : {
"type" : "integer",
"format" : "int64"
}
} ],
"responses" : {
"200" : {
"description" : "Event matching the id.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/EventDataResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "EventsAcl:READ" ]
}
},
"/api/0.5/projects/{project}/groups" : {
"get" : {
"tags" : [ "Groups" ],
"summary" : "List groups",
"description" : "Retrieves a list of groups the current user is a member of. Admin users can optionally use the `all` flag to list all groups in a project.",
"operationId" : "getGroups",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "all",
"in" : "query",
"description" : "Whether to get all groups, only available to admin users.",
"schema" : {
"type" : "boolean",
"default" : false
}
} ],
"responses" : {
"200" : {
"description" : "A list of security groups.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/GroupResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "GroupsAcl:LIST" ]
},
"post" : {
"tags" : [ "Groups" ],
"summary" : "Create groups",
"description" : "Creates one or more named groups, each with a set of permissions.",
"operationId" : "createGroups",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"requestBody" : {
"description" : "List of groups to create.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/DataGroupSpec"
}
}
},
"required" : true
},
"responses" : {
"200" : {
"description" : "A list of the created groups.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/GroupResponse"
}
}
}
},
"400" : {
"description" : "Missing required fields.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/MissingFieldError"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "GroupsAcl:CREATE" ]
}
},
"/api/0.5/projects/{project}/timeseries/byids" : {
"post" : {
"tags" : [ "Time series" ],
"summary" : "Retrieve multiple time series",
"description" : "Retrieves the details of multiple time series within the same project given the project id and a list of time series ids. Time series are returned in the same order as they appeared in the list of ids in the request.",
"operationId" : "getTimeSeriesByIds",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"requestBody" : {
"description" : "List of time series IDs to retrieve",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/DataLong"
}
}
},
"required" : true
},
"responses" : {
"200" : {
"description" : "List of time-series matching the ids.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/TimeSeriesResponse"
}
}
}
},
"400" : {
"description" : "Ids duplicated.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "TimeseriesAcl:READ" ]
}
},
"/api/0.5/projects/{project}/assets/byids" : {
"post" : {
"tags" : [ "Assets" ],
"summary" : "Retrieve multiple assets",
"description" : "Retrieves information about multiple assets in the same project.",
"operationId" : "getAssetsByIds",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"requestBody" : {
"description" : "List of IDs of assets to retrieve",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/DataLong"
}
}
},
"required" : true
},
"responses" : {
"200" : {
"description" : "A list of assets matching the ids.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/AssetDataResponse"
}
}
}
},
"400" : {
"description" : "Ids duplicated.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "AssetsAcl:READ" ]
}
},
"/api/0.5/projects/{project}/groups/delete" : {
"post" : {
"tags" : [ "Groups" ],
"summary" : "Delete groups",
"description" : "Deletes the groups with the given IDs.",
"operationId" : "deleteGroups",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"requestBody" : {
"description" : "List of group ids to delete",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/DataLong"
}
}
},
"required" : true
},
"responses" : {
"200" : {
"description" : "Empty response.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/EmptyResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "GroupsAcl:DELETE" ]
}
},
"/api/0.5/projects/{project}/timeseries/update" : {
"post" : {
"tags" : [ "Time series" ],
"summary" : "Update multiple time series",
"description" : "Updates multiple time series objects within a single project at the same time. This operation supports partial updates, meaning that fields not specified in the request are left unchanged on the object.\n\nFor primitive fields (String, Long Int), use 'set': 'value' to update value; use 'setNull': true to set that field to null.\n\nFor the Json Array field (e.g. securityCategories), use 'set': [value1, value2] to update value; use 'add': [v1, v2] to add values to current list of values; use 'remove': [v1, v2] to remove these values from current list of values if exist.",
"operationId" : "alterTimeSeries",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"requestBody" : {
"description" : "List of changes.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/DataTimeSeriesChange"
}
}
},
"required" : true
},
"responses" : {
"200" : {
"description" : "Corresponding time series after applying the updates.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/TimeSeriesResponse"
}
}
}
},
"400" : {
"description" : "Ids duplicated.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "TimeseriesAcl:WRITE" ]
}
},
"/api/0.5/projects/{project}/assets/{assetId}/subtree" : {
"get" : {
"tags" : [ "Assets" ],
"summary" : "List descendants of an asset",
"description" : "Retrieves a list of assets descending from the given asset. The asset hierarchy is traversed breadth first, meaning that assets with the same parent will appear next to each other in the reply. This operation supports pagination.",
"operationId" : "getAssetSubtree",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "assetId",
"in" : "path",
"required" : true,
"schema" : {
"type" : "integer",
"format" : "int64"
}
}, {
"name" : "depth",
"in" : "query",
"description" : "Get sub assets up to this many levels below the specified asset.",
"schema" : {
"type" : "integer",
"format" : "int32"
}
}, {
"name" : "cursor",
"in" : "query",
"description" : "Cursor to use for paging through results",
"schema" : {
"type" : "string"
}
}, {
"name" : "limit",
"in" : "query",
"description" : "Limits the number of results to be returned. The maximum results returned by the server is 10000 even if the limit specified is larger.",
"schema" : {
"type" : "integer",
"format" : "int32",
"default" : 100
}
} ],
"responses" : {
"200" : {
"description" : "A list of assets in breadth first order.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/AssetDataWithCursorResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "AssetsAcl:READ" ]
}
},
"/api/0.5/projects/{project}/events/search" : {
"get" : {
"tags" : [ "Events" ],
"summary" : "Search for events",
"description" : "Retrieves a list of events in the same project matching the given criteria. This operation has limited pagination support with an offset parameter, but does not allow retrieving all events in a project.",
"operationId" : "searchEvents",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "description",
"in" : "query",
"description" : "Prefix and fuzzy search on description.",
"schema" : {
"maxLength" : 500,
"type" : "string"
}
}, {
"name" : "type",
"in" : "query",
"description" : "Filter on type.",
"schema" : {
"maxLength" : 64,
"type" : "string"
}
}, {
"name" : "subtype",
"in" : "query",
"description" : "Filter on subtype.",
"schema" : {
"maxLength" : 64,
"type" : "string"
}
}, {
"name" : "minStartTime",
"in" : "query",
"description" : "Filter out events with startTime before this. Format is milliseconds since epoch.",
"schema" : {
"type" : "integer",
"format" : "int64"
}
}, {
"name" : "maxStartTime",
"in" : "query",
"description" : "Filter out events with startTime after this. Format is milliseconds since epoch.",
"schema" : {
"type" : "integer",
"format" : "int64"
}
}, {
"name" : "minEndTime",
"in" : "query",
"description" : "Filter out events with endTime before this. Format is milliseconds since epoch.",
"schema" : {
"type" : "integer",
"format" : "int64"
}
}, {
"name" : "maxEndTime",
"in" : "query",
"description" : "Filter out events with endTime after this. Format is milliseconds since epoch.",
"schema" : {
"type" : "integer",
"format" : "int64"
}
}, {
"name" : "minCreatedTime",
"in" : "query",
"description" : "Filter out events with createdTime before this. Format is milliseconds since epoch.",
"schema" : {
"type" : "integer",
"format" : "int64"
}
}, {
"name" : "maxCreatedTime",
"in" : "query",
"description" : "Filter out events with createdTime after this. Format is milliseconds since epoch.",
"schema" : {
"type" : "integer",
"format" : "int64"
}
}, {
"name" : "minLastUpdatedTime",
"in" : "query",
"description" : "Filter out events with lastUpdatedTime before this. Format is milliseconds since epoch.",
"schema" : {
"type" : "integer",
"format" : "int64"
}
}, {
"name" : "maxLastUpdatedTime",
"in" : "query",
"description" : "Filter out events with lastUpdatedTime after this. Format is milliseconds since epoch.",
"schema" : {
"type" : "integer",
"format" : "int64"
}
}, {
"name" : "metadata",
"in" : "query",
"description" : "Include events that must match all specified metadata key-value pairs. Format is a JSON dictionary : {\"key1\": \"value1\", \"key2\": \"value2\"}. Each key and value is matched case-insensitive. The maximum number of entries (pairs of key+value) is 256. The maximum length in characters of the sum of all keys and values is 10240. There is also a maximum length of 128 characters per key and 10240 per value.",
"schema" : {
"type" : "string"
}
}, {
"name" : "assetIds",
"in" : "query",
"description" : "Filter out events that are not linked to any of these assets. Format is [12,345,6,7890]. Maximum of 100 assets.",
"schema" : {
"maximum" : 100,
"type" : "string"
}
}, {
"name" : "assetSubtrees",
"in" : "query",
"description" : "Filter out events that are not linked to assets in the subtree rooted at these assets. Format is [12,345,6,7890]. Maximum of 100 assets.",
"schema" : {
"maximum" : 100,
"type" : "string"
}
}, {
"name" : "sort",
"in" : "query",
"description" : "Field to be sorted. If not specified, results are sorted by relevance score.",
"schema" : {
"type" : "string",
"enum" : [ "startTime", "endTime", "createdTime", "lastUpdatedTime" ]
}
}, {
"name" : "dir",
"in" : "query",
"description" : "Sort direction: descending or ascending. Only applicable if sort is specified. Default 'desc'.",
"schema" : {
"type" : "string",
"enum" : [ "asc", "desc" ],
"default" : "desc"
}
}, {
"name" : "limit",
"in" : "query",
"description" : "Limits the number of results to be returned. The maximum results returned by the server is 1000 even if the limit specified is larger.",
"schema" : {
"maximum" : 1000,
"minimum" : 1,
"type" : "integer",
"format" : "int32",
"default" : 100
}
}, {
"name" : "offset",
"in" : "query",
"description" : "Offset from the first result. Sum of limit and offset must not exceed 1000. Default is 0.",
"schema" : {
"type" : "integer",
"format" : "int32",
"default" : 0
}
} ],
"responses" : {
"200" : {
"description" : "Experimental endpoint. Search on events.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/EventDataResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "EventsAcl:READ" ]
}
},
"/api/0.5/projects/{project}/timeseries" : {
"get" : {
"tags" : [ "Time series" ],
"summary" : "List all time series",
"description" : "Retrieves a list of all time series in a project, sorted by name alphabetically. Parameters can be used to select a subset of time series. This operation supports pagination.",
"operationId" : "getTimeSeries",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "q",
"in" : "query",
"description" : "List time series with this prefix in the name.",
"schema" : {
"type" : "string"
}
}, {
"name" : "description",
"in" : "query",
"description" : "Filter time series that contains this string in its description.",
"schema" : {
"type" : "string"
}
}, {
"name" : "limit",
"in" : "query",
"description" : "Limits the number of results to be returned. The maximum results returned by the server is 10000 even if the limit specified is larger.",
"schema" : {
"maximum" : 10000,
"minimum" : 1,
"type" : "integer",
"format" : "int32",
"default" : 100
}
}, {
"name" : "includeMetadata",
"in" : "query",
"description" : "Decide if the metadata field should be returned or not.",
"schema" : {
"type" : "boolean",
"default" : true
}
}, {
"name" : "cursor",
"in" : "query",
"description" : "Cursor for paging through time series.",
"schema" : {
"type" : "string"
}
}, {
"name" : "assetId",
"in" : "query",
"description" : "Get timeseries related to this asset.",
"schema" : {
"type" : "integer",
"format" : "int64"
}
}, {
"name" : "path",
"in" : "query",
"description" : "Get timeseries under this asset path branch.",
"schema" : {
"type" : "string"
}
} ],
"responses" : {
"200" : {
"description" : "A list of time series in lexicographic order.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/TimeSeriesCursorResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "TimeseriesAcl:READ" ]
},
"put" : {
"tags" : [ "Time series" ],
"summary" : "Update all fields of a time series",
"description" : "Overwrites all fields of a time series object. This operation does not support partial updates; All fields on the time series object will be overwritten by the supplied values.",
"operationId" : "updateTimeSeries",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"requestBody" : {
"description" : "The time series to update.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/DataPostTimeSeriesV2DTO"
}
}
},
"required" : true
},
"responses" : {
"200" : {
"description" : "Empty response.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/EmptyResponse"
}
}
}
},
"404" : {
"description" : "Names not found.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/NamesNotFoundResponse"
}
}
}
},
"400" : {
"description" : "Bad request.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ErrorResponse"
}
}
}
},
"403" : {
"description" : "Forbidden.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "TimeseriesAcl:WRITE" ]
},
"post" : {
"tags" : [ "Time series" ],
"summary" : "Create multiple time series",
"description" : "Creates one or more time series objects in the given project.",
"operationId" : "postTimeSeries",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"requestBody" : {
"description" : "The time series to create.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/DataPostTimeSeriesV2DTO"
}
}
},
"required" : true
},
"responses" : {
"200" : {
"description" : "Empty response.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/EmptyResponse"
}
}
}
},
"400" : {
"description" : "Missing required fields.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/MissingFieldError"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "TimeseriesAcl:WRITE" ]
}
},
"/api/0.5/projects/{project}/events" : {
"get" : {
"tags" : [ "Events" ],
"summary" : "List all events",
"description" : "Retrieve a list of all events in the same project. This operation supports pagination by cursor. Criteria can be applied to select a subset of events.",
"operationId" : "getEvents",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "type",
"in" : "query",
"description" : "Type (class) of event, e.g 'failure'.",
"schema" : {
"type" : "string"
}
}, {
"name" : "subtype",
"in" : "query",
"description" : "Sub-type of event, e.g 'electrical'.",
"schema" : {
"type" : "string"
}
}, {
"name" : "assetId",
"in" : "query",
"description" : "Return events associated with this assetId. Filtering by assetId disables the parameters 'type', 'subtype', 'hasDescription', 'minStartTime', 'maxStartTime' and 'source'.",
"schema" : {
"type" : "integer",
"format" : "int64"
}
}, {
"name" : "sort",
"in" : "query",
"description" : "Sort descending or ascending. Default 'ASC'.",
"content" : {
"application/json" : {
"schema" : {
"type" : "string",
"enum" : [ "ASC", "DESC" ],
"default" : "ASC"
}
}
}
}, {
"name" : "cursor",
"in" : "query",
"description" : "Cursor to use for paging through results.",
"schema" : {
"type" : "string"
}
}, {
"name" : "limit",
"in" : "query",
"description" : "Limits the number of results to be returned. The maximum results returned by the server is 10000 even if the limit specified is larger.",
"schema" : {
"maximum" : 10000,
"minimum" : 1,
"type" : "integer",
"format" : "int32",
"default" : 100
}
}, {
"name" : "hasDescription",
"in" : "query",
"description" : "Return only events that have a textual description. Default null. False gives only those without description.",
"schema" : {
"type" : "boolean"
}
}, {
"name" : "minStartTime",
"in" : "query",
"description" : "Only return events from after this time.",
"schema" : {
"type" : "integer",
"format" : "int64"
}
}, {
"name" : "maxStartTime",
"in" : "query",
"description" : "Only return events from before this time.",
"schema" : {
"type" : "integer",
"format" : "int64"
}
}, {
"name" : "source",
"in" : "query",
"description" : "Returns only events originated from this source.",
"schema" : {
"type" : "string"
}
} ],
"responses" : {
"200" : {
"description" : "Events matching the query.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/EventDataWithCursorResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "EventsAcl:READ" ]
},
"post" : {
"tags" : [ "Events" ],
"summary" : "Create events",
"description" : "Creates multiple event objects in the same project.",
"operationId" : "postEvents",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"requestBody" : {
"description" : "List of events to be posted.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/DataEventCreate05"
}
}
},
"required" : true
},
"responses" : {
"200" : {
"description" : "The events that were created.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/EventDataResponse"
}
}
}
},
"400" : {
"description" : "Missing required fields.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/MissingFieldError"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "EventsAcl:WRITE" ]
}
},
"/api/0.5/projects/{project}/timeseries/dataframe" : {
"post" : {
"tags" : [ "Time series" ],
"summary" : "Retrieve time-aligned data points",
"description" : "Retrieves a CSV table of aggregated, time-aligned data points from multiple time series in the same project. This operation uses aggregation to group values from data points in multiple time series to the same timestamps. JSON output is not supported.\n\nThe first column, named “timestamp”, will contain aligned timestamps in milliseconds since the UNIX epoch. Remaining columns will be named on the form “<time series name> | <aggregate>” e.g. “temperatures | max”. They will contain aggregated values.\n\nYou can approximate aligned, raw data with this endpoint by using the interpolation aggregate with one second granularity. If you would like to retrieve raw (unaggregated) data points you can use the getMultiTimeSeries endpoint instead. This operation is also accessible using GET if the post body is supplied as a query parameter named postBody.",
"operationId" : "getDatapointsFrame",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"requestBody" : {
"description" : "The list of DatapointsQueries to perform.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/DatapointsFrameMultiQuery"
}
}
},
"required" : true
},
"responses" : {
"200" : {
"description" : "A table of datapoints for the given query.",
"content" : {
"text/csv" : {
"schema" : {
"$ref" : "#/components/schemas/DatapointsFrameResponse"
}
}
}
},
"404" : {
"description" : "Names not found.",
"content" : {
"text/csv" : {
"schema" : {
"$ref" : "#/components/schemas/NamesNotFoundResponse"
}
}
}
},
"400" : {
"description" : "Bad request.",
"content" : {
"text/csv" : {
"schema" : {
"$ref" : "#/components/schemas/ErrorResponse"
}
}
}
},
"403" : {
"description" : "Forbidden.",
"content" : {
"text/csv" : {
"schema" : {
"$ref" : "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "TimeseriesAcl:READ" ]
}
},
"/api/0.5/projects/{project}/raw/{dbName}/{tableName}/{rowKey}" : {
"get" : {
"tags" : [ "Raw" ],
"summary" : "Retrieve a single row from a table",
"operationId" : "getRow",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "dbName",
"in" : "path",
"description" : "Name of the database to retrieve the row from.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "tableName",
"in" : "path",
"description" : "Name of the table to retrieve the row from.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "rowKey",
"in" : "path",
"description" : "Row key of the row to retrieve.",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"responses" : {
"200" : {
"description" : "A list of one row in the raw database table.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/RawDBRowsResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "RawAcl:READ" ]
}
},
"/api/0.5/projects/{project}/users/delete" : {
"post" : {
"tags" : [ "Users" ],
"summary" : "Delete users",
"operationId" : "deleteUsers",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"requestBody" : {
"description" : "List of user ids to delete",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/DataLong"
}
}
},
"required" : true
},
"responses" : {
"200" : {
"description" : "Empty response.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/EmptyResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "UsersAcl:DELETE" ]
}
},
"/api/0.5/projects/{project}/timeseries/latest/{name}" : {
"get" : {
"tags" : [ "Time series" ],
"summary" : "Retrieve the latest data point in a time series",
"description" : "Retrieves the single latest data point in a time series.",
"operationId" : "getLatest",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "name",
"in" : "path",
"description" : "Name of time series",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "before",
"in" : "query",
"description" : "Get latest datapoint before this timestamp.",
"schema" : {
"type" : "string"
}
} ],
"responses" : {
"200" : {
"description" : "A list containing a single point, the most recent datapoint, or an empty list if no points found.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/DatapointsResponseLegacy"
}
}
}
},
"404" : {
"description" : "The time series does not exist.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ErrorResponse"
}
}
}
},
"403" : {
"description" : "Forbidden.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "TimeseriesAcl:READ" ]
}
},
"/api/0.5/projects/{project}/files/byids" : {
"post" : {
"tags" : [ "Files" ],
"summary" : "Retrieve multiple files metadata",
"description" : "Retrieves information about multiple files in the same project. Results are returned in the same order as in the query. This operation does not return file contents.\n\nAll IDs must be unique.",
"operationId" : "getFilesByIds",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"requestBody" : {
"description" : "List of IDs of files to retrieve. All IDs must be unique",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/DataLong"
}
}
},
"required" : true
},
"responses" : {
"200" : {
"description" : "List of files matching the ids.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/FileResponse"
}
}
}
},
"400" : {
"description" : "Ids duplicated.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "FilesAcl:READ" ]
}
},
"/api/0.5/projects/{project}/timeseries/data/{name}/deletesingle" : {
"delete" : {
"tags" : [ "Time series" ],
"summary" : "Delete a single data point",
"description" : "Deletes a single data point.",
"operationId" : "deleteDatapointsSingleByName",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "name",
"in" : "path",
"description" : "Name of time series to delete from.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "timestamp",
"in" : "query",
"description" : "Timestamp of the data point to delete.",
"required" : true,
"schema" : {
"type" : "integer",
"format" : "int64"
}
} ],
"responses" : {
"200" : {
"description" : "Empty response.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/EmptyResponse"
}
}
}
},
"404" : {
"description" : "Names not found.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/NamesNotFoundResponse"
}
}
}
},
"403" : {
"description" : "Forbidden.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "TimeseriesAcl:WRITE" ]
}
},
"/api/0.5/projects/{project}/groups/{groupId}/users/remove" : {
"post" : {
"tags" : [ "Groups" ],
"summary" : "Remove users from a group",
"description" : "Revoke membership in a group from the given users.",
"operationId" : "removeUsersFromGroup",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "groupId",
"in" : "path",
"required" : true,
"schema" : {
"type" : "integer",
"format" : "int64"
}
} ],
"requestBody" : {
"description" : "List of user ids to remove",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/DataLong"
}
}
},
"required" : true
},
"responses" : {
"200" : {
"description" : "Empty response."
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "GroupsAcl:UPDATE" ]
}
},
"/api/0.5/projects/{project}/timeseries/{id}/data/deleterange" : {
"delete" : {
"tags" : [ "Time series" ],
"summary" : "Delete a range of multiple data points",
"description" : "Delete all data points between two timestamps in a single time series.",
"operationId" : "deleteDatapointsRange",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "id",
"in" : "path",
"description" : "Id of time series to delete from.",
"required" : true,
"schema" : {
"type" : "integer",
"format" : "int64"
}
}, {
"name" : "timestampInclusiveBegin",
"in" : "query",
"description" : "Inclusive begin timestamp of data points to delete.",
"required" : true,
"schema" : {
"type" : "integer",
"format" : "int64"
}
}, {
"name" : "timestampExclusiveEnd",
"in" : "query",
"description" : "Exclusive end timestamp of data points to delete.",
"required" : true,
"schema" : {
"type" : "integer",
"format" : "int64"
}
} ],
"responses" : {
"200" : {
"description" : "Empty response.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/EmptyResponse"
}
}
}
},
"404" : {
"description" : "Ids not found.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/IdsNotFoundResponse"
}
}
}
},
"403" : {
"description" : "Forbidden.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "TimeseriesAcl:WRITE" ]
}
},
"/api/0.5/projects/{project}/raw" : {
"get" : {
"tags" : [ "Raw" ],
"summary" : "List all databases",
"operationId" : "getDBs",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "limit",
"in" : "query",
"description" : "Limit on the number of databases to be returned.",
"schema" : {
"type" : "integer",
"format" : "int32",
"default" : 25
}
}, {
"name" : "cursor",
"in" : "query",
"description" : "Cursor for paging through the results.",
"schema" : {
"type" : "string"
}
} ],
"responses" : {
"200" : {
"description" : "A list of databases.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/RawDBsWithCursorResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "RawAcl:LIST" ]
}
},
"/api/0.5/projects/{project}/files/{id}/update" : {
"post" : {
"tags" : [ "Files" ],
"summary" : "Update a file’s metadata",
"description" : "Update information about a file. This operation supports partial updates; Fields omitted from the query are left unchanged.\n\nFor primitive fields (String, Long, Int), use 'set': 'value' to update value; use 'setNull': true to set that field to null.\n\nFor the Json Array field (e.g. assetIds), use 'set': [value1, value2] to update value; use 'add': [v1, v2] to add values to current list of values; use 'remove': [v1, v2] to remove these values from current list of values if exists.",
"operationId" : "alterFile",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "id",
"in" : "path",
"description" : "Id of the file",
"required" : true,
"schema" : {
"type" : "integer",
"format" : "int64"
}
} ],
"requestBody" : {
"description" : "content of changes",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/FileChange"
}
}
},
"required" : true
},
"responses" : {
"200" : {
"description" : "Corresponding file after applying the update.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/FileResponse"
}
}
}
},
"404" : {
"description" : "Ids not found.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/IdsNotFoundResponse"
}
}
}
},
"400" : {
"description" : "Ids duplicated.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "FilesAcl:WRITE" ]
}
},
"/api/0.5/projects/{project}/raw/{dbName}/{tableName}" : {
"get" : {
"tags" : [ "Raw" ],
"summary" : "Retrieve all rows from a table as CSV",
"operationId" : "getRowsCSV",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "dbName",
"in" : "path",
"description" : "Name of the database.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "tableName",
"in" : "path",
"description" : "Name of the table.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "limit",
"in" : "query",
"description" : "Limit the number of results.",
"schema" : {
"type" : "integer",
"format" : "int32",
"default" : 25
}
}, {
"name" : "columns",
"in" : "query",
"description" : "Ordered list of column keys, separated by commas. Leave empty for all, use single comma to retrieve only row keys.",
"schema" : {
"type" : "string"
}
}, {
"name" : "cursor",
"in" : "query",
"description" : "Cursor for paging through rows.",
"schema" : {
"type" : "string"
}
}, {
"name" : "since",
"in" : "query",
"description" : "Fetch data since given date",
"schema" : {
"type" : "integer",
"format" : "int64",
"default" : 0
}
}, {
"name" : "until",
"in" : "query",
"description" : "Fetch data until given date",
"schema" : {
"type" : "integer",
"format" : "int64",
"default" : 253402300799
}
} ],
"responses" : {
"200" : {
"description" : "Header row, followed by data rows in the same order",
"content" : {
"text/csv" : {
"schema" : {
"$ref" : "#/components/schemas/RawRowCSV"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "RawAcl:READ" ]
}
},
"/api/0.5/projects/{project}/securitycategories/delete" : {
"post" : {
"tags" : [ "Security categories" ],
"summary" : "Delete security categories",
"operationId" : "deleteSecurityCategories",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"requestBody" : {
"description" : "List of security category IDs to delete.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/DataLong"
}
}
},
"required" : true
},
"responses" : {
"200" : {
"description" : "Empty response.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/EmptyResponse"
}
}
}
},
"400" : {
"description" : "Ids duplicated.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "SecuritycategoriesAcl:DELETE" ]
}
},
"/api/0.5/projects/{project}/files/{id}" : {
"get" : {
"tags" : [ "Files" ],
"summary" : "Retrieve a file’s metadata",
"description" : "Retrieves information about a file object. This operation does not return file contents.",
"operationId" : "getFile",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "id",
"in" : "path",
"description" : "Id of the file.",
"required" : true,
"schema" : {
"type" : "integer",
"format" : "int64"
}
} ],
"responses" : {
"200" : {
"description" : "Get file information",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/FileResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "FilesAcl:READ" ]
}
},
"/api/0.5/projects/{project}/raw/{dbName}/create" : {
"post" : {
"tags" : [ "Raw" ],
"summary" : "Create tables in a database",
"operationId" : "createTables",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "dbName",
"in" : "path",
"description" : "Name of the database to create tables in.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "ensureParent",
"in" : "query",
"description" : "Create database if it doesn't exist already",
"schema" : {
"type" : "boolean",
"default" : false
}
} ],
"requestBody" : {
"description" : "List of tables to create.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/DataRawDBTable"
}
}
},
"required" : true
},
"responses" : {
"200" : {
"description" : "The created tables.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/RawDBTablesResponse"
}
}
}
},
"400" : {
"description" : "Missing required fields.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/MissingFieldError"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "RawAcl:WRITE" ]
}
},
"/api/0.5/projects/{project}/timeseries/{id}" : {
"get" : {
"tags" : [ "Time series" ],
"summary" : "Retrieve a time series",
"description" : "Retrieves the details of an existing time series given a project id and the unique time series identifier generated when the time series was created.",
"operationId" : "getTimeSeriesById",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "id",
"in" : "path",
"description" : "Id of time series to look up",
"required" : true,
"schema" : {
"type" : "integer",
"format" : "int64"
}
}, {
"name" : "includeMetadata",
"in" : "query",
"schema" : {
"type" : "boolean",
"default" : true
}
} ],
"responses" : {
"200" : {
"description" : "A time series object",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/TimeSeriesResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "TimeseriesAcl:READ" ]
}
},
"/api/0.5/projects/{project}" : {
"get" : {
"tags" : [ "Projects" ],
"summary" : "Retrieve a project",
"description" : "Retrieves information about a project given the project name.",
"operationId" : "getProject",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"responses" : {
"200" : {
"description" : "Information about the project.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ProjectsResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "ProjectsAcl:READ" ]
},
"put" : {
"tags" : [ "Projects" ],
"summary" : "Update a project",
"description" : "Updates the specified project with the values provided.\n\nWarning: Even though this endpoint takes a list of items, it currently only supports updating one project at a time (i.e. the list of items has to have exactly one element).",
"operationId" : "putProject",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"requestBody" : {
"description" : "List of projects to update, with new values. Currently only supports one project.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/DataProject"
}
}
},
"required" : true
},
"responses" : {
"200" : {
"description" : "Project was updated.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ProjectsResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "ProjectsAcl:UPDATE" ]
}
},
"/api/0.5/projects/{project}/raw/create" : {
"post" : {
"tags" : [ "Raw" ],
"summary" : "Create databases",
"operationId" : "createDBs",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"requestBody" : {
"description" : "List of names of databases to be created.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/DataRawDB"
}
}
},
"required" : true
},
"responses" : {
"200" : {
"description" : "The created databases.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/RawDBsResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "RawAcl:WRITE" ]
}
},
"/api/0.5/projects/{project}/assets/search" : {
"get" : {
"tags" : [ "Assets" ],
"summary" : "Search for assets",
"description" : "Retrieves a list of assets matching the given criteria. This operation does not support pagination.",
"operationId" : "searchAssets",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "name",
"in" : "query",
"description" : "Search on name.",
"schema" : {
"type" : "string"
}
}, {
"name" : "description",
"in" : "query",
"description" : "Search on description.",
"schema" : {
"type" : "string"
}
}, {
"name" : "query",
"in" : "query",
"description" : "Search on name and description using wildcard search on each of the words (separated by spaces). Retrieves results where at least one word must match. Example: '*some* *other*'",
"schema" : {
"type" : "string"
}
}, {
"name" : "metadata",
"in" : "query",
"description" : "Include assets that must match all specified metadata key-value pairs. Format is a JSON dictionary : {\"key1\": \"value1\", \"key2\": \"value2\"}. Each key and value is matched case-insensitive.",
"schema" : {
"type" : "string"
}
}, {
"name" : "assetSubtrees",
"in" : "query",
"description" : "Filter out assets that are not in the subtree rooted at these assets. Format is [12,345,6,7890].",
"schema" : {
"type" : "string"
}
}, {
"name" : "minCreatedTime",
"in" : "query",
"description" : "Filter out assets with createdTime before this. Format is milliseconds since epoch.",
"schema" : {
"type" : "integer",
"format" : "int64"
}
}, {
"name" : "maxCreatedTime",
"in" : "query",
"description" : "Filter out assets with createdTime after this. Format is milliseconds since epoch.",
"schema" : {
"type" : "integer",
"format" : "int64"
}
}, {
"name" : "minLastUpdatedTime",
"in" : "query",
"description" : "Filter out assets with lastUpdatedTime before this. Format is milliseconds since epoch.",
"schema" : {
"type" : "integer",
"format" : "int64"
}
}, {
"name" : "maxLastUpdatedTime",
"in" : "query",
"description" : "Filter out assets with lastUpdatedTime after this. Format is milliseconds since epoch.",
"schema" : {
"type" : "integer",
"format" : "int64"
}
}, {
"name" : "sort",
"in" : "query",
"description" : "field to be sorted. If not specified, results are sorted by relevance score.",
"schema" : {
"type" : "string",
"enum" : [ "createdTime", "lastUpdatedTime" ]
}
}, {
"name" : "dir",
"in" : "query",
"description" : "Sort direction: descending or ascending. Only applicable if sort is specified. Default 'desc'.",
"schema" : {
"type" : "string",
"enum" : [ "asc", "desc" ],
"default" : "desc"
}
}, {
"name" : "limit",
"in" : "query",
"description" : "Limits the number of results to be returned. The maximum results returned by the server is 1000 even if the limit specified is larger.",
"schema" : {
"maximum" : 1000,
"minimum" : 1,
"type" : "integer",
"format" : "int32",
"default" : 100
}
}, {
"name" : "offset",
"in" : "query",
"description" : "Offset from the first result. Sum of limit and offset must not exceed 1000. Default is 0.",
"schema" : {
"type" : "integer",
"format" : "int32",
"default" : 0
}
}, {
"name" : "boostName",
"in" : "query",
"description" : "Whether or not boosting name field. This option is experimental and can be changed.",
"schema" : {
"type" : "boolean",
"default" : false
}
} ],
"responses" : {
"200" : {
"description" : "Search on assets.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/AssetDataResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "AssetsAcl:READ" ]
}
},
"/api/0.5/projects/{project}/raw/{dbName}/{tableName}/delete" : {
"post" : {
"tags" : [ "Raw" ],
"summary" : "Delete rows in a table",
"operationId" : "deleteRows",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "dbName",
"in" : "path",
"description" : "Name of the database containing the rows.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "tableName",
"in" : "path",
"description" : "Name of the table containing the rows.",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"requestBody" : {
"description" : "Keys to the rows to delete.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/DataRawDBRow"
}
}
},
"required" : true
},
"responses" : {
"200" : {
"description" : "Empty response.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/EmptyResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "RawAcl:WRITE" ]
}
},
"/api/0.5/projects/{project}/events/update" : {
"post" : {
"tags" : [ "Events" ],
"summary" : "Update events",
"description" : "Updates multiple events in the same project. This operation does not support partial updates.",
"operationId" : "updateEvents",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"requestBody" : {
"description" : "List of events to be updated.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/DataEventFullUpdate"
}
}
},
"required" : true
},
"responses" : {
"200" : {
"description" : "Empty response.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/EmptyResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "EventsAcl:WRITE" ]
}
},
"/api/0.5/projects/{project}/files/{id}/downloadlink" : {
"get" : {
"tags" : [ "Files" ],
"summary" : "Download a file’s contents",
"description" : "Returns a download link for downloading the contents of a file. After getting the download link, the client then has to issue a GET request to the returned URL which will respond with the contents of the file. The link will expire after 30 seconds.",
"operationId" : "getDownloadLink",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "id",
"in" : "path",
"description" : "Id of the file to download.",
"required" : true,
"schema" : {
"type" : "integer",
"format" : "int64"
}
} ],
"responses" : {
"200" : {
"description" : "Download link.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/SingleStringResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "FilesAcl:READ" ]
}
},
"/api/0.5/projects/{project}/users" : {
"get" : {
"tags" : [ "Users" ],
"summary" : "List all users in a project",
"operationId" : "getUsers",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"responses" : {
"200" : {
"description" : "A list of users.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/UserResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "UsersAcl:LIST" ]
},
"post" : {
"tags" : [ "Users" ],
"summary" : "Create users",
"operationId" : "createUsers",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"requestBody" : {
"description" : "List of users to create.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/DataUserSpec"
}
}
},
"required" : true
},
"responses" : {
"200" : {
"description" : "A list of the users groups.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/UserResponse"
}
}
}
},
"400" : {
"description" : "Missing required fields.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/MissingFieldError"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "UsersAcl:CREATE" ]
}
},
"/api/0.5/projects/{project}/apikeys/delete" : {
"post" : {
"tags" : [ "API Keys" ],
"summary" : "Delete API keys",
"description" : "Deletes one or more API keys with the given API key IDs. The key IDs were returned when the keys were created, or can be obtained by listing all API Keys.",
"operationId" : "deleteApiKeys",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"requestBody" : {
"description" : "List of ids of api keys to delete.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/DataLong"
}
}
},
"required" : true
},
"responses" : {
"200" : {
"description" : "Empty response.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/EmptyResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "ApikeysAcl:DELETE" ]
}
},
"/api/0.5/projects/{project}/timeseries/{id}/data" : {
"get" : {
"tags" : [ "Time series" ],
"summary" : "Retrieve data points from a single time series",
"description" : "Retrieves a list of data points from a single time series. This operation supports aggregation but not pagination.",
"operationId" : "getDatapoints",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "id",
"in" : "path",
"description" : "The time-series ID to get datapoints from.",
"required" : true,
"schema" : {
"type" : "integer",
"format" : "int64"
}
}, {
"name" : "start",
"in" : "query",
"description" : "Get datapoints after this time. Format is ms since epoch.",
"schema" : {
"type" : "integer",
"format" : "int64",
"default" : 0
}
}, {
"name" : "end",
"in" : "query",
"description" : "Get datapoints up to this time. Format is ms since epoch.",
"schema" : {
"type" : "integer",
"format" : "int64"
}
}, {
"name" : "aggregates",
"in" : "query",
"description" : "Get aggregate values for this interval. The format is 'f1,f2,f3' where each entry is an aggregate function. Valid aggregate functions: 'average/avg, max, min, count, sum, interpolation/int, stepinterpolation/step, continuousvariance/cv, discretevariance/dv, totalvariation/tv'. The query parameter 'granularity' must also be specified. Max limit for aggregates is 10000.",
"schema" : {
"type" : "string"
}
}, {
"name" : "granularity",
"in" : "query",
"description" : "The granularity of the aggregate values. Valid entries are: 'day/d, hour/h, minute/m, second/s', or a multiple of these indicated by a number as a prefix. Example: 12hour.",
"schema" : {
"type" : "string"
}
}, {
"name" : "limit",
"in" : "query",
"description" : "Return up to this number of datapoints.",
"schema" : {
"maximum" : 100000,
"minimum" : 1,
"type" : "integer",
"format" : "int32",
"default" : 100
}
}, {
"name" : "includeOutsidePoints",
"in" : "query",
"description" : "Whether to include the last datapoint before the requested time period,and the first one after the requested period. This can be useful for interpolating data. Not available for aggregates.",
"schema" : {
"type" : "boolean",
"default" : false
}
} ],
"responses" : {
"200" : {
"description" : "A list of datapoints for the given query.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/MultiDatapointsResponseLegacy"
}
}
}
},
"404" : {
"description" : "Ids not found.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/IdsNotFoundResponse"
}
}
}
},
"400" : {
"description" : "Bad request.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ErrorResponse"
}
}
}
},
"403" : {
"description" : "Forbidden.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "TimeseriesAcl:READ" ]
},
"post" : {
"tags" : [ "Time series" ],
"summary" : "Insert a list of data points",
"description" : "Inserts a list of data points to a time series. If a data point is posted to a timestamp that is already in the series, the existing data point for that timestamp will be overwritten.",
"operationId" : "postDatapoints",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "id",
"in" : "path",
"description" : "Id of time series to insert to",
"required" : true,
"schema" : {
"type" : "integer",
"format" : "int64"
}
} ],
"requestBody" : {
"description" : "The list of datapoints to insert.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/DataPostDatapoint"
}
}
},
"required" : true
},
"responses" : {
"200" : {
"description" : "Empty response.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/EmptyResponse"
}
}
}
},
"404" : {
"description" : "Ids not found.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/IdsNotFoundResponse"
}
}
}
},
"400" : {
"description" : "Bad request.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ErrorResponse"
}
}
}
},
"403" : {
"description" : "Forbidden.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "TimeseriesAcl:WRITE" ]
}
},
"/api/0.5/projects/{project}/raw/{dbName}/csv" : {
"post" : {
"tags" : [ "Raw" ],
"summary" : "Insert rows into a table using CSV",
"operationId" : "postCsv",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "dbName",
"in" : "path",
"description" : "The name of the database to upload the file to. If a raw database with that name doesn't exist, one will be created.",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"requestBody" : {
"content" : {
"multipart/form-data" : {
"schema" : {
"type" : "object",
"properties" : {
"file" : {
"type" : "object"
},
"fileName" : {
"type" : "string"
}
}
}
}
}
},
"responses" : {
"200" : {
"description" : "Empty response.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/EmptyResponse"
}
}
}
},
"400" : {
"description" : "Missing required fields.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/MissingFieldError"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "RawAcl:WRITE" ]
}
},
"/api/0.5/projects/{project}/assets/{assetId}" : {
"get" : {
"tags" : [ "Assets" ],
"summary" : "Retrieve an asset",
"description" : "Retrieves information about an asset in a certain project given an asset id.",
"operationId" : "getAsset",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "assetId",
"in" : "path",
"required" : true,
"schema" : {
"type" : "integer",
"format" : "int64"
}
} ],
"responses" : {
"200" : {
"description" : "Asset matching the id.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/AssetDataResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "AssetsAcl:READ" ]
}
},
"/api/0.5/projects/{project}/timeseries/data/{name}/deleterange" : {
"delete" : {
"tags" : [ "Time series" ],
"summary" : "Delete a range of multiple data points",
"description" : "Delete all data points between two timestamps in a single time series.",
"operationId" : "deleteDatapointsRangeByName",
"parameters" : [ {
"name" : "project",
"in" : "path",
"description" : "Project name.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "name",
"in" : "path",
"description" : "Name of time series to delete from.",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"name" : "timestampInclusiveBegin",
"in" : "query",
"description" : "Inclusive begin timestamp of data points to delete.",
"required" : true,
"schema" : {
"type" : "integer",
"format" : "int64"
}
}, {
"name" : "timestampExclusiveEnd",
"in" : "query",
"description" : "Exclusive end timestamp of data points to delete.",
"required" : true,
"schema" : {
"type" : "integer",
"format" : "int64"
}
} ],
"responses" : {
"200" : {
"description" : "Empty response.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/EmptyResponse"
}
}
}
},
"404" : {
"description" : "Names not found.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/NamesNotFoundResponse"
}
}
}
},
"403" : {
"description" : "Forbidden.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security" : [ {
"api-key" : [ ]
}, {
"token" : [ ]
} ],
"x-capability" : [ "TimeseriesAcl:WRITE" ]
}
}
},
"components" : {
"schemas" : {
"ApiKeyRequest" : {
"required" : [ "userId" ],
"type" : "object",
"properties" : {
"userId" : {
"type" : "integer",
"format" : "int64"
}
}
},
"ApiKeyResponse" : {
"type" : "object",
"properties" : {
"data" : {
"$ref" : "#/components/schemas/DataApiKeyResponseDTO"
}
}
},
"ApiKeyResponseDTO" : {
"type" : "object",
"properties" : {
"id" : {
"type" : "integer",
"format" : "int64"
},
"userId" : {
"type" : "integer",
"format" : "int64"
},
"createdTime" : {
"type" : "integer",
"format" : "int64"
},
"status" : {
"type" : "string",
"enum" : [ "ACTIVE", "DELETED" ]
}
}
},
"ArrayPatchLong" : {
"type" : "object",
"properties" : {
"add" : {
"uniqueItems" : true,
"type" : "array",
"items" : {
"type" : "integer",
"format" : "int64"
}
},
"remove" : {
"uniqueItems" : true,
"type" : "array",
"items" : {
"type" : "integer",
"format" : "int64"
}
},
"set" : {
"uniqueItems" : true,
"type" : "array",
"items" : {
"type" : "integer",
"format" : "int64"
}
}
},
"description" : "Change that will be applied to securityCategories."
},
"Asset" : {
"type" : "object",
"properties" : {
"id" : {
"type" : "integer",
"description" : "ID of the asset.",
"format" : "int64"
},
"path" : {
"type" : "array",
"description" : "IDs of assets on the path to the asset.",
"items" : {
"type" : "integer",
"description" : "IDs of assets on the path to the asset.",
"format" : "int64"
}
},
"depth" : {
"type" : "integer",
"description" : "Asset path depth (number of levels below root node).",
"format" : "int32"
},
"name" : {
"type" : "string",
"description" : "Name of asset. Often referred to as tag."
},
"parentId" : {
"type" : "integer",
"description" : "ID of parent asset, if any",
"format" : "int64"
},
"description" : {
"type" : "string",
"description" : "Description of asset."
},
"metadata" : {
"type" : "object",
"description" : "Custom, application specific metadata. String key -> String value"
},
"source" : {
"type" : "string",
"description" : "The source of this asset"
},
"sourceId" : {
"type" : "string",
"description" : "ID of the asset in the source. Only applicable if source is specified. The combination of source and sourceId must be unique."
},
"createdTime" : {
"type" : "integer",
"description" : "Time when this asset was created in CDP in milliseconds since Jan 1, 1970.",
"format" : "int64"
},
"lastUpdatedTime" : {
"type" : "integer",
"description" : "The last time this asset was updated in CDP, in milliseconds since Jan 1, 1970.",
"format" : "int64"
}
},
"description" : "Representation of a physical asset, e.g plant or piece of equipment"
},
"AssetChange" : {
"required" : [ "id" ],
"type" : "object",
"properties" : {
"id" : {
"type" : "integer",
"description" : "ID given by the API to the asset.",
"format" : "int64"
},
"name" : {
"$ref" : "#/components/schemas/SinglePatchString"
},
"description" : {
"$ref" : "#/components/schemas/NullableSinglePatchString"
},
"metadata" : {
"$ref" : "#/components/schemas/NullableSinglePatch"
},
"source" : {
"$ref" : "#/components/schemas/NullableSinglePatchString"
},
"sourceId" : {
"$ref" : "#/components/schemas/NullableSinglePatchString"
}
},
"description" : "Changes will be applied to asset."
},
"AssetDataResponse" : {
"type" : "object",
"properties" : {
"data" : {
"$ref" : "#/components/schemas/DataAsset"
}
}
},
"AssetDataWithCursorResponse" : {
"type" : "object",
"properties" : {
"data" : {
"$ref" : "#/components/schemas/DataWithCursorAsset"
}
}
},
"AzureADConfigurationDTO" : {
"type" : "object",
"properties" : {
"appId" : {
"type" : "string",
"description" : "Azure application ID. You get this when creating the Azure app."
},
"appSecret" : {
"type" : "string",
"description" : "Azure application secret. You get this when creating the Azure app."
},
"tenantId" : {
"type" : "string",
"description" : "Azure tenant ID."
},
"appResourceId" : {
"type" : "string",
"description" : "Resource to grant access to. This is usually (always?) 00000002-0000-0000-c000-000000000000"
}
},
"description" : "Data specific to Azure AD authentication"
},
"CreateAsset" : {
"type" : "object",
"properties" : {
"refId" : {
"type" : "string",
"description" : "Reference ID used only in post request to disambiguate references to duplicate names."
},
"parentName" : {
"type" : "string",
"description" : "Name of parent. This parent must exist in the same POST request."
},
"parentRefId" : {
"type" : "string",
"description" : "Reference ID of parent, to disambiguate if multiple nodes have the same name."
},
"name" : {
"type" : "string",
"description" : "Name of asset. Often referred to as tag."
},
"parentId" : {
"type" : "integer",
"description" : "ID of parent asset in CDP, if any. If parentName or parentRefId are also specified, this will be ignored.",
"format" : "int64"
},
"description" : {
"type" : "string",
"description" : "Description of asset."
},
"metadata" : {
"type" : "object",
"description" : "Custom, application specific metadata. String key -> String value"
},
"source" : {
"type" : "string",
"description" : "The source of this asset"
},
"sourceId" : {
"type" : "string",
"description" : "ID of the asset in the source. Only applicable if source is specified. The combination of source and sourceId must be unique."
},
"createdTime" : {
"type" : "integer",
"description" : "Time when this asset was created in CDP in milliseconds since Jan 1, 1970.",
"format" : "int64"
},
"lastUpdatedTime" : {
"type" : "integer",
"description" : "The last time this asset was updated in CDP, in milliseconds since Jan 1, 1970.",
"format" : "int64"
}
},
"description" : "Representation of a physical asset, e.g plant or piece of equipment"
},
"DataApiKeyRequest" : {
"type" : "object",
"properties" : {
"items" : {
"type" : "array",
"items" : {
"$ref" : "#/components/schemas/ApiKeyRequest"
}
}
}
},
"DataApiKeyResponseDTO" : {
"type" : "object",
"properties" : {
"items" : {
"type" : "array",
"items" : {
"$ref" : "#/components/schemas/ApiKeyResponseDTO"
}
}
}
},
"DataAsset" : {
"type" : "object",
"properties" : {
"items" : {
"type" : "array",
"items" : {
"$ref" : "#/components/schemas/Asset"
}
}
}
},
"DataAssetChange" : {
"type" : "object",
"properties" : {
"items" : {
"type" : "array",
"items" : {
"$ref" : "#/components/schemas/AssetChange"
}
}
}
},
"DataCreateAsset" : {
"type" : "object",
"properties" : {
"items" : {
"type" : "array",
"items" : {
"$ref" : "#/components/schemas/CreateAsset"
}
}
}
},
"DataDatapointsGetDatapoint" : {
"type" : "object",
"properties" : {
"items" : {
"type" : "array",
"items" : {
"$ref" : "#/components/schemas/DatapointsGetDatapoint"
}
}
}
},
"DataDatapointsPostDatapoint" : {
"type" : "object",
"properties" : {
"items" : {
"type" : "array",
"items" : {
"$ref" : "#/components/schemas/DatapointsPostDatapoint"
}
}
}
},
"DataEvent" : {
"type" : "object",
"properties" : {
"items" : {
"type" : "array",
"items" : {
"$ref" : "#/components/schemas/Event"
}
}
}
},
"DataEventCreate05" : {
"type" : "object",
"properties" : {
"items" : {
"type" : "array",
"items" : {
"$ref" : "#/components/schemas/EventCreate05"
}
}
}
},
"DataEventFullUpdate" : {
"type" : "object",
"properties" : {
"items" : {
"type" : "array",
"items" : {
"$ref" : "#/components/schemas/EventFullUpdate"
}
}
}
},
"DataFileChange" : {
"type" : "object",
"properties" : {
"items" : {
"type" : "array",
"items" : {
"$ref" : "#/components/schemas/FileChange"
}
}
}
},
"DataFileInfo" : {
"type" : "object",
"properties" : {
"items" : {
"type" : "array",
"items" : {
"$ref" : "#/components/schemas/FileInfo"
}
}
}
},
"DataGetDatapoint" : {
"type" : "object",
"properties" : {
"items" : {
"type" : "array",
"items" : {
"$ref" : "#/components/schemas/GetDatapoint"
}
}
}
},
"DataGetTimeSeriesV2DTO" : {
"type" : "object",
"properties" : {
"items" : {
"type" : "array",
"items" : {
"$ref" : "#/components/schemas/GetTimeSeriesV2DTO"
}
}
}
},
"DataGroup" : {
"type" : "object",
"properties" : {
"items" : {
"type" : "array",
"items" : {
"$ref" : "#/components/schemas/Group"
}
}
}
},
"DataGroupSpec" : {
"type" : "object",
"properties" : {
"items" : {
"type" : "array",
"items" : {
"$ref" : "#/components/schemas/GroupSpec"
}
}
}
},
"DataLong" : {
"type" : "object",
"properties" : {
"items" : {
"type" : "array",
"items" : {
"type" : "integer",
"format" : "int64"
}
}
}
},
"DataNewApiKeyResponseDTO" : {
"type" : "object",
"properties" : {
"items" : {
"type" : "array",
"items" : {
"$ref" : "#/components/schemas/NewApiKeyResponseDTO"
}
}
}
},
"DataPostDatapoint" : {
"type" : "object",
"properties" : {
"items" : {
"type" : "array",
"items" : {
"$ref" : "#/components/schemas/PostDatapoint"
}
}
}
},
"DataPostTimeSeriesV2DTO" : {
"type" : "object",
"properties" : {
"items" : {
"type" : "array",
"items" : {
"$ref" : "#/components/schemas/PostTimeSeriesV2DTO"
}
}
}
},
"DataProject" : {
"type" : "object",
"properties" : {
"items" : {
"type" : "array",
"items" : {
"$ref" : "#/components/schemas/Project"
}
}
}
},
"DataRawDB" : {
"type" : "object",
"properties" : {
"items" : {
"type" : "array",
"items" : {
"$ref" : "#/components/schemas/RawDB"
}
}
}
},
"DataRawDBRow" : {
"type" : "object",
"properties" : {
"items" : {
"type" : "array",
"items" : {
"$ref" : "#/components/schemas/RawDBRow"
}
}
}
},
"DataRawDBTable" : {
"type" : "object",
"properties" : {
"items" : {
"type" : "array",
"items" : {
"$ref" : "#/components/schemas/RawDBTable"
}
}
}
},
"DataSecurityCategoryDTO" : {
"type" : "object",
"properties" : {
"items" : {
"type" : "array",
"items" : {
"$ref" : "#/components/schemas/SecurityCategoryDTO"
}
}
}
},
"DataSecurityCategorySpecDTO" : {
"type" : "object",
"properties" : {
"items" : {
"type" : "array",
"items" : {
"$ref" : "#/components/schemas/SecurityCategorySpecDTO"
}
}
}
},
"DataTimeSeriesChange" : {
"type" : "object",
"properties" : {
"items" : {
"type" : "array",
"items" : {
"$ref" : "#/components/schemas/TimeSeriesChange"
}
}
}
},
"DataUser" : {
"type" : "object",
"properties" : {
"items" : {
"type" : "array",
"items" : {
"$ref" : "#/components/schemas/User"
}
}
}
},
"DataUserId" : {
"type" : "object",
"properties" : {
"items" : {
"type" : "array",
"items" : {
"$ref" : "#/components/schemas/UserId"
}
}
}
},
"DataUserSpec" : {
"type" : "object",
"properties" : {
"items" : {
"type" : "array",
"items" : {
"$ref" : "#/components/schemas/UserSpec"
}
}
}
},
"DataWithCursorAsset" : {
"type" : "object",
"properties" : {
"items" : {
"type" : "array",
"items" : {
"$ref" : "#/components/schemas/Asset"
}
},
"previousCursor" : {
"type" : "string",
"description" : "Cursor to get the previous page of results (if available)."
},
"nextCursor" : {
"type" : "string",
"description" : "Cursor to get the next page of results (if available)."
}
},
"description" : "A list of objects along with possible cursors to get the next, or previous, page of results"
},
"DataWithCursorEvent" : {
"type" : "object",
"properties" : {
"items" : {
"type" : "array",
"items" : {
"$ref" : "#/components/schemas/Event"
}
},
"previousCursor" : {
"type" : "string",
"description" : "Cursor to get the previous page of results (if available)."
},
"nextCursor" : {
"type" : "string",
"description" : "Cursor to get the next page of results (if available)."
}
},
"description" : "A list of objects along with possible cursors to get the next, or previous, page of results"
},
"DataWithCursorFileInfo" : {
"type" : "object",
"properties" : {
"items" : {
"type" : "array",
"items" : {
"$ref" : "#/components/schemas/FileInfo"
}
},
"previousCursor" : {
"type" : "string",
"description" : "Cursor to get the previous page of results (if available)."
},
"nextCursor" : {
"type" : "string",
"description" : "Cursor to get the next page of results (if available)."
}
},
"description" : "A list of objects along with possible cursors to get the next, or previous, page of results"
},
"DataWithCursorGetTimeSeriesV2DTO" : {
"type" : "object",
"properties" : {
"items" : {
"type" : "array",
"items" : {
"$ref" : "#/components/schemas/GetTimeSeriesV2DTO"
}
},
"previousCursor" : {
"type" : "string",
"description" : "Cursor to get the previous page of results (if available)."
},
"nextCursor" : {
"type" : "string",
"description" : "Cursor to get the next page of results (if available)."
}
},
"description" : "A list of objects along with possible cursors to get the next, or previous, page of results"
},
"DataWithCursorRawDB" : {
"type" : "object",
"properties" : {
"items" : {
"type" : "array",
"items" : {
"$ref" : "#/components/schemas/RawDB"
}
},
"previousCursor" : {
"type" : "string",
"description" : "Cursor to get the previous page of results (if available)."
},
"nextCursor" : {
"type" : "string",
"description" : "Cursor to get the next page of results (if available)."
}
},
"description" : "A list of objects along with possible cursors to get the next, or previous, page of results"
},
"DataWithCursorRawDBRow" : {
"type" : "object",
"properties" : {
"items" : {
"type" : "array",
"items" : {
"$ref" : "#/components/schemas/RawDBRow"
}
},
"previousCursor" : {
"type" : "string",
"description" : "Cursor to get the previous page of results (if available)."
},
"nextCursor" : {
"type" : "string",
"description" : "Cursor to get the next page of results (if available)."
}
},
"description" : "A list of objects along with possible cursors to get the next, or previous, page of results"
},
"DataWithCursorRawDBTable" : {
"type" : "object",
"properties" : {
"items" : {
"type" : "array",
"items" : {
"$ref" : "#/components/schemas/RawDBTable"
}
},
"previousCursor" : {
"type" : "string",
"description" : "Cursor to get the previous page of results (if available)."
},
"nextCursor" : {
"type" : "string",
"description" : "Cursor to get the next page of results (if available)."
}
},
"description" : "A list of objects along with possible cursors to get the next, or previous, page of results"
},
"DataWithCursorSecurityCategoryDTO" : {
"type" : "object",
"properties" : {
"items" : {
"type" : "array",
"items" : {
"$ref" : "#/components/schemas/SecurityCategoryDTO"
}
},
"previousCursor" : {
"type" : "string",
"description" : "Cursor to get the previous page of results (if available)."
},
"nextCursor" : {
"type" : "string",
"description" : "Cursor to get the next page of results (if available)."
}
},
"description" : "A list of objects along with possible cursors to get the next, or previous, page of results"
},
"DatapointsFrameMultiQuery" : {
"type" : "object",
"properties" : {
"items" : {
"type" : "array",
"items" : {
"$ref" : "#/components/schemas/DatapointsFrameQuery"
}
},
"start" : {
"type" : "string",
"description" : "Get datapoints after this time. Format is N[timeunit]-ago where timeunit is w,d,h,m,s. Example: '2d-ago' will get everything that is up to 2 days old. Can also send time in ms since epoch. Note that when using aggregates, the start time will be rounded down to a whole granularity unit (in UTC timezone). For granularity 2d it will be rounded to 0:00 AM on the same day, for 3h it will be rounded to the start of the hour, etc."
},
"end" : {
"type" : "string",
"description" : "Get datapoints up to this time. Same format as for start. Note that when using aggregates, the end will be rounded up such that the last aggregate represents a full aggregation interval containing the original end, where the interval is the granularity unit times the granularity multiplier. For granularity 2d, the aggregation interval is 2 days, if end was originally 3 days after the start, it will be rounded to 4 days after the start."
},
"limit" : {
"type" : "integer",
"description" : "Return up to this number of timestamp-values rows in the CSV table.",
"format" : "int32"
},
"aggregates" : {
"type" : "array",
"description" : "Get these aggregates for this time series by default.",
"items" : {
"type" : "string",
"description" : "Get these aggregates for this time series by default."
}
},
"granularity" : {
"type" : "string",
"description" : "The granularity of the aggregate values. Valid entries are: 'day/d, hour/h, minute/m, second/s', or a multiple of these indicated by a number as a prefix. Example: 12hour"
}
},
"description" : "Parameters describing a query for multiple datapoints."
},
"DatapointsFrameQuery" : {
"required" : [ "name" ],
"type" : "object",
"properties" : {
"name" : {
"type" : "string",
"description" : "Unique name of time series."
},
"aggregates" : {
"type" : "array",
"description" : "Get these aggregates for this time series",
"items" : {
"type" : "string",
"description" : "Get these aggregates for this time series"
}
}
},
"description" : "Parameters describing a query for datapoints."
},
"DatapointsFrameResponse" : {
"type" : "object",
"properties" : {
"columnHeaders" : {
"type" : "array",
"description" : "Headers for the different columns in the response.",
"items" : {
"type" : "string",
"description" : "Headers for the different columns in the response."
}
},
"rows" : {
"type" : "array",
"description" : "The aggregate datapoint values row by row.",
"items" : {
"type" : "array",
"description" : "The aggregate datapoint values row by row.",
"items" : {
"type" : "object",
"description" : "The aggregate datapoint values row by row."
}
}
}
},
"description" : "Response to a datapoints frame query in a table format."
},
"DatapointsGetDatapoint" : {
"required" : [ "datapoints", "name" ],
"type" : "object",
"properties" : {
"name" : {
"type" : "string",
"description" : "Unique name of the time series the datapoints belong to"
},
"datapoints" : {
"type" : "array",
"description" : "The list of datapoints",
"items" : {
"$ref" : "#/components/schemas/GetDatapoint"
}
}
}
},
"DatapointsMultiQuery" : {
"type" : "object",
"properties" : {
"items" : {
"type" : "array",
"items" : {
"$ref" : "#/components/schemas/DatapointsQuery"
}
},
"start" : {
"type" : "string",
"description" : "Get datapoints after this time. Format is N[timeunit]-ago where timeunit is w,d,h,m,s. Example: '2d-ago' will get everything that is up to 2 days old. Can also send time in ms since epoch. Note that when using aggregates, the start time will be rounded down to a whole granularity unit (in UTC timezone). For granularity 2d it will be rounded to 0:00 AM on the same day, for 3h it will be rounded to the start of the hour, etc."
},
"end" : {
"type" : "string",
"description" : "Get datapoints up to this time. Same format as for start. Note that when using aggregates, the end will be rounded up such that the last aggregate represents a full aggregation interval containing the original end, where the interval is the granularity unit times the granularity multiplier. For granularity 2d, the aggregation interval is 2 days, if end was originally 3 days after the start, it will be rounded to 4 days after the start."
},
"limit" : {
"type" : "integer",
"description" : "Return up to this number of datapoints. Default 100.",
"format" : "int32"
},
"aggregates" : {
"type" : "string",
"description" : "The aggregates to be applied. If both this field and the a query item aggregate field is left blank, un-aggregated data will be returned for that query."
},
"granularity" : {
"type" : "string",
"description" : "The time granularity size and unit to aggregate over. For example '1h' for one hour."
},
"includeOutsidePoints" : {
"type" : "boolean",
"description" : "Whether to include the last datapoint before the requested time period,and the first one after the requested period. This can be useful for interpolating data. Not available for aggregates.",
"default" : false
}
},
"description" : "Parameters describing a query for multiple datapoints. If fields in individual datapoint query items are omitted, values from the multiquery are used instead. For example, you can provide a default limit for all items (that do not have a limit set) by setting the limit field in the multiquery."
},
"DatapointsPostDatapoint" : {
"required" : [ "datapoints", "name" ],
"type" : "object",
"properties" : {
"name" : {
"type" : "string",
"description" : "Unique name of the time series the datapoints belong to"
},
"datapoints" : {
"type" : "array",
"description" : "The list of datapoints",
"items" : {
"$ref" : "#/components/schemas/PostDatapoint"
}
}
}
},
"DatapointsQuery" : {
"required" : [ "name" ],
"type" : "object",
"properties" : {
"function" : {
"type" : "string",
"description" : "Experimental: Function expression to evaluate for this response. E.g '[23] + [45]' will give you the sum of timeseries with id=23 and timeseries with id=45. This feature is experimental, and may be changed in breaking ways."
},
"name" : {
"type" : "string",
"description" : "Unique name of time series."
},
"start" : {
"type" : "string",
"description" : "Get datapoints after this time. Format is N[timeunit]-ago where timeunit is w,d,h,m,s. Example: '2d-ago' will get everything that is up to 2 days old. Can also send time in ms since epoch. Note that when using aggregates, the start time will be rounded down to a whole granularity unit (in UTC timezone). For granularity 2d it will be rounded to 0:00 AM on the same day, for 3h it will be rounded to the start of the hour, etc."
},
"end" : {
"type" : "string",
"description" : "Get datapoints up to this time. Same format as for start. Note that when using aggregates, the end will be rounded up such that the last aggregate represents a full aggregation interval containing the original end, where the interval is the granularity unit times the granularity multiplier. For granularity 2d, the aggregation interval is 2 days, if end was originally 3 days after the start, it will be rounded to 4 days after the start."
},
"limit" : {
"type" : "integer",
"description" : "Return up to this number of datapoints.",
"format" : "int32"
},
"aggregates" : {
"type" : "string",
"description" : "The aggregates to be returned. Use default if null. An empty string must be sent to get raw data if the default is a set of aggregates."
},
"granularity" : {
"type" : "string",
"description" : "The granularity size and granularity of the aggregates."
},
"includeOutsidePoints" : {
"type" : "boolean",
"description" : "Whether to include the last datapoint before the requested time period,and the first one after the requested period. This can be useful for interpolating data. Not available for aggregates.",
"default" : false
},
"aliases" : {
"type" : "array",
"description" : "List of input alias for the function query. Only relevant when specifying the 'function' property",
"items" : {
"$ref" : "#/components/schemas/FunctionInputAlias"
}
}
},
"description" : "Parameters describing a query for datapoints."
},
"DatapointsResponseLegacy" : {
"type" : "object",
"properties" : {
"data" : {
"$ref" : "#/components/schemas/DataGetDatapoint"
}
}
},
"DeleteFilesResponse" : {
"type" : "object",
"properties" : {
"data" : {
"type" : "object",
"additionalProperties" : {
"uniqueItems" : true,
"type" : "array",
"items" : {
"type" : "integer",
"format" : "int64"
}
}
}
}
},
"EmptyResponse" : {
"type" : "object"
},
"Error" : {
"type" : "object",
"properties" : {
"code" : {
"type" : "integer",
"description" : "HTTP status code",
"format" : "int32"
},
"message" : {
"type" : "string",
"description" : "Error message"
},
"extra" : {
"type" : "object",
"description" : "Additional data"
}
}
},
"ErrorResponse" : {
"type" : "object",
"properties" : {
"error" : {
"$ref" : "#/components/schemas/Error"
}
}
},
"Event" : {
"type" : "object",
"properties" : {
"id" : {
"type" : "integer",
"description" : "ID given by the API to the event.",
"format" : "int64"
},
"startTime" : {
"type" : "integer",
"description" : "Start time of the event in milliseconds since Jan 1, 1970.",
"format" : "int64"
},
"endTime" : {
"type" : "integer",
"description" : "End time of the event in milliseconds since Jan 1, 1970.",
"format" : "int64"
},
"description" : {
"maxLength" : 500,
"type" : "string",
"description" : "Textual description of the event."
},
"type" : {
"maxLength" : 64,
"type" : "string",
"description" : "Type of the event, e.g 'failure'."
},
"subtype" : {
"maxLength" : 64,
"type" : "string",
"description" : "Subtype of the event, e.g 'electrical'."
},
"metadata" : {
"type" : "object",
"description" : "Customizable extra data about the event. Format is a JSON dictionary : {\"key1\": \"value1\", \"key2\": \"value2\"}. Each key and value is matched case-insensitive. The maximum number of entries (pairs of key+value) is 256. The maximum length in characters of the sum of all keys and values is 10240. There is also a maximum length of 128 characters per key and 10240 per value."
},
"assetIds" : {
"maximum" : 100,
"type" : "array",
"description" : "Asset IDs of related equipments that this event relates to.",
"items" : {
"maximum" : 100,
"type" : "integer",
"description" : "Asset IDs of related equipments that this event relates to.",
"format" : "int64"
}
},
"source" : {
"maxLength" : 128,
"type" : "string",
"description" : "The source of this event."
},
"sourceId" : {
"maxLength" : 128,
"type" : "string",
"description" : "Unique identification of the event in the source. Only applicable if source is specified. The combination of source and sourceId must be unique."
},
"createdTime" : {
"type" : "integer",
"description" : "Time when this event is created in CDP in milliseconds since Jan 1, 1970.",
"format" : "int64"
},
"lastUpdatedTime" : {
"type" : "integer",
"description" : "The latest time when this event is updated in CDP in milliseconds since Jan 1, 1970.",
"format" : "int64"
}
},
"description" : "An event represents something that happened at a given interval in time, e.g a failure, a work order etc."
},
"EventCreate05" : {
"type" : "object",
"properties" : {
"startTime" : {
"type" : "integer",
"description" : "Start time of the event in milliseconds since Jan 1, 1970.",
"format" : "int64"
},
"endTime" : {
"type" : "integer",
"description" : "End time of the event in milliseconds since Jan 1, 1970.",
"format" : "int64"
},
"description" : {
"maxLength" : 500,
"type" : "string",
"description" : "Textual description of the event."
},
"type" : {
"maxLength" : 64,
"type" : "string",
"description" : "Type of the event, e.g 'failure'."
},
"subtype" : {
"maxLength" : 64,
"type" : "string",
"description" : "Subtype of the event, e.g 'electrical'."
},
"metadata" : {
"type" : "object",
"description" : "Customizable extra data about the event. Format is a JSON dictionary : {\"key1\": \"value1\", \"key2\": \"value2\"}. Each key and value is matched case-insensitive. The maximum number of entries (pairs of key+value) is 256. The maximum length in characters of the sum of all keys and values is 10240. There is also a maximum length of 128 characters per key and 10240 per value."
},
"assetIds" : {
"maximum" : 100,
"type" : "array",
"description" : "Asset IDs of related equipments that this event relates to.",
"items" : {
"maximum" : 100,
"type" : "integer",
"description" : "Asset IDs of related equipments that this event relates to.",
"format" : "int64"
}
},
"source" : {
"maxLength" : 128,
"type" : "string",
"description" : "The source of this event."
},
"sourceId" : {
"maxLength" : 128,
"type" : "string",
"description" : "Unique identification of the event in the source. Only applicable if source is specified. The combination of source and sourceId must be unique."
}
},
"description" : "Create Event"
},
"EventDataResponse" : {
"type" : "object",
"properties" : {
"data" : {
"$ref" : "#/components/schemas/DataEvent"
}
}
},
"EventDataWithCursorResponse" : {
"type" : "object",
"properties" : {
"data" : {
"$ref" : "#/components/schemas/DataWithCursorEvent"
}
}
},
"EventFullUpdate" : {
"type" : "object",
"properties" : {
"id" : {
"type" : "integer",
"description" : "ID given by the API to the event.",
"format" : "int64"
},
"startTime" : {
"type" : "integer",
"description" : "Start time of the event in milliseconds since Jan 1, 1970.",
"format" : "int64"
},
"endTime" : {
"type" : "integer",
"description" : "End time of the event in milliseconds since Jan 1, 1970.",
"format" : "int64"
},
"description" : {
"maxLength" : 500,
"type" : "string",
"description" : "Textual description of the event."
},
"type" : {
"maxLength" : 64,
"type" : "string",
"description" : "Type of the event, e.g 'failure'."
},
"subtype" : {
"maxLength" : 64,
"type" : "string",
"description" : "Subtype of the event, e.g 'electrical'."
},
"metadata" : {
"type" : "object",
"description" : "Customizable extra data about the event. Format is a JSON dictionary : {\"key1\": \"value1\", \"key2\": \"value2\"}. Each key and value is matched case-insensitive. The maximum number of entries (pairs of key+value) is 256. The maximum length in characters of the sum of all keys and values is 10240. There is also a maximum length of 128 characters per key and 10240 per value."
},
"assetIds" : {
"maximum" : 100,
"type" : "array",
"description" : "Asset IDs of related equipments that this event relates to.",
"items" : {
"maximum" : 100,
"type" : "integer",
"description" : "Asset IDs of related equipments that this event relates to.",
"format" : "int64"
}
},
"source" : {
"maxLength" : 128,
"type" : "string",
"description" : "The source of this event."
},
"sourceId" : {
"maxLength" : 128,
"type" : "string",
"description" : "Unique identification of the event in the source. Only applicable if source is specified. The combination of source and sourceId must be unique."
}
},
"description" : "Updates that will be applied to events. Missing fields will be set to null."
},
"FileChange" : {
"type" : "object",
"properties" : {
"id" : {
"type" : "integer",
"description" : "ID given by the API to the file.",
"format" : "int64"
},
"fileName" : {
"$ref" : "#/components/schemas/NullableSinglePatchString"
},
"directory" : {
"$ref" : "#/components/schemas/NullableSinglePatchString"
},
"fileType" : {
"$ref" : "#/components/schemas/NullableSinglePatchString"
},
"source" : {
"$ref" : "#/components/schemas/NullableSinglePatchString"
},
"sourceId" : {
"$ref" : "#/components/schemas/NullableSinglePatchString"
},
"metadata" : {
"$ref" : "#/components/schemas/NullableSinglePatch"
},
"assetIds" : {
"$ref" : "#/components/schemas/ArrayPatchLong"
}
},
"description" : "Changes will be applied to file."
},
"FileInfo" : {
"required" : [ "fileName" ],
"type" : "object",
"properties" : {
"id" : {
"type" : "integer",
"description" : "ID given by the API to the file.",
"format" : "int64"
},
"fileName" : {
"maxLength" : 256,
"type" : "string",
"description" : "File name"
},
"directory" : {
"maxLength" : 512,
"type" : "string",
"description" : "Directory containing the file"
},
"source" : {
"maxLength" : 128,
"type" : "string",
"description" : "The source of this file"
},
"sourceId" : {
"maxLength" : 128,
"type" : "string",
"description" : "Unique identification of the file in the source. Only applicable if source is specified. The combination of source and sourceId must be unique"
},
"fileType" : {
"maxLength" : 64,
"type" : "string",
"description" : "File type. E.g. pdf, css, spreadsheet, .."
},
"metadata" : {
"type" : "object",
"description" : "Customized data about the file. Format is a JSON dictionary : {\"key1\": \"value1\", \"key2\": \"value2\"}. Each key and value is matched case-insensitive. The maximum number of entries (pairs of key+value) is 256. The maximum length in characters of the sum of all keys and values is 10240. There is also a maximum length of 128 characters per key and 10240 per value."
},
"assetIds" : {
"maximum" : 100,
"type" : "array",
"description" : "IDs (assetIds) of equipment related to this file.",
"items" : {
"maximum" : 100,
"type" : "integer",
"description" : "IDs (assetIds) of equipment related to this file.",
"format" : "int64"
}
},
"uploaded" : {
"type" : "boolean",
"description" : "Whether or not the actual file is uploaded. This field is returned only by the API, it has no effect in a post body."
},
"uploadedAt" : {
"type" : "integer",
"description" : "Epoch time (ms) when file was uploaded successfully.",
"format" : "int64"
},
"createdTime" : {
"type" : "integer",
"description" : "Time when this event is created in CDP in milliseconds since Jan 1, 1970.",
"format" : "int64"
},
"lastUpdatedTime" : {
"type" : "integer",
"description" : "The latest time when this event is updated in CDP in milliseconds since Jan 1, 1970.",
"format" : "int64"
}
},
"description" : "information about file"
},
"FileResponse" : {
"type" : "object",
"properties" : {
"data" : {
"$ref" : "#/components/schemas/DataFileInfo"
}
}
},
"FileWithCursorResponse" : {
"type" : "object",
"properties" : {
"data" : {
"$ref" : "#/components/schemas/DataWithCursorFileInfo"
}
}
},
"FunctionInputAlias" : {
"required" : [ "alias", "id" ],
"type" : "object",
"properties" : {
"id" : {
"type" : "integer",
"description" : "The id of the timeseries that this alias references",
"format" : "int64"
},
"alias" : {
"type" : "string",
"description" : "The string value that is referenced in the function expression"
},
"aggregate" : {
"type" : "string",
"description" : "The aggregate to fetch for this alias, empty means fetch non-aggregated data. Aggregate values will be interpolated for periods with no ground data. There are known inaccuracies in how the average value is interpolated."
},
"granularity" : {
"type" : "string",
"description" : "The granularity of the aggregates, only relevant if property 'aggregate' is specified"
}
},
"description" : "List of input alias for the function query. Only relevant when specifying the 'function' property"
},
"GetDatapoint" : {
"required" : [ "timestamp", "value" ],
"type" : "object",
"properties" : {
"timestamp" : {
"type" : "integer",
"description" : "The data timestamp in milliseconds since the epoch (Jan 1, 1970).",
"format" : "int64"
},
"value" : {
"type" : "string",
"description" : "The data value. Can be String or numeric depending on the metric"
},
"average" : {
"type" : "number",
"description" : "The integral average value in the aggregate period",
"format" : "double"
},
"max" : {
"type" : "number",
"description" : "The maximum value in the aggregate period",
"format" : "double"
},
"min" : {
"type" : "number",
"description" : "The minimum value in the aggregate period",
"format" : "double"
},
"count" : {
"type" : "integer",
"description" : "The number of datapoints in the aggregate period",
"format" : "int32"
},
"sum" : {
"type" : "number",
"description" : "The sum of the datapoints in the aggregate period",
"format" : "double"
},
"interpolation" : {
"type" : "number",
"description" : "The interpolated value of the series in the beginning of the aggregate",
"format" : "double"
},
"stepInterpolation" : {
"type" : "number",
"description" : "The last value before or at the beginning of the aggregate.",
"format" : "double"
},
"continousVariance" : {
"type" : "number",
"description" : "The variance of the interpolated underlying function.",
"format" : "double"
},
"discreteVariance" : {
"type" : "number",
"description" : "The variance of the datapoint values.",
"format" : "double"
},
"totalVariation" : {
"type" : "number",
"description" : "The total variation of the interpolated underlying function.",
"format" : "double"
}
}
},
"GetTimeSeriesV2DTO" : {
"required" : [ "name" ],
"type" : "object",
"properties" : {
"name" : {
"type" : "string",
"description" : "Unique name of time series"
},
"isString" : {
"type" : "boolean",
"description" : "Whether the time series is string valued or not."
},
"metadata" : {
"type" : "object",
"description" : "Additional metadata. String key -> String value."
},
"unit" : {
"type" : "string",
"description" : "The physical unit of the time series."
},
"assetId" : {
"type" : "integer",
"description" : "Asset that this time series belongs to.",
"format" : "int64"
},
"isStep" : {
"type" : "boolean",
"description" : "Whether the time series is a step series or not."
},
"description" : {
"type" : "string",
"description" : "Description of the time series."
},
"securityCategories" : {
"type" : "array",
"description" : "Security categories required in order to access this time series.",
"items" : {
"type" : "integer",
"description" : "Security categories required in order to access this time series.",
"format" : "int64"
}
},
"id" : {
"type" : "integer",
"description" : "Generated id of the time series",
"format" : "int64"
},
"createdTime" : {
"type" : "integer",
"description" : "Time when this time-series is created in CDF in milliseconds since Jan 1, 1970.",
"format" : "int64"
},
"lastUpdatedTime" : {
"type" : "integer",
"description" : "The latest time when this time-series is updated in CDF in milliseconds since Jan 1, 1970.",
"format" : "int64"
}
}
},
"Group" : {
"type" : "object",
"properties" : {
"name" : {
"type" : "string"
},
"source" : {
"type" : "string",
"description" : "The source of this group"
},
"sourceId" : {
"type" : "string",
"description" : "ID of the group in the source. Only applicable if source is specified. The combination of source and sourceId must be unique."
},
"permissions" : {
"$ref" : "#/components/schemas/PermissionsDTO"
},
"capabilities" : {
"$ref" : "https://storage.googleapis.com/cognitedata-api-docs/api-acls-0.8.4s.json#/components/schemas/cogniteCapability"
},
"id" : {
"type" : "integer",
"format" : "int64"
},
"isDeleted" : {
"type" : "boolean"
},
"deletedTime" : {
"type" : "integer",
"format" : "int64"
}
},
"allOf" : [ {
"$ref" : "#/components/schemas/GroupSpec"
} ]
},
"GroupResponse" : {
"type" : "object",
"properties" : {
"data" : {
"$ref" : "#/components/schemas/DataGroup"
}
}
},
"GroupSpec" : {
"type" : "object",
"properties" : {
"name" : {
"type" : "string"
},
"source" : {
"type" : "string",
"description" : "The source of this group"
},
"sourceId" : {
"type" : "string",
"description" : "ID of the group in the source. Only applicable if source is specified. The combination of source and sourceId must be unique."
},
"permissions" : {
"$ref" : "#/components/schemas/PermissionsDTO"
},
"capabilities" : {
"$ref" : "https://storage.googleapis.com/cognitedata-api-docs/api-acls-0.8.4s.json#/components/schemas/cogniteCapability"
}
},
"description" : "A specification for creating a new group"
},
"IdToken" : {
"type" : "object",
"properties" : {
"sub" : {
"type" : "string",
"description" : "The subject of the token"
},
"project_name" : {
"type" : "string",
"description" : "Which CDP project the subject is in"
},
"groups" : {
"type" : "array",
"description" : "Which groups (by id) the subject is in",
"items" : {
"type" : "integer",
"description" : "Which groups (by id) the subject is in",
"format" : "int64"
}
},
"signing_key" : {
"type" : "string",
"description" : "The signing key id"
},
"exp" : {
"type" : "integer",
"description" : "The expiration time of the token",
"format" : "int64"
}
},
"description" : "An ID JWT token"
},
"IdsNotFoundResponse" : {
"type" : "object",
"properties" : {
"code" : {
"type" : "integer",
"description" : "HTTP status code",
"format" : "int32"
},
"message" : {
"type" : "string",
"description" : "Error message"
},
"extra" : {
"type" : "object",
"description" : "Additional data"
},
"notFound" : {
"uniqueItems" : true,
"type" : "array",
"description" : "Items which are not found",
"items" : {
"type" : "integer",
"description" : "Items which are not found",
"format" : "int64"
}
}
}
},
"LoginStatusDTO" : {
"type" : "object",
"properties" : {
"user" : {
"type" : "string",
"description" : "The user principal, e.g john.doe@corporation.com."
},
"loggedIn" : {
"type" : "boolean",
"description" : "Whether the user is logged in or not."
},
"project" : {
"type" : "string",
"description" : "Name of project user belongs to"
},
"projectId" : {
"type" : "integer",
"description" : "Internal project id of the project",
"format" : "int64"
}
},
"description" : "Represents the current authentication status of the given user."
},
"LoginStatusResponse" : {
"type" : "object",
"properties" : {
"data" : {
"$ref" : "#/components/schemas/LoginStatusDTO"
}
}
},
"LoginUrlDTO" : {
"type" : "object",
"properties" : {
"url" : {
"type" : "string",
"description" : "The url where the user can be redirected to sign in."
}
},
"description" : "Represents an url where the user can be redirected to sign in."
},
"LoginUrlResponse" : {
"type" : "object",
"properties" : {
"data" : {
"$ref" : "#/components/schemas/LoginUrlDTO"
}
}
},
"MissingFieldError" : {
"type" : "object",
"properties" : {
"code" : {
"type" : "integer",
"description" : "HTTP status code",
"format" : "int32"
},
"message" : {
"type" : "string",
"description" : "Error message"
},
"extra" : {
"type" : "object",
"description" : "Additional data"
},
"missingFields" : {
"uniqueItems" : true,
"type" : "array",
"description" : "Fields that are missing.",
"items" : {
"type" : "object",
"description" : "Fields that are missing."
}
}
}
},
"MultiDatapointsResponseLegacy" : {
"type" : "object",
"properties" : {
"data" : {
"$ref" : "#/components/schemas/DataDatapointsGetDatapoint"
}
}
},
"NamesNotFoundResponse" : {
"type" : "object",
"properties" : {
"code" : {
"type" : "integer",
"description" : "HTTP status code",
"format" : "int32"
},
"message" : {
"type" : "string",
"description" : "Error message"
},
"extra" : {
"type" : "object",
"description" : "Additional data"
},
"notFound" : {
"uniqueItems" : true,
"type" : "array",
"description" : "Items which are not found",
"items" : {
"type" : "string",
"description" : "Items which are not found"
}
}
}
},
"NewApiKeyResponse" : {
"type" : "object",
"properties" : {
"data" : {
"$ref" : "#/components/schemas/DataNewApiKeyResponseDTO"
}
}
},
"NewApiKeyResponseDTO" : {
"type" : "object",
"properties" : {
"id" : {
"type" : "integer",
"format" : "int64"
},
"userId" : {
"type" : "integer",
"format" : "int64"
},
"createdTime" : {
"type" : "integer",
"format" : "int64"
},
"status" : {
"type" : "string",
"enum" : [ "ACTIVE", "DELETED" ]
},
"value" : {
"type" : "string"
}
}
},
"NullableSinglePatch" : {
"type" : "object",
"properties" : {
"set" : {
"type" : "object"
},
"setNull" : {
"type" : "boolean"
}
},
"description" : "Change that will be applied to metadata. String key -> String value."
},
"NullableSinglePatchBoolean" : {
"type" : "object",
"properties" : {
"set" : {
"type" : "boolean"
},
"setNull" : {
"type" : "boolean"
}
},
"description" : "Has no effect as step is immutable (present for backward compatibility)",
"deprecated" : true
},
"NullableSinglePatchLong" : {
"type" : "object",
"properties" : {
"set" : {
"type" : "integer",
"format" : "int64"
},
"setNull" : {
"type" : "boolean"
}
},
"description" : "Change that will be applied to assetId."
},
"NullableSinglePatchString" : {
"type" : "object",
"properties" : {
"set" : {
"type" : "string"
},
"setNull" : {
"type" : "boolean"
}
},
"description" : "Change that will be applied to description."
},
"OAuth2ConfigurationDTO" : {
"type" : "object",
"properties" : {
"loginUrl" : {
"type" : "string",
"description" : "Login URL of OAuth2 provider. E.g https://accounts.google.com/o/oauth2/v2/auth."
},
"logoutUrl" : {
"type" : "string",
"description" : "Logout URL of OAuth2 provider. E.g https://accounts.google.com/Logout."
},
"tokenUrl" : {
"type" : "string",
"description" : "URL to get access token from OAuth2 provider. E.g https://www.googleapis.com/oauth2/v4/token."
},
"clientId" : {
"type" : "string",
"description" : "Client ID. You probably get this when registering your client with the OAuth2 provider."
},
"clientSecret" : {
"type" : "string",
"description" : "Client secret. You probably get this when registering your client with the OAuth2 provider."
}
},
"description" : "Data related to generic OAuth2 authentication. Not used for Azure AD."
},
"PermissionsDTO" : {
"type" : "object",
"properties" : {
"accessTypes" : {
"type" : "array",
"description" : "READ, WRITE, RAW_READ or ADMIN.",
"items" : {
"type" : "string",
"description" : "READ, WRITE, RAW_READ or ADMIN.",
"enum" : [ "READ", "WRITE", "ADMIN", "RAW_READ" ]
}
},
"assetIds" : {
"type" : "array",
"description" : "List of IDs of assets the group should have access to.",
"items" : {
"type" : "integer",
"description" : "List of IDs of assets the group should have access to.",
"format" : "int64"
}
},
"securityCategoryIds" : {
"uniqueItems" : true,
"type" : "array",
"items" : {
"type" : "integer",
"format" : "int64"
}
}
},
"description" : "Permissions determine the access types of a group, and alternatively also the assets a group has access to."
},
"PostDatapoint" : {
"required" : [ "timestamp", "value" ],
"type" : "object",
"properties" : {
"timestamp" : {
"type" : "integer",
"description" : "The data timestamp in milliseconds since the epoch (Jan 1, 1970).",
"format" : "int64"
},
"value" : {
"type" : "string",
"description" : "The data value. Can be String or numeric depending on the metric"
}
}
},
"PostTimeSeriesV2DTO" : {
"required" : [ "name" ],
"type" : "object",
"properties" : {
"name" : {
"type" : "string",
"description" : "Unique name of time series"
},
"isString" : {
"type" : "boolean",
"description" : "Whether the time series is string valued or not."
},
"metadata" : {
"type" : "object",
"description" : "Additional metadata. String key -> String value."
},
"unit" : {
"type" : "string",
"description" : "The physical unit of the time series."
},
"assetId" : {
"type" : "integer",
"description" : "Asset that this time series belongs to.",
"format" : "int64"
},
"isStep" : {
"type" : "boolean",
"description" : "Whether the time series is a step series or not."
},
"description" : {
"type" : "string",
"description" : "Description of the time series."
},
"securityCategories" : {
"type" : "array",
"description" : "Security categories required in order to access this time series.",
"items" : {
"type" : "integer",
"description" : "Security categories required in order to access this time series.",
"format" : "int64"
}
}
}
},
"Project" : {
"required" : [ "name", "urlName" ],
"type" : "object",
"properties" : {
"name" : {
"type" : "string",
"description" : "The display name of the project."
},
"urlName" : {
"type" : "string",
"description" : "The url name of the project. This is used as part of API calls. It should only contain letters, digits and hyphens, as long as the hyphens are not at the start or end."
},
"defaultGroupId" : {
"type" : "integer",
"description" : "A default group for all project users. Can be used to establish default permissions.WARNING: this group may be logically deleted",
"format" : "int64"
},
"authentication" : {
"$ref" : "#/components/schemas/ProjectAuthenticationDTO"
}
},
"description" : "A customer usually has only one project. The project contains info about identity and authorization authority for its associated resources."
},
"ProjectAuthenticationDTO" : {
"type" : "object",
"properties" : {
"type" : {
"type" : "string",
"description" : "The type of authority",
"enum" : [ "AzureAD" ]
},
"protocol" : {
"type" : "string",
"description" : "The authentication protocol",
"enum" : [ "oauth2" ]
},
"azureADConfiguration" : {
"$ref" : "#/components/schemas/AzureADConfigurationDTO"
},
"validDomains" : {
"type" : "array",
"description" : "List of valid domains. If left empty, any user registered with the OAuth2 provider will get access. E.g [\"cognite.com\", \"cognitedata.com\", \"akerbp.com\"]",
"items" : {
"type" : "string",
"description" : "List of valid domains. If left empty, any user registered with the OAuth2 provider will get access. E.g [\"cognite.com\", \"cognitedata.com\", \"akerbp.com\"]"
}
},
"oAuth2Configuration" : {
"$ref" : "#/components/schemas/OAuth2ConfigurationDTO"
}
},
"description" : "Data about how to authenticate and authorize users"
},
"ProjectsResponse" : {
"type" : "object",
"properties" : {
"data" : {
"$ref" : "#/components/schemas/DataProject"
}
}
},
"RawDB" : {
"type" : "object",
"properties" : {
"dbName" : {
"type" : "string",
"description" : "Unique name of a database."
}
},
"description" : "A NoSQL database to store customer data."
},
"RawDBRow" : {
"required" : [ "columns", "key" ],
"type" : "object",
"properties" : {
"key" : {
"type" : "string",
"description" : "Unique row key"
},
"columns" : {
"type" : "object",
"description" : "Row data stored as a JSON object."
},
"lastChanged" : {
"type" : "integer",
"description" : "Last changed timestamp",
"format" : "int64"
}
},
"description" : "A row to store in the Raw DB."
},
"RawDBRowsResponse" : {
"type" : "object",
"properties" : {
"data" : {
"$ref" : "#/components/schemas/DataRawDBRow"
}
}
},
"RawDBRowsWithCursorResponse" : {
"type" : "object",
"properties" : {
"data" : {
"$ref" : "#/components/schemas/DataWithCursorRawDBRow"
}
}
},
"RawDBTable" : {
"required" : [ "tableName" ],
"type" : "object",
"properties" : {
"tableName" : {
"type" : "string",
"description" : "Unique name of the table"
}
},
"description" : "A NoSQL database table to store customer data"
},
"RawDBTablesResponse" : {
"type" : "object",
"properties" : {
"data" : {
"$ref" : "#/components/schemas/DataRawDBTable"
}
}
},
"RawDBTablesWithCursorResponse" : {
"type" : "object",
"properties" : {
"data" : {
"$ref" : "#/components/schemas/DataWithCursorRawDBTable"
}
}
},
"RawDBsResponse" : {
"type" : "object",
"properties" : {
"data" : {
"$ref" : "#/components/schemas/DataRawDB"
}
}
},
"RawDBsWithCursorResponse" : {
"type" : "object",
"properties" : {
"data" : {
"$ref" : "#/components/schemas/DataWithCursorRawDB"
}
}
},
"RawRowCSV" : {
"type" : "object",
"properties" : {
"columnHeaders" : {
"type" : "array",
"description" : "Headers for the different columns in the response.",
"items" : {
"type" : "string",
"description" : "Headers for the different columns in the response."
}
},
"rows" : {
"type" : "array",
"description" : "Rows of column values, in same order as columnHeaders.",
"items" : {
"type" : "array",
"description" : "Rows of column values, in same order as columnHeaders.",
"items" : {
"type" : "object",
"description" : "Rows of column values, in same order as columnHeaders."
}
}
}
},
"description" : "Raw row result written in CSV format, with column columnHeaders."
},
"SecurityCategoryDTO" : {
"required" : [ "name" ],
"type" : "object",
"properties" : {
"name" : {
"type" : "string",
"description" : "Name of the security category"
},
"id" : {
"type" : "integer",
"description" : "Id of the security category",
"format" : "int64"
}
}
},
"SecurityCategoryResponse" : {
"type" : "object",
"properties" : {
"data" : {
"$ref" : "#/components/schemas/DataSecurityCategoryDTO"
}
}
},
"SecurityCategorySpecDTO" : {
"required" : [ "name" ],
"type" : "object",
"properties" : {
"name" : {
"type" : "string",
"description" : "Name of the security category"
}
}
},
"SecurityCategoryWithCursorResponse" : {
"type" : "object",
"properties" : {
"data" : {
"$ref" : "#/components/schemas/DataWithCursorSecurityCategoryDTO"
}
}
},
"SinglePatchString" : {
"type" : "object",
"properties" : {
"set" : {
"type" : "string"
}
},
"description" : "Change that will be applied to name field."
},
"SingleStringResponse" : {
"type" : "object",
"properties" : {
"data" : {
"type" : "string"
}
}
},
"SingleTokenStatusDTOResponse" : {
"type" : "object",
"properties" : {
"data" : {
"$ref" : "#/components/schemas/TokenStatusDTO"
}
}
},
"TimeSeriesChange" : {
"type" : "object",
"properties" : {
"id" : {
"type" : "integer",
"format" : "int64"
},
"name" : {
"$ref" : "#/components/schemas/NullableSinglePatchString"
},
"metadata" : {
"$ref" : "#/components/schemas/NullableSinglePatch"
},
"unit" : {
"$ref" : "#/components/schemas/NullableSinglePatchString"
},
"assetId" : {
"$ref" : "#/components/schemas/NullableSinglePatchLong"
},
"description" : {
"$ref" : "#/components/schemas/NullableSinglePatchString"
},
"securityCategories" : {
"$ref" : "#/components/schemas/ArrayPatchLong"
},
"isString" : {
"$ref" : "#/components/schemas/NullableSinglePatchBoolean"
},
"isStep" : {
"$ref" : "#/components/schemas/NullableSinglePatchBoolean"
}
},
"description" : "Changes will be applied to time series."
},
"TimeSeriesCursorResponse" : {
"type" : "object",
"properties" : {
"data" : {
"$ref" : "#/components/schemas/DataWithCursorGetTimeSeriesV2DTO"
}
}
},
"TimeSeriesResponse" : {
"type" : "object",
"properties" : {
"data" : {
"$ref" : "#/components/schemas/DataGetTimeSeriesV2DTO"
}
}
},
"TokenStatusDTO" : {
"type" : "object",
"properties" : {
"token" : {
"type" : "string"
},
"valid" : {
"type" : "boolean"
},
"expired" : {
"type" : "boolean"
}
}
},
"TypedResponseDatapointsFrameResponse" : {
"type" : "object",
"properties" : {
"statusInfo" : {
"type" : "object",
"properties" : {
"statusCode" : {
"type" : "integer",
"format" : "int32"
},
"reasonPhrase" : {
"type" : "string"
},
"family" : {
"type" : "string",
"enum" : [ "INFORMATIONAL", "SUCCESSFUL", "REDIRECTION", "CLIENT_ERROR", "SERVER_ERROR", "OTHER" ]
}
}
},
"mediaType" : {
"type" : "object",
"properties" : {
"type" : {
"type" : "string"
},
"subtype" : {
"type" : "string"
},
"parameters" : {
"type" : "object",
"additionalProperties" : {
"type" : "string"
}
},
"wildcardType" : {
"type" : "boolean"
},
"wildcardSubtype" : {
"type" : "boolean"
}
}
},
"allowedMethods" : {
"uniqueItems" : true,
"type" : "array",
"items" : {
"type" : "string"
}
},
"entityTag" : {
"type" : "object",
"properties" : {
"value" : {
"type" : "string"
},
"weak" : {
"type" : "boolean"
}
}
},
"stringHeaders" : {
"type" : "object",
"properties" : {
"empty" : {
"type" : "boolean"
}
},
"additionalProperties" : {
"type" : "array",
"items" : {
"type" : "string"
}
}
},
"lastModified" : {
"type" : "string",
"format" : "date-time"
},
"date" : {
"type" : "string",
"format" : "date-time"
},
"metadata" : {
"type" : "object",
"properties" : {
"empty" : {
"type" : "boolean"
}
},
"additionalProperties" : {
"type" : "array",
"items" : {
"type" : "object"
}
}
},
"status" : {
"type" : "integer",
"format" : "int32"
},
"entity" : {
"$ref" : "#/components/schemas/DatapointsFrameResponse"
},
"cookies" : {
"type" : "object",
"additionalProperties" : {
"type" : "object",
"properties" : {
"name" : {
"type" : "string"
},
"value" : {
"type" : "string"
},
"version" : {
"type" : "integer",
"format" : "int32"
},
"path" : {
"type" : "string"
},
"domain" : {
"type" : "string"
},
"comment" : {
"type" : "string"
},
"maxAge" : {
"type" : "integer",
"format" : "int32"
},
"expiry" : {
"type" : "string",
"format" : "date-time"
},
"secure" : {
"type" : "boolean"
},
"httpOnly" : {
"type" : "boolean"
}
}
}
},
"links" : {
"uniqueItems" : true,
"type" : "array",
"items" : {
"type" : "object",
"properties" : {
"uriBuilder" : {
"type" : "object"
},
"rel" : {
"type" : "string"
},
"rels" : {
"type" : "array",
"items" : {
"type" : "string"
}
},
"params" : {
"type" : "object",
"additionalProperties" : {
"type" : "string"
}
},
"uri" : {
"type" : "string",
"format" : "uri"
},
"title" : {
"type" : "string"
},
"type" : {
"type" : "string"
}
}
}
},
"length" : {
"type" : "integer",
"format" : "int32"
},
"language" : {
"type" : "object",
"properties" : {
"language" : {
"type" : "string"
},
"script" : {
"type" : "string"
},
"country" : {
"type" : "string"
},
"variant" : {
"type" : "string"
},
"extensionKeys" : {
"uniqueItems" : true,
"type" : "array",
"items" : {
"type" : "string"
}
},
"unicodeLocaleAttributes" : {
"uniqueItems" : true,
"type" : "array",
"items" : {
"type" : "string"
}
},
"unicodeLocaleKeys" : {
"uniqueItems" : true,
"type" : "array",
"items" : {
"type" : "string"
}
},
"iso3Language" : {
"type" : "string"
},
"iso3Country" : {
"type" : "string"
},
"displayLanguage" : {
"type" : "string"
},
"displayScript" : {
"type" : "string"
},
"displayCountry" : {
"type" : "string"
},
"displayVariant" : {
"type" : "string"
},
"displayName" : {
"type" : "string"
}
}
},
"location" : {
"type" : "string",
"format" : "uri"
},
"headers" : {
"type" : "object",
"properties" : {
"empty" : {
"type" : "boolean"
}
},
"additionalProperties" : {
"type" : "array",
"items" : {
"type" : "object"
}
}
}
}
},
"TypedResponseDatapointsResponseLegacy" : {
"type" : "object",
"properties" : {
"statusInfo" : {
"type" : "object",
"properties" : {
"statusCode" : {
"type" : "integer",
"format" : "int32"
},
"reasonPhrase" : {
"type" : "string"
},
"family" : {
"type" : "string",
"enum" : [ "INFORMATIONAL", "SUCCESSFUL", "REDIRECTION", "CLIENT_ERROR", "SERVER_ERROR", "OTHER" ]
}
}
},
"mediaType" : {
"type" : "object",
"properties" : {
"type" : {
"type" : "string"
},
"subtype" : {
"type" : "string"
},
"parameters" : {
"type" : "object",
"additionalProperties" : {
"type" : "string"
}
},
"wildcardType" : {
"type" : "boolean"
},
"wildcardSubtype" : {
"type" : "boolean"
}
}
},
"allowedMethods" : {
"uniqueItems" : true,
"type" : "array",
"items" : {
"type" : "string"
}
},
"entityTag" : {
"type" : "object",
"properties" : {
"value" : {
"type" : "string"
},
"weak" : {
"type" : "boolean"
}
}
},
"stringHeaders" : {
"type" : "object",
"properties" : {
"empty" : {
"type" : "boolean"
}
},
"additionalProperties" : {
"type" : "array",
"items" : {
"type" : "string"
}
}
},
"lastModified" : {
"type" : "string",
"format" : "date-time"
},
"date" : {
"type" : "string",
"format" : "date-time"
},
"metadata" : {
"type" : "object",
"properties" : {
"empty" : {
"type" : "boolean"
}
},
"additionalProperties" : {
"type" : "array",
"items" : {
"type" : "object"
}
}
},
"status" : {
"type" : "integer",
"format" : "int32"
},
"entity" : {
"$ref" : "#/components/schemas/DatapointsResponseLegacy"
},
"cookies" : {
"type" : "object",
"additionalProperties" : {
"type" : "object",
"properties" : {
"name" : {
"type" : "string"
},
"value" : {
"type" : "string"
},
"version" : {
"type" : "integer",
"format" : "int32"
},
"path" : {
"type" : "string"
},
"domain" : {
"type" : "string"
},
"comment" : {
"type" : "string"
},
"maxAge" : {
"type" : "integer",
"format" : "int32"
},
"expiry" : {
"type" : "string",
"format" : "date-time"
},
"secure" : {
"type" : "boolean"
},
"httpOnly" : {
"type" : "boolean"
}
}
}
},
"links" : {
"uniqueItems" : true,
"type" : "array",
"items" : {
"type" : "object",
"properties" : {
"uriBuilder" : {
"type" : "object"
},
"rel" : {
"type" : "string"
},
"rels" : {
"type" : "array",
"items" : {
"type" : "string"
}
},
"params" : {
"type" : "object",
"additionalProperties" : {
"type" : "string"
}
},
"uri" : {
"type" : "string",
"format" : "uri"
},
"title" : {
"type" : "string"
},
"type" : {
"type" : "string"
}
}
}
},
"length" : {
"type" : "integer",
"format" : "int32"
},
"language" : {
"type" : "object",
"properties" : {
"language" : {
"type" : "string"
},
"script" : {
"type" : "string"
},
"country" : {
"type" : "string"
},
"variant" : {
"type" : "string"
},
"extensionKeys" : {
"uniqueItems" : true,
"type" : "array",
"items" : {
"type" : "string"
}
},
"unicodeLocaleAttributes" : {
"uniqueItems" : true,
"type" : "array",
"items" : {
"type" : "string"
}
},
"unicodeLocaleKeys" : {
"uniqueItems" : true,
"type" : "array",
"items" : {
"type" : "string"
}
},
"iso3Language" : {
"type" : "string"
},
"iso3Country" : {
"type" : "string"
},
"displayLanguage" : {
"type" : "string"
},
"displayScript" : {
"type" : "string"
},
"displayCountry" : {
"type" : "string"
},
"displayVariant" : {
"type" : "string"
},
"displayName" : {
"type" : "string"
}
}
},
"location" : {
"type" : "string",
"format" : "uri"
},
"headers" : {
"type" : "object",
"properties" : {
"empty" : {
"type" : "boolean"
}
},
"additionalProperties" : {
"type" : "array",
"items" : {
"type" : "object"
}
}
}
}
},
"TypedResponseEmptyResponse" : {
"type" : "object",
"properties" : {
"statusInfo" : {
"type" : "object",
"properties" : {
"statusCode" : {
"type" : "integer",
"format" : "int32"
},
"reasonPhrase" : {
"type" : "string"
},
"family" : {
"type" : "string",
"enum" : [ "INFORMATIONAL", "SUCCESSFUL", "REDIRECTION", "CLIENT_ERROR", "SERVER_ERROR", "OTHER" ]
}
}
},
"mediaType" : {
"type" : "object",
"properties" : {
"type" : {
"type" : "string"
},
"subtype" : {
"type" : "string"
},
"parameters" : {
"type" : "object",
"additionalProperties" : {
"type" : "string"
}
},
"wildcardType" : {
"type" : "boolean"
},
"wildcardSubtype" : {
"type" : "boolean"
}
}
},
"allowedMethods" : {
"uniqueItems" : true,
"type" : "array",
"items" : {
"type" : "string"
}
},
"entityTag" : {
"type" : "object",
"properties" : {
"value" : {
"type" : "string"
},
"weak" : {
"type" : "boolean"
}
}
},
"stringHeaders" : {
"type" : "object",
"properties" : {
"empty" : {
"type" : "boolean"
}
},
"additionalProperties" : {
"type" : "array",
"items" : {
"type" : "string"
}
}
},
"lastModified" : {
"type" : "string",
"format" : "date-time"
},
"date" : {
"type" : "string",
"format" : "date-time"
},
"metadata" : {
"type" : "object",
"properties" : {
"empty" : {
"type" : "boolean"
}
},
"additionalProperties" : {
"type" : "array",
"items" : {
"type" : "object"
}
}
},
"status" : {
"type" : "integer",
"format" : "int32"
},
"entity" : {
"$ref" : "#/components/schemas/EmptyResponse"
},
"cookies" : {
"type" : "object",
"additionalProperties" : {
"type" : "object",
"properties" : {
"name" : {
"type" : "string"
},
"value" : {
"type" : "string"
},
"version" : {
"type" : "integer",
"format" : "int32"
},
"path" : {
"type" : "string"
},
"domain" : {
"type" : "string"
},
"comment" : {
"type" : "string"
},
"maxAge" : {
"type" : "integer",
"format" : "int32"
},
"expiry" : {
"type" : "string",
"format" : "date-time"
},
"secure" : {
"type" : "boolean"
},
"httpOnly" : {
"type" : "boolean"
}
}
}
},
"links" : {
"uniqueItems" : true,
"type" : "array",
"items" : {
"type" : "object",
"properties" : {
"uriBuilder" : {
"type" : "object"
},
"rel" : {
"type" : "string"
},
"rels" : {
"type" : "array",
"items" : {
"type" : "string"
}
},
"params" : {
"type" : "object",
"additionalProperties" : {
"type" : "string"
}
},
"uri" : {
"type" : "string",
"format" : "uri"
},
"title" : {
"type" : "string"
},
"type" : {
"type" : "string"
}
}
}
},
"length" : {
"type" : "integer",
"format" : "int32"
},
"language" : {
"type" : "object",
"properties" : {
"language" : {
"type" : "string"
},
"script" : {
"type" : "string"
},
"country" : {
"type" : "string"
},
"variant" : {
"type" : "string"
},
"extensionKeys" : {
"uniqueItems" : true,
"type" : "array",
"items" : {
"type" : "string"
}
},
"unicodeLocaleAttributes" : {
"uniqueItems" : true,
"type" : "array",
"items" : {
"type" : "string"
}
},
"unicodeLocaleKeys" : {
"uniqueItems" : true,
"type" : "array",
"items" : {
"type" : "string"
}
},
"iso3Language" : {
"type" : "string"
},
"iso3Country" : {
"type" : "string"
},
"displayLanguage" : {
"type" : "string"
},
"displayScript" : {
"type" : "string"
},
"displayCountry" : {
"type" : "string"
},
"displayVariant" : {
"type" : "string"
},
"displayName" : {
"type" : "string"
}
}
},
"location" : {
"type" : "string",
"format" : "uri"
},
"headers" : {
"type" : "object",
"properties" : {
"empty" : {
"type" : "boolean"
}
},
"additionalProperties" : {
"type" : "array",
"items" : {
"type" : "object"
}
}
}
}
},
"TypedResponseMultiDatapointsResponseLegacy" : {
"type" : "object",
"properties" : {
"statusInfo" : {
"type" : "object",
"properties" : {
"statusCode" : {
"type" : "integer",
"format" : "int32"
},
"reasonPhrase" : {
"type" : "string"
},
"family" : {
"type" : "string",
"enum" : [ "INFORMATIONAL", "SUCCESSFUL", "REDIRECTION", "CLIENT_ERROR", "SERVER_ERROR", "OTHER" ]
}
}
},
"mediaType" : {
"type" : "object",
"properties" : {
"type" : {
"type" : "string"
},
"subtype" : {
"type" : "string"
},
"parameters" : {
"type" : "object",
"additionalProperties" : {
"type" : "string"
}
},
"wildcardType" : {
"type" : "boolean"
},
"wildcardSubtype" : {
"type" : "boolean"
}
}
},
"allowedMethods" : {
"uniqueItems" : true,
"type" : "array",
"items" : {
"type" : "string"
}
},
"entityTag" : {
"type" : "object",
"properties" : {
"value" : {
"type" : "string"
},
"weak" : {
"type" : "boolean"
}
}
},
"stringHeaders" : {
"type" : "object",
"properties" : {
"empty" : {
"type" : "boolean"
}
},
"additionalProperties" : {
"type" : "array",
"items" : {
"type" : "string"
}
}
},
"lastModified" : {
"type" : "string",
"format" : "date-time"
},
"date" : {
"type" : "string",
"format" : "date-time"
},
"metadata" : {
"type" : "object",
"properties" : {
"empty" : {
"type" : "boolean"
}
},
"additionalProperties" : {
"type" : "array",
"items" : {
"type" : "object"
}
}
},
"status" : {
"type" : "integer",
"format" : "int32"
},
"entity" : {
"$ref" : "#/components/schemas/MultiDatapointsResponseLegacy"
},
"cookies" : {
"type" : "object",
"additionalProperties" : {
"type" : "object",
"properties" : {
"name" : {
"type" : "string"
},
"value" : {
"type" : "string"
},
"version" : {
"type" : "integer",
"format" : "int32"
},
"path" : {
"type" : "string"
},
"domain" : {
"type" : "string"
},
"comment" : {
"type" : "string"
},
"maxAge" : {
"type" : "integer",
"format" : "int32"
},
"expiry" : {
"type" : "string",
"format" : "date-time"
},
"secure" : {
"type" : "boolean"
},
"httpOnly" : {
"type" : "boolean"
}
}
}
},
"links" : {
"uniqueItems" : true,
"type" : "array",
"items" : {
"type" : "object",
"properties" : {
"uriBuilder" : {
"type" : "object"
},
"rel" : {
"type" : "string"
},
"rels" : {
"type" : "array",
"items" : {
"type" : "string"
}
},
"params" : {
"type" : "object",
"additionalProperties" : {
"type" : "string"
}
},
"uri" : {
"type" : "string",
"format" : "uri"
},
"title" : {
"type" : "string"
},
"type" : {
"type" : "string"
}
}
}
},
"length" : {
"type" : "integer",
"format" : "int32"
},
"language" : {
"type" : "object",
"properties" : {
"language" : {
"type" : "string"
},
"script" : {
"type" : "string"
},
"country" : {
"type" : "string"
},
"variant" : {
"type" : "string"
},
"extensionKeys" : {
"uniqueItems" : true,
"type" : "array",
"items" : {
"type" : "string"
}
},
"unicodeLocaleAttributes" : {
"uniqueItems" : true,
"type" : "array",
"items" : {
"type" : "string"
}
},
"unicodeLocaleKeys" : {
"uniqueItems" : true,
"type" : "array",
"items" : {
"type" : "string"
}
},
"iso3Language" : {
"type" : "string"
},
"iso3Country" : {
"type" : "string"
},
"displayLanguage" : {
"type" : "string"
},
"displayScript" : {
"type" : "string"
},
"displayCountry" : {
"type" : "string"
},
"displayVariant" : {
"type" : "string"
},
"displayName" : {
"type" : "string"
}
}
},
"location" : {
"type" : "string",
"format" : "uri"
},
"headers" : {
"type" : "object",
"properties" : {
"empty" : {
"type" : "boolean"
}
},
"additionalProperties" : {
"type" : "array",
"items" : {
"type" : "object"
}
}
}
}
},
"TypedResponseTimeSeriesCursorResponse" : {
"type" : "object",
"properties" : {
"statusInfo" : {
"type" : "object",
"properties" : {
"statusCode" : {
"type" : "integer",
"format" : "int32"
},
"reasonPhrase" : {
"type" : "string"
},
"family" : {
"type" : "string",
"enum" : [ "INFORMATIONAL", "SUCCESSFUL", "REDIRECTION", "CLIENT_ERROR", "SERVER_ERROR", "OTHER" ]
}
}
},
"mediaType" : {
"type" : "object",
"properties" : {
"type" : {
"type" : "string"
},
"subtype" : {
"type" : "string"
},
"parameters" : {
"type" : "object",
"additionalProperties" : {
"type" : "string"
}
},
"wildcardType" : {
"type" : "boolean"
},
"wildcardSubtype" : {
"type" : "boolean"
}
}
},
"allowedMethods" : {
"uniqueItems" : true,
"type" : "array",
"items" : {
"type" : "string"
}
},
"entityTag" : {
"type" : "object",
"properties" : {
"value" : {
"type" : "string"
},
"weak" : {
"type" : "boolean"
}
}
},
"stringHeaders" : {
"type" : "object",
"properties" : {
"empty" : {
"type" : "boolean"
}
},
"additionalProperties" : {
"type" : "array",
"items" : {
"type" : "string"
}
}
},
"lastModified" : {
"type" : "string",
"format" : "date-time"
},
"date" : {
"type" : "string",
"format" : "date-time"
},
"metadata" : {
"type" : "object",
"properties" : {
"empty" : {
"type" : "boolean"
}
},
"additionalProperties" : {
"type" : "array",
"items" : {
"type" : "object"
}
}
},
"status" : {
"type" : "integer",
"format" : "int32"
},
"entity" : {
"$ref" : "#/components/schemas/TimeSeriesCursorResponse"
},
"cookies" : {
"type" : "object",
"additionalProperties" : {
"type" : "object",
"properties" : {
"name" : {
"type" : "string"
},
"value" : {
"type" : "string"
},
"version" : {
"type" : "integer",
"format" : "int32"
},
"path" : {
"type" : "string"
},
"domain" : {
"type" : "string"
},
"comment" : {
"type" : "string"
},
"maxAge" : {
"type" : "integer",
"format" : "int32"
},
"expiry" : {
"type" : "string",
"format" : "date-time"
},
"secure" : {
"type" : "boolean"
},
"httpOnly" : {
"type" : "boolean"
}
}
}
},
"links" : {
"uniqueItems" : true,
"type" : "array",
"items" : {
"type" : "object",
"properties" : {
"uriBuilder" : {
"type" : "object"
},
"rel" : {
"type" : "string"
},
"rels" : {
"type" : "array",
"items" : {
"type" : "string"
}
},
"params" : {
"type" : "object",
"additionalProperties" : {
"type" : "string"
}
},
"uri" : {
"type" : "string",
"format" : "uri"
},
"title" : {
"type" : "string"
},
"type" : {
"type" : "string"
}
}
}
},
"length" : {
"type" : "integer",
"format" : "int32"
},
"language" : {
"type" : "object",
"properties" : {
"language" : {
"type" : "string"
},
"script" : {
"type" : "string"
},
"country" : {
"type" : "string"
},
"variant" : {
"type" : "string"
},
"extensionKeys" : {
"uniqueItems" : true,
"type" : "array",
"items" : {
"type" : "string"
}
},
"unicodeLocaleAttributes" : {
"uniqueItems" : true,
"type" : "array",
"items" : {
"type" : "string"
}
},
"unicodeLocaleKeys" : {
"uniqueItems" : true,
"type" : "array",
"items" : {
"type" : "string"
}
},
"iso3Language" : {
"type" : "string"
},
"iso3Country" : {
"type" : "string"
},
"displayLanguage" : {
"type" : "string"
},
"displayScript" : {
"type" : "string"
},
"displayCountry" : {
"type" : "string"
},
"displayVariant" : {
"type" : "string"
},
"displayName" : {
"type" : "string"
}
}
},
"location" : {
"type" : "string",
"format" : "uri"
},
"headers" : {
"type" : "object",
"properties" : {
"empty" : {
"type" : "boolean"
}
},
"additionalProperties" : {
"type" : "array",
"items" : {
"type" : "object"
}
}
}
}
},
"TypedResponseTimeSeriesResponse" : {
"type" : "object",
"properties" : {
"statusInfo" : {
"type" : "object",
"properties" : {
"statusCode" : {
"type" : "integer",
"format" : "int32"
},
"reasonPhrase" : {
"type" : "string"
},
"family" : {
"type" : "string",
"enum" : [ "INFORMATIONAL", "SUCCESSFUL", "REDIRECTION", "CLIENT_ERROR", "SERVER_ERROR", "OTHER" ]
}
}
},
"mediaType" : {
"type" : "object",
"properties" : {
"type" : {
"type" : "string"
},
"subtype" : {
"type" : "string"
},
"parameters" : {
"type" : "object",
"additionalProperties" : {
"type" : "string"
}
},
"wildcardType" : {
"type" : "boolean"
},
"wildcardSubtype" : {
"type" : "boolean"
}
}
},
"allowedMethods" : {
"uniqueItems" : true,
"type" : "array",
"items" : {
"type" : "string"
}
},
"entityTag" : {
"type" : "object",
"properties" : {
"value" : {
"type" : "string"
},
"weak" : {
"type" : "boolean"
}
}
},
"stringHeaders" : {
"type" : "object",
"properties" : {
"empty" : {
"type" : "boolean"
}
},
"additionalProperties" : {
"type" : "array",
"items" : {
"type" : "string"
}
}
},
"lastModified" : {
"type" : "string",
"format" : "date-time"
},
"date" : {
"type" : "string",
"format" : "date-time"
},
"metadata" : {
"type" : "object",
"properties" : {
"empty" : {
"type" : "boolean"
}
},
"additionalProperties" : {
"type" : "array",
"items" : {
"type" : "object"
}
}
},
"status" : {
"type" : "integer",
"format" : "int32"
},
"entity" : {
"$ref" : "#/components/schemas/TimeSeriesResponse"
},
"cookies" : {
"type" : "object",
"additionalProperties" : {
"type" : "object",
"properties" : {
"name" : {
"type" : "string"
},
"value" : {
"type" : "string"
},
"version" : {
"type" : "integer",
"format" : "int32"
},
"path" : {
"type" : "string"
},
"domain" : {
"type" : "string"
},
"comment" : {
"type" : "string"
},
"maxAge" : {
"type" : "integer",
"format" : "int32"
},
"expiry" : {
"type" : "string",
"format" : "date-time"
},
"secure" : {
"type" : "boolean"
},
"httpOnly" : {
"type" : "boolean"
}
}
}
},
"links" : {
"uniqueItems" : true,
"type" : "array",
"items" : {
"type" : "object",
"properties" : {
"uriBuilder" : {
"type" : "object"
},
"rel" : {
"type" : "string"
},
"rels" : {
"type" : "array",
"items" : {
"type" : "string"
}
},
"params" : {
"type" : "object",
"additionalProperties" : {
"type" : "string"
}
},
"uri" : {
"type" : "string",
"format" : "uri"
},
"title" : {
"type" : "string"
},
"type" : {
"type" : "string"
}
}
}
},
"length" : {
"type" : "integer",
"format" : "int32"
},
"language" : {
"type" : "object",
"properties" : {
"language" : {
"type" : "string"
},
"script" : {
"type" : "string"
},
"country" : {
"type" : "string"
},
"variant" : {
"type" : "string"
},
"extensionKeys" : {
"uniqueItems" : true,
"type" : "array",
"items" : {
"type" : "string"
}
},
"unicodeLocaleAttributes" : {
"uniqueItems" : true,
"type" : "array",
"items" : {
"type" : "string"
}
},
"unicodeLocaleKeys" : {
"uniqueItems" : true,
"type" : "array",
"items" : {
"type" : "string"
}
},
"iso3Language" : {
"type" : "string"
},
"iso3Country" : {
"type" : "string"
},
"displayLanguage" : {
"type" : "string"
},
"displayScript" : {
"type" : "string"
},
"displayCountry" : {
"type" : "string"
},
"displayVariant" : {
"type" : "string"
},
"displayName" : {
"type" : "string"
}
}
},
"location" : {
"type" : "string",
"format" : "uri"
},
"headers" : {
"type" : "object",
"properties" : {
"empty" : {
"type" : "boolean"
}
},
"additionalProperties" : {
"type" : "array",
"items" : {
"type" : "object"
}
}
}
}
},
"URLData" : {
"type" : "object",
"properties" : {
"fileId" : {
"type" : "integer",
"format" : "int64"
},
"uploadURL" : {
"type" : "string"
}
}
},
"URLResponse" : {
"type" : "object",
"properties" : {
"data" : {
"$ref" : "#/components/schemas/URLData"
}
}
},
"User" : {
"required" : [ "uniqueName" ],
"type" : "object",
"properties" : {
"uniqueName" : {
"type" : "string"
},
"groups" : {
"type" : "array",
"items" : {
"type" : "integer",
"format" : "int64"
}
},
"id" : {
"type" : "integer",
"format" : "int64"
},
"isDeleted" : {
"type" : "boolean"
},
"deletedTime" : {
"type" : "integer",
"format" : "int64"
}
}
},
"UserId" : {
"required" : [ "id" ],
"type" : "object",
"properties" : {
"id" : {
"type" : "integer",
"format" : "int64"
}
},
"description" : "A user identified by id"
},
"UserResponse" : {
"type" : "object",
"properties" : {
"data" : {
"$ref" : "#/components/schemas/DataUser"
}
}
},
"UserSpec" : {
"required" : [ "uniqueName" ],
"type" : "object",
"properties" : {
"uniqueName" : {
"type" : "string"
},
"groups" : {
"type" : "array",
"items" : {
"type" : "integer",
"format" : "int64"
}
}
},
"description" : "A specification for a new user to be created"
}
},
"securitySchemes" : {
"api-key" : {
"type" : "apiKey",
"description" : "An admin can create API keys in the Cognite console.",
"name" : "api-key",
"in" : "header"
},
"token" : {
"type" : "http",
"description" : "Human users log in via an OpenId/OAuth flow. Use the /login/redirect flow to obtain a bearer access token. Use a header key of 'Authorization' with a value of 'Bearer: $accesstoken'",
"scheme" : "bearer"
}
}
}
}