{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/api-video/json-schema/api-video-token-list-response-schema.json",
  "title": "UploadTokens",
  "x-generated": "2026-11-05",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/api-video-upload-tokens-api-openapi.yml#/components/schemas/token-list-response",
  "required": [
    "data",
    "pagination"
  ],
  "type": "object",
  "properties": {
    "data": {
      "title": "uploadToken",
      "type": "array",
      "items": {
        "$ref": "#/$defs/upload-token"
      }
    },
    "pagination": {
      "$ref": "#/$defs/pagination"
    }
  },
  "$defs": {
    "pagination": {
      "title": "Pagination",
      "required": [
        "links"
      ],
      "type": "object",
      "properties": {
        "itemsTotal": {
          "type": "integer",
          "description": "Total number of items that exist.",
          "readOnly": true
        },
        "pagesTotal": {
          "type": "integer",
          "description": "Number of items listed in the current page.",
          "readOnly": true
        },
        "pageSize": {
          "type": "integer",
          "description": "Maximum number of item per page.",
          "readOnly": true
        },
        "currentPage": {
          "type": "integer",
          "description": "The current page index.",
          "readOnly": true
        },
        "currentPageItems": {
          "type": "integer",
          "description": "The number of items on the current page.",
          "readOnly": true
        },
        "links": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/pagination-link"
          }
        }
      }
    },
    "pagination-link": {
      "title": "PaginationLink",
      "type": "object",
      "properties": {
        "rel": {
          "type": "string"
        },
        "uri": {
          "type": "string",
          "format": "uri"
        }
      }
    },
    "upload-token": {
      "title": "UploadToken",
      "type": "object",
      "properties": {
        "token": {
          "type": "string",
          "description": "The unique identifier for the token you will use to authenticate an upload."
        },
        "ttl": {
          "maximum": 2147483647,
          "minimum": 0,
          "type": "integer",
          "description": "Time-to-live - how long the upload token is valid for."
        },
        "createdAt": {
          "type": "string",
          "description": "When the token was created, displayed in ATOM UTC format.",
          "format": "date-time"
        },
        "expiresAt": {
          "type": [
            "string",
            "null"
          ],
          "description": "When the token expires, displayed in ATOM UTC format.",
          "format": "date-time"
        }
      }
    }
  }
}