{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://api-evangelist.github.io/riverside/json-schema/riverside-recording-schema.json",
  "title": "Riverside Recording",
  "description": "Schema for a recording session in the Riverside Business API.",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Unique recording identifier"
    },
    "name": {
      "type": "string",
      "description": "Recording name"
    },
    "project_id": {
      "type": "string",
      "description": "Identifier of the project this recording belongs to"
    },
    "project_name": {
      "type": "string",
      "description": "Name of the project"
    },
    "studio_id": {
      "type": "string",
      "description": "Identifier of the studio"
    },
    "studio_name": {
      "type": "string",
      "description": "Name of the studio"
    },
    "status": {
      "type": "string",
      "description": "Processing status of the recording",
      "example": "ready"
    },
    "created_date": {
      "type": "string",
      "format": "date-time",
      "description": "Timestamp when the recording was created"
    },
    "tracks": {
      "type": "array",
      "description": "Individual audio and video tracks captured during recording",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Track identifier"
          },
          "type": {
            "type": "string",
            "description": "Track media type (e.g., compressed_audio, raw_video)"
          },
          "status": {
            "type": "string",
            "description": "Track processing status"
          },
          "files": {
            "type": "array",
            "description": "Downloadable files for this track",
            "items": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "description": "File format type"
                },
                "size": {
                  "type": "integer",
                  "description": "File size in bytes"
                },
                "download_url": {
                  "type": "string",
                  "format": "uri",
                  "description": "Temporary download URL for the file"
                }
              }
            }
          }
        }
      }
    },
    "transcription": {
      "type": "object",
      "description": "Transcription data for the recording",
      "properties": {
        "status": {
          "type": "string",
          "description": "Transcription processing status"
        },
        "srt_url": {
          "type": "string",
          "format": "uri",
          "description": "URL to download SRT transcription file"
        },
        "txt_url": {
          "type": "string",
          "format": "uri",
          "description": "URL to download plain text transcription"
        }
      }
    }
  },
  "required": ["id", "name"]
}
