{
  "openapi": "3.1.0",
  "info": {
    "title": "Townlight Station",
    "version": "0.3.0"
  },
  "paths": {
    "/health": {
      "get": {
        "summary": "Health",
        "operationId": "health_health_get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          }
        }
      }
    },
    "/v1/identity": {
      "get": {
        "summary": "Identity",
        "operationId": "identity_v1_identity_get",
        "parameters": [
          {
            "name": "X-Townlight-Session",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Townlight-Session"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/recordings": {
      "post": {
        "summary": "Capture",
        "operationId": "capture_v1_recordings_post",
        "parameters": [
          {
            "name": "X-Townlight-Session",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Townlight-Session"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Capture"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "get": {
        "summary": "List Records",
        "operationId": "list_records_v1_recordings_get",
        "parameters": [
          {
            "name": "X-Townlight-Session",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Townlight-Session"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/recordings/{identity}": {
      "get": {
        "summary": "Get Record",
        "operationId": "get_record_v1_recordings__identity__get",
        "parameters": [
          {
            "name": "identity",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Identity"
            }
          },
          {
            "name": "X-Townlight-Session",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Townlight-Session"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/recordings/{identity}/content": {
      "get": {
        "summary": "Content",
        "operationId": "content_v1_recordings__identity__content_get",
        "parameters": [
          {
            "name": "identity",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Identity"
            }
          },
          {
            "name": "X-Townlight-Session",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Townlight-Session"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/recordings/{identity}/retry": {
      "post": {
        "summary": "Retry",
        "operationId": "retry_v1_recordings__identity__retry_post",
        "parameters": [
          {
            "name": "identity",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Identity"
            }
          },
          {
            "name": "X-Townlight-Session",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Townlight-Session"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/live-sources": {
      "get": {
        "summary": "Live Sources",
        "operationId": "live_sources_v1_live_sources_get",
        "parameters": [
          {
            "name": "X-Townlight-Session",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Townlight-Session"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/recordings/{identity}/stop": {
      "post": {
        "summary": "Stop Live",
        "operationId": "stop_live_v1_recordings__identity__stop_post",
        "parameters": [
          {
            "name": "identity",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Identity"
            }
          },
          {
            "name": "X-Townlight-Session",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Townlight-Session"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/civiccast-feeds": {
      "get": {
        "summary": "Catalog",
        "operationId": "catalog_v1_civiccast_feeds_get",
        "parameters": [
          {
            "name": "X-Townlight-Session",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Townlight-Session"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/recordings/{identity}/youtube": {
      "post": {
        "summary": "Upload",
        "operationId": "upload_v1_recordings__identity__youtube_post",
        "parameters": [
          {
            "name": "identity",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Identity"
            }
          },
          {
            "name": "X-Townlight-Session",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Townlight-Session"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Upload"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/youtube-uploads": {
      "get": {
        "summary": "List Uploads",
        "operationId": "list_uploads_v1_youtube_uploads_get",
        "parameters": [
          {
            "name": "X-Townlight-Session",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Townlight-Session"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/youtube-uploads/{identity}/retry": {
      "post": {
        "summary": "Retry",
        "operationId": "retry_v1_youtube_uploads__identity__retry_post",
        "parameters": [
          {
            "name": "identity",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Identity"
            }
          },
          {
            "name": "X-Townlight-Session",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Townlight-Session"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/schedules": {
      "post": {
        "summary": "Create Schedule",
        "operationId": "create_schedule_v1_schedules_post",
        "parameters": [
          {
            "name": "X-Townlight-Session",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Townlight-Session"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ScheduleRequest"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "get": {
        "summary": "List Schedules",
        "operationId": "list_schedules_v1_schedules_get",
        "parameters": [
          {
            "name": "X-Townlight-Session",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Townlight-Session"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/schedules/{identity}/cancel": {
      "post": {
        "summary": "Cancel Schedule",
        "operationId": "cancel_schedule_v1_schedules__identity__cancel_post",
        "parameters": [
          {
            "name": "identity",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Identity"
            }
          },
          {
            "name": "X-Townlight-Session",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Townlight-Session"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/playouts": {
      "post": {
        "summary": "Create Playout",
        "operationId": "create_playout_v1_playouts_post",
        "parameters": [
          {
            "name": "X-Townlight-Session",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Townlight-Session"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PlayoutRequest"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "get": {
        "summary": "List Playouts",
        "operationId": "list_playouts_v1_playouts_get",
        "parameters": [
          {
            "name": "X-Townlight-Session",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Townlight-Session"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/playouts/{identity}": {
      "get": {
        "summary": "Get Playout",
        "operationId": "get_playout_v1_playouts__identity__get",
        "parameters": [
          {
            "name": "identity",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Identity"
            }
          },
          {
            "name": "X-Townlight-Session",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Townlight-Session"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/on-air": {
      "get": {
        "summary": "On Air",
        "operationId": "on_air_v1_on_air_get",
        "parameters": [
          {
            "name": "X-Townlight-Session",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Townlight-Session"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/on-air/live": {
      "post": {
        "summary": "Live Override",
        "description": "Put a configured live input on air, in place of the scheduled program.",
        "operationId": "live_override_v1_on_air_live_post",
        "parameters": [
          {
            "name": "X-Townlight-Session",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Townlight-Session"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LiveOverrideRequest"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/on-air/return-to-schedule": {
      "post": {
        "summary": "Return To Schedule",
        "operationId": "return_to_schedule_v1_on_air_return_to_schedule_post",
        "parameters": [
          {
            "name": "X-Townlight-Session",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Townlight-Session"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/playouts/{identity}/approve": {
      "post": {
        "summary": "Approve",
        "operationId": "approve_v1_playouts__identity__approve_post",
        "parameters": [
          {
            "name": "identity",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Identity"
            }
          },
          {
            "name": "X-Townlight-Session",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Townlight-Session"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApprovalRequest"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/playouts/{identity}/publish": {
      "post": {
        "summary": "Publish",
        "operationId": "publish_v1_playouts__identity__publish_post",
        "parameters": [
          {
            "name": "identity",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Identity"
            }
          },
          {
            "name": "X-Townlight-Session",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Townlight-Session"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/public/playback/{identity}": {
      "get": {
        "summary": "Public Playback",
        "operationId": "public_playback_v1_public_playback__identity__get",
        "parameters": [
          {
            "name": "identity",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Identity"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/public/playback/{identity}/captions": {
      "get": {
        "summary": "Public Captions",
        "operationId": "public_captions_v1_public_playback__identity__captions_get",
        "parameters": [
          {
            "name": "identity",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Identity"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/public/playback/{identity}/program": {
      "get": {
        "summary": "Public Program",
        "operationId": "public_program_v1_public_playback__identity__program_get",
        "parameters": [
          {
            "name": "identity",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Identity"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/operator-ticket": {
      "post": {
        "summary": "Issue",
        "operationId": "issue_v1_operator_ticket_post",
        "parameters": [
          {
            "name": "X-Townlight-Session",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Townlight-Session"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/operator/session": {
      "post": {
        "summary": "Exchange",
        "operationId": "exchange_operator_session_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Ticket"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/operator/logout": {
      "post": {
        "summary": "Logout",
        "operationId": "logout_operator_logout_post",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          }
        }
      }
    },
    "/operator/catalog": {
      "get": {
        "summary": "Catalog",
        "operationId": "catalog_operator_catalog_get",
        "parameters": [
          {
            "name": "X-Townlight-Session",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Townlight-Session"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/operator/meeting/{identity}": {
      "get": {
        "summary": "Meeting",
        "operationId": "meeting_operator_meeting__identity__get",
        "parameters": [
          {
            "name": "identity",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Identity"
            }
          },
          {
            "name": "X-Townlight-Session",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Townlight-Session"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/operator/handoff": {
      "post": {
        "summary": "Handoff",
        "operationId": "handoff_operator_handoff_post",
        "parameters": [
          {
            "name": "X-Townlight-Session",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Townlight-Session"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Handoff"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/": {
      "get": {
        "summary": "Page",
        "operationId": "page__get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          }
        }
      }
    },
    "/operator.js": {
      "get": {
        "summary": "Script",
        "operationId": "script_operator_js_get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          }
        }
      }
    },
    "/operator.css": {
      "get": {
        "summary": "Style",
        "operationId": "style_operator_css_get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "ApprovalRequest": {
        "properties": {
          "note": {
            "type": "string",
            "maxLength": 500,
            "minLength": 3,
            "title": "Note"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "note"
        ],
        "title": "ApprovalRequest"
      },
      "Capture": {
        "properties": {
          "meeting_id": {
            "type": "string",
            "format": "uuid",
            "title": "Meeting Id"
          },
          "agenda_ids": {
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "type": "array",
            "maxItems": 100,
            "title": "Agenda Ids"
          },
          "source_file": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[A-Za-z0-9][A-Za-z0-9_.-]{0,180}$"
              },
              {
                "type": "null"
              }
            ],
            "title": "Source File"
          },
          "live_source_id": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[A-Za-z0-9_-]{1,64}$"
              },
              {
                "type": "null"
              }
            ],
            "title": "Live Source Id"
          },
          "civiccast_feed_id": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[A-Za-z0-9_-]{1,64}$"
              },
              {
                "type": "null"
              }
            ],
            "title": "Civiccast Feed Id"
          },
          "captions_file": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[A-Za-z0-9][A-Za-z0-9_.-]{0,180}\\.srt$"
              },
              {
                "type": "null"
              }
            ],
            "title": "Captions File"
          },
          "idempotency_key": {
            "type": "string",
            "maxLength": 100,
            "minLength": 1,
            "title": "Idempotency Key"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "meeting_id",
          "idempotency_key"
        ],
        "title": "Capture"
      },
      "HTTPValidationError": {
        "properties": {
          "detail": {
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
          }
        },
        "type": "object",
        "title": "HTTPValidationError"
      },
      "Handoff": {
        "properties": {
          "request_id": {
            "type": "string",
            "format": "uuid",
            "title": "Request Id"
          },
          "recording_id": {
            "type": "string",
            "format": "uuid",
            "title": "Recording Id"
          },
          "expected_sha256": {
            "type": "string",
            "pattern": "^[0-9a-f]{64}$",
            "title": "Expected Sha256"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "request_id",
          "recording_id",
          "expected_sha256"
        ],
        "title": "Handoff"
      },
      "LiveOverrideRequest": {
        "properties": {
          "live_source_id": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{1,64}$",
            "title": "Live Source Id"
          },
          "reason": {
            "type": "string",
            "maxLength": 200,
            "minLength": 3,
            "title": "Reason"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "live_source_id",
          "reason"
        ],
        "title": "LiveOverrideRequest",
        "description": "An on-air override naming an administrator-configured live input."
      },
      "PlayoutRequest": {
        "properties": {
          "recording_id": {
            "type": "string",
            "format": "uuid",
            "title": "Recording Id"
          },
          "mode": {
            "type": "string",
            "pattern": "^(dry-run|commit)$",
            "title": "Mode"
          },
          "idempotency_key": {
            "type": "string",
            "maxLength": 100,
            "minLength": 1,
            "title": "Idempotency Key"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "recording_id",
          "mode",
          "idempotency_key"
        ],
        "title": "PlayoutRequest"
      },
      "ScheduleRequest": {
        "properties": {
          "meeting_id": {
            "type": "string",
            "format": "uuid",
            "title": "Meeting Id"
          },
          "agenda_ids": {
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "type": "array",
            "maxItems": 100,
            "title": "Agenda Ids"
          },
          "source_file": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[A-Za-z0-9][A-Za-z0-9_.-]{0,180}$"
              },
              {
                "type": "null"
              }
            ],
            "title": "Source File"
          },
          "live_source_id": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[A-Za-z0-9_-]{1,64}$"
              },
              {
                "type": "null"
              }
            ],
            "title": "Live Source Id"
          },
          "captions_file": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[A-Za-z0-9][A-Za-z0-9_.-]{0,180}\\.srt$"
              },
              {
                "type": "null"
              }
            ],
            "title": "Captions File"
          },
          "start_at": {
            "type": "string",
            "format": "date-time",
            "title": "Start At"
          },
          "idempotency_key": {
            "type": "string",
            "maxLength": 100,
            "minLength": 1,
            "title": "Idempotency Key"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "meeting_id",
          "start_at",
          "idempotency_key"
        ],
        "title": "ScheduleRequest"
      },
      "Ticket": {
        "properties": {
          "ticket": {
            "type": "string",
            "maxLength": 128,
            "minLength": 32,
            "title": "Ticket"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "ticket"
        ],
        "title": "Ticket"
      },
      "Upload": {
        "properties": {
          "title": {
            "type": "string",
            "maxLength": 100,
            "minLength": 1,
            "pattern": "^[^<>\\x00-\\x1f]+$",
            "title": "Title"
          },
          "privacy": {
            "type": "string",
            "enum": [
              "private",
              "unlisted",
              "public"
            ],
            "title": "Privacy",
            "default": "private"
          },
          "approval_note": {
            "type": "string",
            "maxLength": 500,
            "minLength": 3,
            "title": "Approval Note"
          },
          "idempotency_key": {
            "type": "string",
            "maxLength": 100,
            "minLength": 1,
            "title": "Idempotency Key"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "title",
          "approval_note",
          "idempotency_key"
        ],
        "title": "Upload"
      },
      "ValidationError": {
        "properties": {
          "loc": {
            "items": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "type": "array",
            "title": "Location"
          },
          "msg": {
            "type": "string",
            "title": "Message"
          },
          "type": {
            "type": "string",
            "title": "Error Type"
          },
          "input": {
            "title": "Input"
          },
          "ctx": {
            "type": "object",
            "title": "Context"
          }
        },
        "type": "object",
        "required": [
          "loc",
          "msg",
          "type"
        ],
        "title": "ValidationError"
      }
    }
  }
}