{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/cesium/main/json-schema/cesium-token-metadata-schema.json",
  "title": "Token Metadata",
  "x-generated": "2026-10-13",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/_original/cesium-api-openapi.yml#/components/schemas/TokenMetadata",
  "type": "object",
  "properties": {
    "id": {
      "$ref": "#/$defs/TokenIdentifier"
    },
    "name": {
      "$ref": "#/$defs/TokenName"
    },
    "token": {
      "$ref": "#/$defs/Token"
    },
    "dateAdded": {
      "description": "The date and time that this token was created in [RFC 3339](https://tools.ietf.org/html/rfc3339) format.",
      "type": "string",
      "format": "date-time",
      "readOnly": true
    },
    "dateModified": {
      "description": "The date and time that this token was last modified in [RFC 3339](https://tools.ietf.org/html/rfc3339) format.",
      "type": "string",
      "format": "date-time",
      "readOnly": true
    },
    "dateLastUsed": {
      "description": "The date and time that this token was last used in [RFC 3339](https://tools.ietf.org/html/rfc3339) format.",
      "type": "string",
      "format": "date-time",
      "readOnly": true
    },
    "assetIds": {
      "$ref": "#/$defs/TokenAssetIds"
    },
    "isDefault": {
      "description": "True if this token is the default token, else false.",
      "type": "boolean",
      "readOnly": true
    },
    "allowedUrls": {
      "$ref": "#/$defs/TokenAllowedUrls"
    },
    "scopes": {
      "$ref": "#/$defs/TokenScopes"
    },
    "expiration": {
      "$ref": "#/$defs/TokenExpiration"
    }
  },
  "required": [
    "scopes"
  ],
  "$defs": {
    "AssetIdentifier": {
      "type": "integer",
      "description": "The unique identifier for this asset."
    },
    "Token": {
      "type": "string",
      "description": "The access token."
    },
    "TokenAllowedUrls": {
      "description": "The URLs from which this token can be accessed. If undefined, the token can be accessed from any URL.",
      "type": "array"
    },
    "TokenAssetIds": {
      "description": "The ids of the assets that can be accessed using this token.  If undefined, the token can access all assets associated with the account.",
      "type": "array",
      "items": {
        "$ref": "#/$defs/AssetIdentifier"
      }
    },
    "TokenExpiration": {
      "description": "The date and time after which the token is no longer valid, in [RFC 3339](https://tools.ietf.org/html/rfc3339) format.  Not present if the token never expires.",
      "type": "string",
      "format": "date-time"
    },
    "TokenIdentifier": {
      "type": "string",
      "description": "The unique identifier of this token.",
      "readOnly": true
    },
    "TokenName": {
      "type": "string",
      "description": "The name of this token."
    },
    "TokenScopes": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "assets:list",
          "assets:limited-list",
          "assets:read",
          "assets:write",
          "geocode",
          "profile:read",
          "labels:read",
          "labels:write",
          "tokens:read",
          "tokens:write"
        ]
      },
      "description": "Defines the [scope](#tag/Authentication) of this particular token.\n"
    }
  }
}