{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://api-docs.cognite.com/schemas/timeseries",
  "title": "TimeSeries",
  "description": "A time series in Cognite Data Fusion represents a sequence of data points in time order, either numeric or string values.",
  "type": "object",
  "required": ["id", "isString", "isStep", "type", "createdTime", "lastUpdatedTime"],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "description": "A server-generated ID for the object."
    },
    "externalId": {
      "type": "string",
      "maxLength": 255,
      "description": "The externally supplied ID for the time series."
    },
    "instanceId": {
      "type": "object",
      "description": "Reference to a Data Modeling instance.",
      "required": ["space", "externalId"],
      "properties": {
        "space": {"type": "string"},
        "externalId": {"type": "string"}
      }
    },
    "name": {
      "type": "string",
      "maxLength": 255,
      "description": "The display short name of the time series."
    },
    "isString": {
      "type": "boolean",
      "description": "True if the time series contains string values; false if it contains numeric values."
    },
    "type": {
      "type": "string",
      "enum": ["numeric", "string"],
      "description": "The data type of the data points."
    },
    "metadata": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      },
      "description": "Custom, application specific metadata. String key -> String value."
    },
    "unit": {
      "type": "string",
      "maxLength": 32,
      "description": "The physical unit of the time series (free-text field)."
    },
    "unitExternalId": {
      "type": "string",
      "maxLength": 64,
      "description": "The physical unit of the time series as represented in the unit catalog."
    },
    "assetId": {
      "type": "integer",
      "format": "int64",
      "description": "Asset ID of equipment linked to this time series."
    },
    "isStep": {
      "type": "boolean",
      "description": "Defines whether the time series is a step series or not."
    },
    "description": {
      "type": "string",
      "maxLength": 1000,
      "description": "Description of the time series."
    },
    "securityCategories": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "The required security categories to access this time series."
    },
    "dataSetId": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the dataset this time series belongs to."
    },
    "createdTime": {
      "type": "integer",
      "format": "int64",
      "description": "The number of milliseconds since epoch (Unix timestamp)."
    },
    "lastUpdatedTime": {
      "type": "integer",
      "format": "int64",
      "description": "The number of milliseconds since epoch (Unix timestamp)."
    }
  }
}
