{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://www.therealer.com/docs/api/schemas/http-desired-states-response.schema.json",
  "title": "Realer HTTP desired-states response",
  "type": "object",
  "required": ["code", "desired_states", "poll_after_seconds"],
  "properties": {
    "code": {
      "type": "integer",
      "enum": [2000]
    },
    "desired_states": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "desired_id",
          "device_id",
          "command_id",
          "resource_id",
          "value",
          "issued_at",
          "valid_for_seconds",
          "expires_at",
          "sequence_number",
          "metadata"
        ],
        "properties": {
          "desired_id": { "type": "string", "pattern": "^des_[0-9A-Za-z]{26}$" },
          "device_id": { "type": "string", "pattern": "^cdv_[0-9A-Za-z]{26}$" },
          "command_id": { "type": "string", "pattern": "^cmd_[0-9A-Za-z]{26}$" },
          "resource_id": { "type": "string", "pattern": "^res_[0-9A-Za-z]{26}$" },
          "value": { "type": "string" },
          "issued_at": { "type": "string", "format": "date-time" },
          "valid_for_seconds": { "type": "integer" },
          "expires_at": { "type": "string", "format": "date-time" },
          "sequence_number": { "type": "integer" },
          "metadata": { "type": "object" }
        },
        "additionalProperties": true
      }
    },
    "poll_after_seconds": { "type": "integer" }
  },
  "additionalProperties": true
}
