{
  "openapi": "3.1.0",
  "info": {
    "title": "MobileCamMeister",
    "version": "1.0.0",
    "description": "Implemented coordinator API. Every authenticated mutation requires Idempotency-Key UUID. Collection envelopes: {items,total}. Shared wire protocol is Contracts/mobile-wire.md. Feature readiness is advertised via /capabilities; physical-device and product adapter acceptance is separate."
  },
  "servers": [
    {
      "url": "https://mobilecammeister.ilass.com/api/v1"
    }
  ],
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "paths": {
    "/overview": {
      "get": {
        "operationId": "get_overview",
        "summary": "GET /overview",
        "responses": {
          "200": {
            "description": "Successful response"
          },
          "400": {
            "description": "Invalid request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Authentication required"
          },
          "403": {
            "description": "Permission denied"
          },
          "404": {
            "description": "Resource absent or inaccessible"
          },
          "409": {
            "description": "Identity, state or idempotency conflict"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/capabilities": {
      "get": {
        "operationId": "get_capabilities",
        "summary": "GET /capabilities",
        "responses": {
          "200": {
            "description": "Successful response"
          },
          "400": {
            "description": "Invalid request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Authentication required"
          },
          "403": {
            "description": "Permission denied"
          },
          "404": {
            "description": "Resource absent or inaccessible"
          },
          "409": {
            "description": "Identity, state or idempotency conflict"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/applications": {
      "get": {
        "operationId": "get_applications",
        "summary": "GET /applications",
        "responses": {
          "400": {
            "description": "Invalid or unsupported fields",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid, expired or revoked authentication"
          },
          "403": {
            "description": "Insufficient permission"
          },
          "404": {
            "description": "Absent or inaccessible resource"
          },
          "409": {
            "description": "Identity, idempotency or state conflict"
          },
          "410": {
            "description": "Expired media, cursor or lease"
          },
          "412": {
            "description": "Revision mismatch"
          },
          "429": {
            "description": "Rate or capacity limit"
          },
          "503": {
            "description": "Dependency unavailable"
          },
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Application"
                      }
                    },
                    "total": {
                      "type": "integer"
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": []
      },
      "post": {
        "operationId": "post_applications",
        "summary": "POST /applications",
        "responses": {
          "400": {
            "description": "Invalid or unsupported fields",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid, expired or revoked authentication"
          },
          "403": {
            "description": "Insufficient permission"
          },
          "404": {
            "description": "Absent or inaccessible resource"
          },
          "409": {
            "description": "Identity, idempotency or state conflict"
          },
          "410": {
            "description": "Expired media, cursor or lease"
          },
          "412": {
            "description": "Revision mismatch"
          },
          "429": {
            "description": "Rate or capacity limit"
          },
          "503": {
            "description": "Dependency unavailable"
          },
          "201": {
            "description": "Success"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateApplication"
              }
            }
          }
        }
      }
    },
    "/applications/{id}": {
      "get": {
        "operationId": "get_applications_id",
        "summary": "GET /applications/{id}",
        "responses": {
          "400": {
            "description": "Invalid or unsupported fields",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid, expired or revoked authentication"
          },
          "403": {
            "description": "Insufficient permission"
          },
          "404": {
            "description": "Absent or inaccessible resource"
          },
          "409": {
            "description": "Identity, idempotency or state conflict"
          },
          "410": {
            "description": "Expired media, cursor or lease"
          },
          "412": {
            "description": "Revision mismatch"
          },
          "429": {
            "description": "Rate or capacity limit"
          },
          "503": {
            "description": "Dependency unavailable"
          },
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Application"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ]
      },
      "patch": {
        "operationId": "patch_applications_id",
        "summary": "PATCH /applications/{id}",
        "responses": {
          "400": {
            "description": "Invalid or unsupported fields",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid, expired or revoked authentication"
          },
          "403": {
            "description": "Insufficient permission"
          },
          "404": {
            "description": "Absent or inaccessible resource"
          },
          "409": {
            "description": "Identity, idempotency or state conflict"
          },
          "410": {
            "description": "Expired media, cursor or lease"
          },
          "412": {
            "description": "Revision mismatch"
          },
          "429": {
            "description": "Rate or capacity limit"
          },
          "503": {
            "description": "Dependency unavailable"
          },
          "200": {
            "description": "Success"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchApplication"
              }
            }
          }
        }
      }
    },
    "/applications/{id}/tokens": {
      "get": {
        "operationId": "get_applications__id__tokens",
        "summary": "GET /applications/{id}/tokens",
        "responses": {
          "200": {
            "description": "Successful response"
          },
          "400": {
            "description": "Invalid request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Authentication required"
          },
          "403": {
            "description": "Permission denied"
          },
          "404": {
            "description": "Resource absent or inaccessible"
          },
          "409": {
            "description": "Identity, state or idempotency conflict"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ]
      },
      "post": {
        "operationId": "post_applications_id_tokens",
        "summary": "POST /applications/{id}/tokens",
        "responses": {
          "400": {
            "description": "Invalid or unsupported fields",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid, expired or revoked authentication"
          },
          "403": {
            "description": "Insufficient permission"
          },
          "404": {
            "description": "Absent or inaccessible resource"
          },
          "409": {
            "description": "Identity, idempotency or state conflict"
          },
          "410": {
            "description": "Expired media, cursor or lease"
          },
          "412": {
            "description": "Revision mismatch"
          },
          "429": {
            "description": "Rate or capacity limit"
          },
          "503": {
            "description": "Dependency unavailable"
          },
          "201": {
            "description": "Success"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateToken"
              }
            }
          }
        }
      }
    },
    "/tokens/{id}/revoke": {
      "post": {
        "operationId": "post_tokens__id__revoke",
        "summary": "POST /tokens/{id}/revoke",
        "responses": {
          "200": {
            "description": "Successful response"
          },
          "400": {
            "description": "Invalid request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Authentication required"
          },
          "403": {
            "description": "Permission denied"
          },
          "404": {
            "description": "Resource absent or inaccessible"
          },
          "409": {
            "description": "Identity, state or idempotency conflict"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ]
      }
    },
    "/applications/{id}/camera-grants": {
      "get": {
        "operationId": "get_applications_id_camera_grants",
        "summary": "GET /applications/{id}/camera-grants",
        "responses": {
          "400": {
            "description": "Invalid or unsupported fields",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid, expired or revoked authentication"
          },
          "403": {
            "description": "Insufficient permission"
          },
          "404": {
            "description": "Absent or inaccessible resource"
          },
          "409": {
            "description": "Identity, idempotency or state conflict"
          },
          "410": {
            "description": "Expired media, cursor or lease"
          },
          "412": {
            "description": "Revision mismatch"
          },
          "429": {
            "description": "Rate or capacity limit"
          },
          "503": {
            "description": "Dependency unavailable"
          },
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Grant"
                      }
                    },
                    "total": {
                      "type": "integer"
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ]
      },
      "put": {
        "operationId": "put_applications_id_camera_grants",
        "summary": "PUT /applications/{id}/camera-grants",
        "responses": {
          "400": {
            "description": "Invalid or unsupported fields",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid, expired or revoked authentication"
          },
          "403": {
            "description": "Insufficient permission"
          },
          "404": {
            "description": "Absent or inaccessible resource"
          },
          "409": {
            "description": "Identity, idempotency or state conflict"
          },
          "410": {
            "description": "Expired media, cursor or lease"
          },
          "412": {
            "description": "Revision mismatch"
          },
          "429": {
            "description": "Rate or capacity limit"
          },
          "503": {
            "description": "Dependency unavailable"
          },
          "200": {
            "description": "Success"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^\"[0-9]+\"$"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GrantSet"
              }
            }
          }
        }
      }
    },
    "/sites": {
      "get": {
        "operationId": "get_sites",
        "summary": "GET /sites",
        "responses": {
          "400": {
            "description": "Invalid or unsupported fields",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid, expired or revoked authentication"
          },
          "403": {
            "description": "Insufficient permission"
          },
          "404": {
            "description": "Absent or inaccessible resource"
          },
          "409": {
            "description": "Identity, idempotency or state conflict"
          },
          "410": {
            "description": "Expired media, cursor or lease"
          },
          "412": {
            "description": "Revision mismatch"
          },
          "429": {
            "description": "Rate or capacity limit"
          },
          "503": {
            "description": "Dependency unavailable"
          },
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Site"
                      }
                    },
                    "total": {
                      "type": "integer"
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": []
      },
      "post": {
        "operationId": "post_sites",
        "summary": "POST /sites",
        "responses": {
          "400": {
            "description": "Invalid or unsupported fields",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid, expired or revoked authentication"
          },
          "403": {
            "description": "Insufficient permission"
          },
          "404": {
            "description": "Absent or inaccessible resource"
          },
          "409": {
            "description": "Identity, idempotency or state conflict"
          },
          "410": {
            "description": "Expired media, cursor or lease"
          },
          "412": {
            "description": "Revision mismatch"
          },
          "429": {
            "description": "Rate or capacity limit"
          },
          "503": {
            "description": "Dependency unavailable"
          },
          "201": {
            "description": "Success"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSite"
              }
            }
          }
        }
      }
    },
    "/cameras": {
      "get": {
        "operationId": "get_cameras",
        "summary": "GET /cameras",
        "responses": {
          "400": {
            "description": "Invalid or unsupported fields",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid, expired or revoked authentication"
          },
          "403": {
            "description": "Insufficient permission"
          },
          "404": {
            "description": "Absent or inaccessible resource"
          },
          "409": {
            "description": "Identity, idempotency or state conflict"
          },
          "410": {
            "description": "Expired media, cursor or lease"
          },
          "412": {
            "description": "Revision mismatch"
          },
          "429": {
            "description": "Rate or capacity limit"
          },
          "503": {
            "description": "Dependency unavailable"
          },
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Camera"
                      }
                    },
                    "total": {
                      "type": "integer"
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "include_archived",
            "in": "query",
            "required": false,
            "description": "Admin only when true. Standard lists and overview exclude archived cameras.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ]
      },
      "post": {
        "operationId": "post_cameras",
        "summary": "POST /cameras",
        "responses": {
          "400": {
            "description": "Invalid or unsupported fields",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid, expired or revoked authentication"
          },
          "403": {
            "description": "Insufficient permission"
          },
          "404": {
            "description": "Absent or inaccessible resource"
          },
          "409": {
            "description": "Identity, idempotency or state conflict"
          },
          "410": {
            "description": "Expired media, cursor or lease"
          },
          "412": {
            "description": "Revision mismatch"
          },
          "429": {
            "description": "Rate or capacity limit"
          },
          "503": {
            "description": "Dependency unavailable"
          },
          "201": {
            "description": "Success"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCamera"
              }
            }
          }
        }
      }
    },
    "/cameras/{id}": {
      "get": {
        "operationId": "get_cameras_id",
        "summary": "GET /cameras/{id}",
        "responses": {
          "400": {
            "description": "Invalid or unsupported fields",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid, expired or revoked authentication"
          },
          "403": {
            "description": "Insufficient permission"
          },
          "404": {
            "description": "Absent or inaccessible resource"
          },
          "409": {
            "description": "Identity, idempotency or state conflict"
          },
          "410": {
            "description": "Expired media, cursor or lease"
          },
          "412": {
            "description": "Revision mismatch"
          },
          "429": {
            "description": "Rate or capacity limit"
          },
          "503": {
            "description": "Dependency unavailable"
          },
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Camera"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "description": "Admin may inspect archived camera metadata by ID. Application direct camera access to an archive is unavailable; scoped historical requests/events remain readable."
      },
      "patch": {
        "operationId": "patch_cameras_id",
        "summary": "PATCH /cameras/{id}",
        "responses": {
          "400": {
            "description": "Invalid or unsupported fields",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid, expired or revoked authentication"
          },
          "403": {
            "description": "Insufficient permission"
          },
          "404": {
            "description": "Absent or inaccessible resource"
          },
          "409": {
            "description": "Identity, idempotency or state conflict"
          },
          "410": {
            "description": "Expired media, cursor or lease"
          },
          "412": {
            "description": "Revision mismatch"
          },
          "429": {
            "description": "Rate or capacity limit"
          },
          "503": {
            "description": "Dependency unavailable"
          },
          "200": {
            "description": "Success"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^\"[0-9]+\"$"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchCamera"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_cameras_id",
        "summary": "Archive a camera (admin only)",
        "responses": {
          "200": {
            "description": "Archived idempotently; history retained",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CameraArchiveResult"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Authentication required"
          },
          "403": {
            "description": "Permission denied"
          },
          "404": {
            "description": "Resource absent or inaccessible"
          },
          "409": {
            "description": "Identity, state or idempotency conflict"
          },
          "410": {
            "description": "Archived resource cannot be reactivated"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "description": "Permanently archives rather than physically deleting a camera. Active plans, requests, claims, preview sessions, incoming receivers and pending device commands are fenced in one transaction. Retained media, immutable completed requests and import receipts are preserved under their existing retention policy. Admins can inspect archived metadata and retained media. Existing broker credentials require operator revocation; the response reports the last issued offline lease. Repeating deletion leaves the original archive timestamp unchanged. An archived identity cannot be re-paired or restored through PATCH."
      }
    },
    "/cameras/{id}/revoke": {
      "post": {
        "operationId": "post_cameras__id__revoke",
        "summary": "POST /cameras/{id}/revoke",
        "responses": {
          "200": {
            "description": "Successful response"
          },
          "400": {
            "description": "Invalid request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Authentication required"
          },
          "403": {
            "description": "Permission denied"
          },
          "404": {
            "description": "Resource absent or inaccessible"
          },
          "409": {
            "description": "Identity, state or idempotency conflict"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ]
      }
    },
    "/cameras/{id}/status": {
      "get": {
        "operationId": "get_cameras__id__status",
        "summary": "GET /cameras/{id}/status",
        "responses": {
          "200": {
            "description": "Successful response"
          },
          "400": {
            "description": "Invalid request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Authentication required"
          },
          "403": {
            "description": "Permission denied"
          },
          "404": {
            "description": "Resource absent or inaccessible"
          },
          "409": {
            "description": "Identity, state or idempotency conflict"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ]
      }
    },
    "/cameras/{id}/capabilities": {
      "get": {
        "operationId": "get_cameras__id__capabilities",
        "summary": "GET /cameras/{id}/capabilities",
        "responses": {
          "200": {
            "description": "Successful response"
          },
          "400": {
            "description": "Invalid request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Authentication required"
          },
          "403": {
            "description": "Permission denied"
          },
          "404": {
            "description": "Resource absent or inaccessible"
          },
          "409": {
            "description": "Identity, state or idempotency conflict"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ]
      }
    },
    "/pairing-claims": {
      "post": {
        "operationId": "post_pairing_claims",
        "summary": "POST /pairing-claims",
        "responses": {
          "400": {
            "description": "Invalid or unsupported fields",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid, expired or revoked authentication"
          },
          "403": {
            "description": "Insufficient permission"
          },
          "404": {
            "description": "Absent or inaccessible resource"
          },
          "409": {
            "description": "Identity, idempotency or state conflict"
          },
          "410": {
            "description": "Expired media, cursor or lease"
          },
          "412": {
            "description": "Revision mismatch"
          },
          "429": {
            "description": "Rate or capacity limit"
          },
          "503": {
            "description": "Dependency unavailable"
          },
          "201": {
            "description": "Success"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateClaim"
              }
            }
          }
        }
      }
    },
    "/requests": {
      "get": {
        "operationId": "get_requests",
        "summary": "GET /requests",
        "responses": {
          "400": {
            "description": "Invalid or unsupported fields",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid, expired or revoked authentication"
          },
          "403": {
            "description": "Insufficient permission"
          },
          "404": {
            "description": "Absent or inaccessible resource"
          },
          "409": {
            "description": "Identity, idempotency or state conflict"
          },
          "410": {
            "description": "Expired media, cursor or lease"
          },
          "412": {
            "description": "Revision mismatch"
          },
          "429": {
            "description": "Rate or capacity limit"
          },
          "503": {
            "description": "Dependency unavailable"
          },
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Request"
                      }
                    },
                    "total": {
                      "type": "integer"
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": []
      }
    },
    "/requests/{id}": {
      "get": {
        "operationId": "get_requests_id",
        "summary": "GET /requests/{id}",
        "responses": {
          "400": {
            "description": "Invalid or unsupported fields",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid, expired or revoked authentication"
          },
          "403": {
            "description": "Insufficient permission"
          },
          "404": {
            "description": "Absent or inaccessible resource"
          },
          "409": {
            "description": "Identity, idempotency or state conflict"
          },
          "410": {
            "description": "Expired media, cursor or lease"
          },
          "412": {
            "description": "Revision mismatch"
          },
          "429": {
            "description": "Rate or capacity limit"
          },
          "503": {
            "description": "Dependency unavailable"
          },
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Request"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ]
      }
    },
    "/cameras/{id}/captures": {
      "post": {
        "operationId": "post_cameras_id_captures",
        "summary": "POST /cameras/{id}/captures",
        "responses": {
          "400": {
            "description": "Invalid or unsupported fields",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid, expired or revoked authentication"
          },
          "403": {
            "description": "Insufficient permission"
          },
          "404": {
            "description": "Absent or inaccessible resource"
          },
          "409": {
            "description": "Identity, idempotency or state conflict"
          },
          "410": {
            "description": "Expired media, cursor or lease"
          },
          "412": {
            "description": "Revision mismatch"
          },
          "429": {
            "description": "Rate or capacity limit"
          },
          "503": {
            "description": "Dependency unavailable"
          },
          "202": {
            "description": "Accepted; poll returned request_id"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CaptureRequest"
              }
            }
          }
        }
      }
    },
    "/cameras/{id}/commands": {
      "post": {
        "operationId": "post_cameras_id_commands",
        "summary": "POST /cameras/{id}/commands",
        "responses": {
          "400": {
            "description": "Invalid or unsupported fields",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid, expired or revoked authentication"
          },
          "403": {
            "description": "Insufficient permission"
          },
          "404": {
            "description": "Absent or inaccessible resource"
          },
          "409": {
            "description": "Identity, idempotency or state conflict"
          },
          "410": {
            "description": "Expired media, cursor or lease"
          },
          "412": {
            "description": "Revision mismatch"
          },
          "429": {
            "description": "Rate or capacity limit"
          },
          "503": {
            "description": "Dependency unavailable"
          },
          "202": {
            "description": "Accepted; poll returned request_id"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OperatorCommand"
              }
            }
          }
        }
      }
    },
    "/requests/{id}/cancel": {
      "post": {
        "operationId": "post_requests_id_cancel",
        "summary": "POST /requests/{id}/cancel",
        "responses": {
          "400": {
            "description": "Invalid or unsupported fields",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid, expired or revoked authentication"
          },
          "403": {
            "description": "Insufficient permission"
          },
          "404": {
            "description": "Absent or inaccessible resource"
          },
          "409": {
            "description": "Identity, idempotency or state conflict"
          },
          "410": {
            "description": "Expired media, cursor or lease"
          },
          "412": {
            "description": "Revision mismatch"
          },
          "429": {
            "description": "Rate or capacity limit"
          },
          "503": {
            "description": "Dependency unavailable"
          },
          "202": {
            "description": "Accepted; poll returned request_id"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ]
      }
    },
    "/captures": {
      "get": {
        "operationId": "get_captures",
        "summary": "GET /captures",
        "responses": {
          "400": {
            "description": "Invalid or unsupported fields",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid, expired or revoked authentication"
          },
          "403": {
            "description": "Insufficient permission"
          },
          "404": {
            "description": "Absent or inaccessible resource"
          },
          "409": {
            "description": "Identity, idempotency or state conflict"
          },
          "410": {
            "description": "Expired media, cursor or lease"
          },
          "412": {
            "description": "Revision mismatch"
          },
          "429": {
            "description": "Rate or capacity limit"
          },
          "503": {
            "description": "Dependency unavailable"
          },
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Capture"
                      }
                    },
                    "total": {
                      "type": "integer"
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": []
      }
    },
    "/captures/{id}": {
      "get": {
        "operationId": "get_captures_id",
        "summary": "GET /captures/{id}",
        "responses": {
          "400": {
            "description": "Invalid or unsupported fields",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid, expired or revoked authentication"
          },
          "403": {
            "description": "Insufficient permission"
          },
          "404": {
            "description": "Absent or inaccessible resource"
          },
          "409": {
            "description": "Identity, idempotency or state conflict"
          },
          "410": {
            "description": "Expired media, cursor or lease"
          },
          "412": {
            "description": "Revision mismatch"
          },
          "429": {
            "description": "Rate or capacity limit"
          },
          "503": {
            "description": "Dependency unavailable"
          },
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Capture"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ]
      }
    },
    "/captures/{id}/media": {
      "get": {
        "operationId": "get_captures__id__media",
        "summary": "GET /captures/{id}/media",
        "responses": {
          "200": {
            "description": "Successful response"
          },
          "400": {
            "description": "Invalid request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Authentication required"
          },
          "403": {
            "description": "Permission denied"
          },
          "404": {
            "description": "Resource absent or inaccessible"
          },
          "409": {
            "description": "Identity, state or idempotency conflict"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ]
      }
    },
    "/captures/{id}/import-receipts": {
      "post": {
        "operationId": "post_captures_id_import_receipts",
        "summary": "POST /captures/{id}/import-receipts",
        "responses": {
          "400": {
            "description": "Invalid or unsupported fields",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid, expired or revoked authentication"
          },
          "403": {
            "description": "Insufficient permission"
          },
          "404": {
            "description": "Absent or inaccessible resource"
          },
          "409": {
            "description": "Identity, idempotency or state conflict"
          },
          "410": {
            "description": "Expired media, cursor or lease"
          },
          "412": {
            "description": "Revision mismatch"
          },
          "429": {
            "description": "Rate or capacity limit"
          },
          "503": {
            "description": "Dependency unavailable"
          },
          "201": {
            "description": "Success"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ImportReceipt"
              }
            }
          }
        }
      }
    },
    "/cameras/{id}/configuration": {
      "get": {
        "operationId": "get_cameras__id__configuration",
        "summary": "GET /cameras/{id}/configuration",
        "responses": {
          "200": {
            "description": "Successful response"
          },
          "400": {
            "description": "Invalid request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Authentication required"
          },
          "403": {
            "description": "Permission denied"
          },
          "404": {
            "description": "Resource absent or inaccessible"
          },
          "409": {
            "description": "Identity, state or idempotency conflict"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ]
      },
      "put": {
        "operationId": "put_cameras_id_configuration",
        "summary": "PUT /cameras/{id}/configuration",
        "responses": {
          "400": {
            "description": "Invalid or unsupported fields",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid, expired or revoked authentication"
          },
          "403": {
            "description": "Insufficient permission"
          },
          "404": {
            "description": "Absent or inaccessible resource"
          },
          "409": {
            "description": "Identity, idempotency or state conflict"
          },
          "410": {
            "description": "Expired media, cursor or lease"
          },
          "412": {
            "description": "Revision mismatch"
          },
          "429": {
            "description": "Rate or capacity limit"
          },
          "503": {
            "description": "Dependency unavailable"
          },
          "202": {
            "description": "Accepted; poll returned request_id"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^\"[0-9]+\"$"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Configuration"
              }
            }
          }
        }
      }
    },
    "/capture-profiles": {
      "get": {
        "operationId": "get_capture_profiles",
        "summary": "GET /capture-profiles",
        "responses": {
          "400": {
            "description": "Invalid or unsupported fields",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid, expired or revoked authentication"
          },
          "403": {
            "description": "Insufficient permission"
          },
          "404": {
            "description": "Absent or inaccessible resource"
          },
          "409": {
            "description": "Identity, idempotency or state conflict"
          },
          "410": {
            "description": "Expired media, cursor or lease"
          },
          "412": {
            "description": "Revision mismatch"
          },
          "429": {
            "description": "Rate or capacity limit"
          },
          "503": {
            "description": "Dependency unavailable"
          },
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Profile"
                      }
                    },
                    "total": {
                      "type": "integer"
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": []
      },
      "post": {
        "operationId": "post_capture_profiles",
        "summary": "POST /capture-profiles",
        "responses": {
          "400": {
            "description": "Invalid or unsupported fields",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid, expired or revoked authentication"
          },
          "403": {
            "description": "Insufficient permission"
          },
          "404": {
            "description": "Absent or inaccessible resource"
          },
          "409": {
            "description": "Identity, idempotency or state conflict"
          },
          "410": {
            "description": "Expired media, cursor or lease"
          },
          "412": {
            "description": "Revision mismatch"
          },
          "429": {
            "description": "Rate or capacity limit"
          },
          "503": {
            "description": "Dependency unavailable"
          },
          "201": {
            "description": "Success"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateProfile"
              }
            }
          }
        }
      }
    },
    "/application-camera-bindings": {
      "get": {
        "operationId": "get_application_camera_bindings",
        "summary": "GET /application-camera-bindings",
        "responses": {
          "400": {
            "description": "Invalid or unsupported fields",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid, expired or revoked authentication"
          },
          "403": {
            "description": "Insufficient permission"
          },
          "404": {
            "description": "Absent or inaccessible resource"
          },
          "409": {
            "description": "Identity, idempotency or state conflict"
          },
          "410": {
            "description": "Expired media, cursor or lease"
          },
          "412": {
            "description": "Revision mismatch"
          },
          "429": {
            "description": "Rate or capacity limit"
          },
          "503": {
            "description": "Dependency unavailable"
          },
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Binding"
                      }
                    },
                    "total": {
                      "type": "integer"
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": []
      },
      "post": {
        "operationId": "post_application_camera_bindings",
        "summary": "POST /application-camera-bindings",
        "responses": {
          "400": {
            "description": "Invalid or unsupported fields",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid, expired or revoked authentication"
          },
          "403": {
            "description": "Insufficient permission"
          },
          "404": {
            "description": "Absent or inaccessible resource"
          },
          "409": {
            "description": "Identity, idempotency or state conflict"
          },
          "410": {
            "description": "Expired media, cursor or lease"
          },
          "412": {
            "description": "Revision mismatch"
          },
          "429": {
            "description": "Rate or capacity limit"
          },
          "503": {
            "description": "Dependency unavailable"
          },
          "201": {
            "description": "Success"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Binding"
              }
            }
          }
        }
      }
    },
    "/cameras/{id}/schedules": {
      "get": {
        "operationId": "get_cameras_id_schedules",
        "summary": "GET /cameras/{id}/schedules",
        "responses": {
          "400": {
            "description": "Invalid or unsupported fields",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid, expired or revoked authentication"
          },
          "403": {
            "description": "Insufficient permission"
          },
          "404": {
            "description": "Absent or inaccessible resource"
          },
          "409": {
            "description": "Identity, idempotency or state conflict"
          },
          "410": {
            "description": "Expired media, cursor or lease"
          },
          "412": {
            "description": "Revision mismatch"
          },
          "429": {
            "description": "Rate or capacity limit"
          },
          "503": {
            "description": "Dependency unavailable"
          },
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Schedule"
                      }
                    },
                    "total": {
                      "type": "integer"
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ]
      },
      "post": {
        "operationId": "post_cameras_id_schedules",
        "summary": "POST /cameras/{id}/schedules",
        "responses": {
          "400": {
            "description": "Invalid or unsupported fields",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid, expired or revoked authentication"
          },
          "403": {
            "description": "Insufficient permission"
          },
          "404": {
            "description": "Absent or inaccessible resource"
          },
          "409": {
            "description": "Identity, idempotency or state conflict"
          },
          "410": {
            "description": "Expired media, cursor or lease"
          },
          "412": {
            "description": "Revision mismatch"
          },
          "429": {
            "description": "Rate or capacity limit"
          },
          "503": {
            "description": "Dependency unavailable"
          },
          "202": {
            "description": "Accepted; poll returned request_id"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSchedule"
              }
            }
          }
        }
      }
    },
    "/schedules/{id}": {
      "patch": {
        "operationId": "patch_schedules_id",
        "summary": "PATCH /schedules/{id}",
        "responses": {
          "400": {
            "description": "Invalid or unsupported fields",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid, expired or revoked authentication"
          },
          "403": {
            "description": "Insufficient permission"
          },
          "404": {
            "description": "Absent or inaccessible resource"
          },
          "409": {
            "description": "Identity, idempotency or state conflict"
          },
          "410": {
            "description": "Expired media, cursor or lease"
          },
          "412": {
            "description": "Revision mismatch"
          },
          "429": {
            "description": "Rate or capacity limit"
          },
          "503": {
            "description": "Dependency unavailable"
          },
          "202": {
            "description": "Accepted; poll returned request_id"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^\"[0-9]+\"$"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchSchedule"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_schedules__id_",
        "summary": "DELETE /schedules/{id}",
        "responses": {
          "200": {
            "description": "Successful response"
          },
          "400": {
            "description": "Invalid request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Authentication required"
          },
          "403": {
            "description": "Permission denied"
          },
          "404": {
            "description": "Resource absent or inaccessible"
          },
          "409": {
            "description": "Identity, state or idempotency conflict"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ]
      }
    },
    "/cameras/{id}/preview-sessions": {
      "post": {
        "operationId": "post_cameras_id_preview_sessions",
        "summary": "POST /cameras/{id}/preview-sessions",
        "responses": {
          "400": {
            "description": "Invalid or unsupported fields",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid, expired or revoked authentication"
          },
          "403": {
            "description": "Insufficient permission"
          },
          "404": {
            "description": "Absent or inaccessible resource"
          },
          "409": {
            "description": "Identity, idempotency or state conflict"
          },
          "410": {
            "description": "Expired media, cursor or lease"
          },
          "412": {
            "description": "Revision mismatch"
          },
          "429": {
            "description": "Rate or capacity limit"
          },
          "503": {
            "description": "Dependency unavailable"
          },
          "202": {
            "description": "Accepted; poll returned request_id"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PreviewStart"
              }
            }
          }
        }
      }
    },
    "/preview-sessions/{id}": {
      "get": {
        "operationId": "get_preview_sessions_id",
        "summary": "GET /preview-sessions/{id}",
        "responses": {
          "400": {
            "description": "Invalid or unsupported fields",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid, expired or revoked authentication"
          },
          "403": {
            "description": "Insufficient permission"
          },
          "404": {
            "description": "Absent or inaccessible resource"
          },
          "409": {
            "description": "Identity, idempotency or state conflict"
          },
          "410": {
            "description": "Expired media, cursor or lease"
          },
          "412": {
            "description": "Revision mismatch"
          },
          "429": {
            "description": "Rate or capacity limit"
          },
          "503": {
            "description": "Dependency unavailable"
          },
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Preview"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ]
      },
      "delete": {
        "operationId": "delete_preview_sessions_id",
        "summary": "DELETE /preview-sessions/{id}",
        "responses": {
          "400": {
            "description": "Invalid or unsupported fields",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid, expired or revoked authentication"
          },
          "403": {
            "description": "Insufficient permission"
          },
          "404": {
            "description": "Absent or inaccessible resource"
          },
          "409": {
            "description": "Identity, idempotency or state conflict"
          },
          "410": {
            "description": "Expired media, cursor or lease"
          },
          "412": {
            "description": "Revision mismatch"
          },
          "429": {
            "description": "Rate or capacity limit"
          },
          "503": {
            "description": "Dependency unavailable"
          },
          "202": {
            "description": "Accepted; poll returned request_id"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ]
      }
    },
    "/application-events": {
      "get": {
        "operationId": "get_application_events",
        "summary": "GET /application-events",
        "responses": {
          "400": {
            "description": "Invalid or unsupported fields",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid, expired or revoked authentication"
          },
          "403": {
            "description": "Insufficient permission"
          },
          "404": {
            "description": "Absent or inaccessible resource"
          },
          "409": {
            "description": "Identity, idempotency or state conflict"
          },
          "410": {
            "description": "Expired media, cursor or lease"
          },
          "412": {
            "description": "Revision mismatch"
          },
          "429": {
            "description": "Rate or capacity limit"
          },
          "503": {
            "description": "Dependency unavailable"
          },
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Event"
                      }
                    },
                    "total": {
                      "type": "integer"
                    },
                    "next_cursor": {
                      "type": "string"
                    },
                    "snapshot_url": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "after",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          }
        ]
      }
    },
    "/application-events/{id}/ack": {
      "post": {
        "operationId": "post_application_events__id__ack",
        "summary": "POST /application-events/{id}/ack",
        "responses": {
          "200": {
            "description": "Successful response"
          },
          "400": {
            "description": "Invalid request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Authentication required"
          },
          "403": {
            "description": "Permission denied"
          },
          "404": {
            "description": "Resource absent or inaccessible"
          },
          "409": {
            "description": "Identity, state or idempotency conflict"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ]
      }
    },
    "/webhooks": {
      "get": {
        "operationId": "get_webhooks",
        "summary": "GET /webhooks",
        "responses": {
          "200": {
            "description": "Successful response"
          },
          "400": {
            "description": "Invalid request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Authentication required"
          },
          "403": {
            "description": "Permission denied"
          },
          "404": {
            "description": "Resource absent or inaccessible"
          },
          "409": {
            "description": "Identity, state or idempotency conflict"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "operationId": "post_webhooks",
        "summary": "POST /webhooks",
        "responses": {
          "400": {
            "description": "Invalid or unsupported fields",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid, expired or revoked authentication"
          },
          "403": {
            "description": "Insufficient permission"
          },
          "404": {
            "description": "Absent or inaccessible resource"
          },
          "409": {
            "description": "Identity, idempotency or state conflict"
          },
          "410": {
            "description": "Expired media, cursor or lease"
          },
          "412": {
            "description": "Revision mismatch"
          },
          "429": {
            "description": "Rate or capacity limit"
          },
          "503": {
            "description": "Dependency unavailable"
          },
          "201": {
            "description": "Success"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateWebhook"
              }
            }
          }
        }
      }
    },
    "/webhook-deliveries": {
      "get": {
        "operationId": "get_webhook_deliveries",
        "summary": "GET /webhook-deliveries",
        "responses": {
          "400": {
            "description": "Invalid or unsupported fields",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid, expired or revoked authentication"
          },
          "403": {
            "description": "Insufficient permission"
          },
          "404": {
            "description": "Absent or inaccessible resource"
          },
          "409": {
            "description": "Identity, idempotency or state conflict"
          },
          "410": {
            "description": "Expired media, cursor or lease"
          },
          "412": {
            "description": "Revision mismatch"
          },
          "429": {
            "description": "Rate or capacity limit"
          },
          "503": {
            "description": "Dependency unavailable"
          },
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Delivery"
                      }
                    },
                    "total": {
                      "type": "integer"
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": []
      }
    },
    "/webhook-deliveries/{id}/redeliver": {
      "post": {
        "operationId": "post_webhook_deliveries__id__redeliver",
        "summary": "POST /webhook-deliveries/{id}/redeliver",
        "responses": {
          "200": {
            "description": "Successful response"
          },
          "400": {
            "description": "Invalid request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Authentication required"
          },
          "403": {
            "description": "Permission denied"
          },
          "404": {
            "description": "Resource absent or inaccessible"
          },
          "409": {
            "description": "Identity, state or idempotency conflict"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ]
      }
    },
    "/device/enroll": {
      "post": {
        "operationId": "post_device_enroll",
        "security": [],
        "summary": "POST /device/enroll",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Enrollment"
              }
            }
          }
        },
        "responses": {
          "400": {
            "description": "Invalid or unsupported fields",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid, expired or revoked authentication"
          },
          "403": {
            "description": "Insufficient permission"
          },
          "404": {
            "description": "Absent or inaccessible resource"
          },
          "409": {
            "description": "Identity, idempotency or state conflict"
          },
          "410": {
            "description": "Expired media, cursor or lease"
          },
          "412": {
            "description": "Revision mismatch"
          },
          "429": {
            "description": "Rate or capacity limit"
          },
          "503": {
            "description": "Dependency unavailable"
          },
          "200": {
            "description": "Success"
          }
        },
        "parameters": []
      }
    },
    "/device/renew": {
      "post": {
        "operationId": "post_device_renew",
        "security": [],
        "summary": "POST /device/renew",
        "responses": {
          "400": {
            "description": "Invalid or unsupported fields",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid, expired or revoked authentication"
          },
          "403": {
            "description": "Insufficient permission"
          },
          "404": {
            "description": "Absent or inaccessible resource"
          },
          "409": {
            "description": "Identity, idempotency or state conflict"
          },
          "410": {
            "description": "Expired media, cursor or lease"
          },
          "412": {
            "description": "Revision mismatch"
          },
          "429": {
            "description": "Rate or capacity limit"
          },
          "503": {
            "description": "Dependency unavailable"
          },
          "200": {
            "description": "Success"
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Renewal"
              }
            }
          }
        }
      }
    },
    "/openapi.json": {
      "get": {
        "operationId": "get_openapi_json",
        "summary": "GET /openapi.json",
        "responses": {
          "200": {
            "description": "Successful response"
          },
          "400": {
            "description": "Invalid request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Authentication required"
          },
          "403": {
            "description": "Permission denied"
          },
          "404": {
            "description": "Resource absent or inaccessible"
          },
          "409": {
            "description": "Identity, state or idempotency conflict"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/docs": {
      "get": {
        "operationId": "get_docs",
        "summary": "GET /docs",
        "responses": {
          "200": {
            "description": "Successful response"
          },
          "400": {
            "description": "Invalid request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Authentication required"
          },
          "403": {
            "description": "Permission denied"
          },
          "404": {
            "description": "Resource absent or inaccessible"
          },
          "409": {
            "description": "Identity, state or idempotency conflict"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/webhook-receivers": {
      "post": {
        "operationId": "post_webhook_receivers",
        "summary": "POST /webhook-receivers",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "400": {
            "description": "Invalid or unsupported fields",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid, expired or revoked authentication"
          },
          "403": {
            "description": "Insufficient permission"
          },
          "404": {
            "description": "Absent or inaccessible resource"
          },
          "409": {
            "description": "Identity, idempotency or state conflict"
          },
          "410": {
            "description": "Expired media, cursor or lease"
          },
          "412": {
            "description": "Revision mismatch"
          },
          "429": {
            "description": "Rate or capacity limit"
          },
          "503": {
            "description": "Dependency unavailable"
          },
          "201": {
            "description": "Success"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateReceiver"
              }
            }
          }
        }
      },
      "get": {
        "operationId": "get_webhook_receivers",
        "summary": "GET /webhook-receivers",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "400": {
            "description": "Invalid or unsupported fields",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid, expired or revoked authentication"
          },
          "403": {
            "description": "Insufficient permission"
          },
          "404": {
            "description": "Absent or inaccessible resource"
          },
          "409": {
            "description": "Identity, idempotency or state conflict"
          },
          "410": {
            "description": "Expired media, cursor or lease"
          },
          "412": {
            "description": "Revision mismatch"
          },
          "429": {
            "description": "Rate or capacity limit"
          },
          "503": {
            "description": "Dependency unavailable"
          },
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Receiver"
                      }
                    },
                    "total": {
                      "type": "integer"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/webhook-receivers/{id}/revoke": {
      "post": {
        "operationId": "post_webhook_receivers_id_revoke",
        "summary": "POST /webhook-receivers/{id}/revoke",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "400": {
            "description": "Invalid or unsupported fields",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid, expired or revoked authentication"
          },
          "403": {
            "description": "Insufficient permission"
          },
          "404": {
            "description": "Absent or inaccessible resource"
          },
          "409": {
            "description": "Identity, idempotency or state conflict"
          },
          "410": {
            "description": "Expired media, cursor or lease"
          },
          "412": {
            "description": "Revision mismatch"
          },
          "429": {
            "description": "Rate or capacity limit"
          },
          "503": {
            "description": "Dependency unavailable"
          },
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/webhook-receivers/{id}/events": {
      "post": {
        "operationId": "post_webhook_receivers_id_events",
        "summary": "Signed capture webhook for its fixed authorized camera",
        "security": [],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "X-MCM-Event-ID",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "X-MCM-Timestamp",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^[0-9]+$"
            }
          },
          {
            "name": "X-MCM-Signature",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^sha256=[a-f0-9]{64}$"
            }
          }
        ],
        "responses": {
          "400": {
            "description": "Invalid or unsupported fields",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid, expired or revoked authentication"
          },
          "403": {
            "description": "Insufficient permission"
          },
          "404": {
            "description": "Absent or inaccessible resource"
          },
          "409": {
            "description": "Identity, idempotency or state conflict"
          },
          "410": {
            "description": "Expired media, cursor or lease"
          },
          "412": {
            "description": "Revision mismatch"
          },
          "429": {
            "description": "Rate or capacity limit"
          },
          "503": {
            "description": "Dependency unavailable"
          },
          "202": {
            "description": "Accepted; poll returned request_id"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CaptureRequest"
              }
            }
          }
        },
        "description": "HMAC-SHA256 over event UUID, dot, Unix timestamp, dot, exact raw body. Timestamp ±90 seconds. An exact event retry returns the same persisted receipt/request; changed content conflicts."
      }
    },
    "/preview-sessions/{id}/frame": {
      "get": {
        "operationId": "get_preview_sessions_id_frame",
        "summary": "Latest authorized ephemeral JPEG; no media or inference side effects",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "400": {
            "description": "Invalid or unsupported fields",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid, expired or revoked authentication"
          },
          "403": {
            "description": "Insufficient permission"
          },
          "404": {
            "description": "Absent or inaccessible resource"
          },
          "409": {
            "description": "Identity, idempotency or state conflict"
          },
          "410": {
            "description": "Expired media, cursor or lease"
          },
          "412": {
            "description": "Revision mismatch"
          },
          "429": {
            "description": "Rate or capacity limit"
          },
          "503": {
            "description": "Dependency unavailable"
          },
          "200": {
            "description": "JPEG, at most 1280px and 512KiB; private no-store",
            "content": {
              "image/jpeg": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            },
            "headers": {
              "X-MCM-Captured-At": {
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              },
              "X-MCM-Received-At": {
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              },
              "X-MCM-Frame-Stale": {
                "schema": {
                  "type": "string",
                  "enum": [
                    "true",
                    "false"
                  ]
                }
              },
              "X-MCM-Width": {
                "schema": {
                  "type": "integer"
                }
              },
              "X-MCM-Height": {
                "schema": {
                  "type": "integer"
                }
              }
            }
          },
          "204": {
            "description": "Session active, no frame received yet"
          }
        }
      }
    },
    "/capture-profiles/{id}/approve": {
      "post": {
        "operationId": "approveCaptureProfile",
        "summary": "Approve an immutable profile version (admin only)",
        "responses": {
          "400": {
            "description": "Invalid or unsupported fields",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid, expired or revoked authentication"
          },
          "403": {
            "description": "Insufficient permission"
          },
          "404": {
            "description": "Absent or inaccessible resource"
          },
          "409": {
            "description": "Identity, idempotency or state conflict"
          },
          "410": {
            "description": "Expired media, cursor or lease"
          },
          "412": {
            "description": "Revision mismatch"
          },
          "429": {
            "description": "Rate or capacity limit"
          },
          "503": {
            "description": "Dependency unavailable"
          },
          "200": {
            "description": "Approved immutable profile",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Profile"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "maxProperties": 0
              }
            }
          }
        },
        "description": "One-way operator approval metadata; profile geometry/parameters remain unchanged. Application identities cannot self-approve."
      }
    }
  },
  "components": {
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer"
      }
    },
    "schemas": {
      "Error": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "error": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "retryable": {
                "type": "boolean"
              }
            },
            "required": [
              "code",
              "message",
              "retryable"
            ]
          }
        },
        "required": [
          "error"
        ]
      },
      "CreateSite": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "tenant_id": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "name"
        ]
      },
      "CreateCamera": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "site_id": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "site_id",
          "name"
        ]
      },
      "CreateApplication": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string"
          }
        },
        "required": [
          "name"
        ]
      },
      "CreateToken": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string"
          }
        }
      },
      "CreateClaim": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "camera_id": {
            "type": "string",
            "format": "uuid"
          }
        },
        "required": [
          "camera_id"
        ]
      },
      "CaptureRequest": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "capture_profile_id": {
            "type": "string"
          },
          "profile_version_id": {
            "type": "string"
          },
          "application_binding_id": {
            "type": "string"
          },
          "purpose": {
            "type": "string",
            "enum": [
              "reference",
              "on_demand",
              "scheduled_regions"
            ]
          },
          "count": {
            "type": "integer",
            "minimum": 1,
            "maximum": 3
          },
          "interval_ms": {
            "type": "integer",
            "minimum": 500,
            "maximum": 60000
          },
          "priority": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100
          },
          "external_reference": {
            "type": "string"
          },
          "capture_not_after": {
            "type": "string",
            "format": "date-time"
          },
          "transfer_not_after": {
            "type": "string",
            "format": "date-time"
          },
          "parameters": {
            "$ref": "#/components/schemas/CaptureParameters"
          }
        },
        "description": "When profile_version_id or application_binding_id is supplied, count/interval_ms may be omitted or equal the immutable profile values; changing them conflicts. Restricted grants require an operator-approved profile version. Reference captures cannot contain regions."
      },
      "Enrollment": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "claim": {
            "type": "string"
          },
          "installation_id": {
            "type": "string"
          },
          "platform": {
            "type": "string"
          },
          "app_version": {
            "type": "string"
          },
          "public_key": {
            "type": "string"
          },
          "nats_public_key": {
            "type": "string"
          },
          "signature": {
            "type": "string"
          }
        },
        "required": [
          "claim",
          "installation_id",
          "platform",
          "public_key",
          "nats_public_key",
          "signature"
        ]
      },
      "Configuration": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "lens_id": {
            "type": "string"
          },
          "zoom": {
            "type": "number",
            "minimum": 1,
            "maximum": 20
          },
          "minimum_masks": {
            "type": "array",
            "maxItems": 32,
            "items": {
              "$ref": "#/components/schemas/Mask"
            }
          },
          "allow_full_frame": {
            "type": "boolean"
          },
          "calibration_fingerprint": {
            "type": "string"
          }
        }
      },
      "Profile": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          },
          "application_id": {
            "type": "string"
          },
          "camera_id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "version": {
            "type": "integer"
          },
          "profile_version_id": {
            "type": "string"
          },
          "purpose": {
            "type": "string"
          },
          "parameters": {
            "type": "object",
            "additionalProperties": true
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "operator_approved": {
            "type": "boolean",
            "readOnly": true,
            "description": "Only operator-created or explicitly operator-approved immutable versions may execute under restricted grants."
          },
          "approved_by": {
            "type": "string",
            "readOnly": true
          },
          "approved_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "readOnly": true
          }
        }
      },
      "ImportReceipt": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "sha256": {
            "type": "string",
            "pattern": "^[a-f0-9]{64}$"
          },
          "byte_length": {
            "type": "integer"
          },
          "external_id": {
            "type": "string"
          }
        },
        "required": [
          "sha256",
          "byte_length",
          "external_id"
        ]
      },
      "Command": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "schema_version": {
            "type": "integer"
          },
          "command_id": {
            "type": "string"
          },
          "request_id": {
            "type": "string"
          },
          "application_id": {
            "type": "string"
          },
          "tenant_id": {
            "type": "string"
          },
          "site_id": {
            "type": "string"
          },
          "device_id": {
            "type": "string"
          },
          "camera_id": {
            "type": "string"
          },
          "device_binding_generation": {
            "type": "integer"
          },
          "action": {
            "type": "string"
          },
          "purpose": {
            "type": "string"
          },
          "capture_profile_id": {
            "type": "string"
          },
          "profile_version_id": {
            "type": "string"
          },
          "configuration_version": {
            "type": "integer"
          },
          "issued_at": {
            "type": "string",
            "format": "date-time"
          },
          "expires_at": {
            "type": "string",
            "format": "date-time"
          },
          "capture_not_after": {
            "type": "string",
            "format": "date-time"
          },
          "transfer_not_after": {
            "type": "string",
            "format": "date-time"
          },
          "priority": {
            "type": "integer"
          },
          "external_reference": {
            "type": "string"
          },
          "parameters": {
            "type": "object",
            "additionalProperties": true
          }
        }
      },
      "Point": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "x": {
            "type": "number",
            "minimum": 0,
            "maximum": 1
          },
          "y": {
            "type": "number",
            "minimum": 0,
            "maximum": 1
          }
        },
        "required": [
          "x",
          "y"
        ]
      },
      "Region": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          },
          "polygon": {
            "type": "array",
            "minItems": 3,
            "maxItems": 64,
            "items": {
              "$ref": "#/components/schemas/Point"
            }
          },
          "rect": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "x": {
                "type": "number",
                "minimum": 0,
                "maximum": 1
              },
              "y": {
                "type": "number",
                "minimum": 0,
                "maximum": 1
              },
              "width": {
                "type": "number",
                "exclusiveMinimum": 0,
                "maximum": 1
              },
              "height": {
                "type": "number",
                "exclusiveMinimum": 0,
                "maximum": 1
              }
            },
            "required": [
              "x",
              "y",
              "width",
              "height"
            ]
          }
        },
        "required": [
          "id"
        ]
      },
      "Mask": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          },
          "polygon": {
            "type": "array",
            "minItems": 3,
            "maxItems": 64,
            "items": {
              "$ref": "#/components/schemas/Point"
            }
          }
        },
        "required": [
          "id",
          "polygon"
        ]
      },
      "CaptureParameters": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "count": {
            "type": "integer",
            "minimum": 1,
            "maximum": 3,
            "default": 1
          },
          "interval_ms": {
            "type": "integer",
            "minimum": 500,
            "maximum": 60000,
            "default": 500
          },
          "jpeg_quality": {
            "type": "integer",
            "minimum": 30,
            "maximum": 100,
            "default": 90
          },
          "lens_id": {
            "type": "string"
          },
          "zoom": {
            "type": "number",
            "minimum": 1,
            "maximum": 20,
            "default": 1
          },
          "regions": {
            "type": "array",
            "maxItems": 32,
            "items": {
              "$ref": "#/components/schemas/Region"
            }
          },
          "allow_full_frame": {
            "type": "boolean"
          },
          "focus_point": {
            "$ref": "#/components/schemas/Point"
          },
          "exposure_point": {
            "$ref": "#/components/schemas/Point"
          },
          "focus_timeout_ms": {
            "type": "integer",
            "minimum": 1
          }
        }
      },
      "Application": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "enabled": {
            "type": "boolean"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "Site": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          },
          "tenant_id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "revision": {
            "type": "integer"
          }
        }
      },
      "Grant": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "application_id": {
            "type": "string"
          },
          "camera_id": {
            "type": "string"
          },
          "permissions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "region_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "max_priority": {
            "type": "integer"
          },
          "max_requests_per_minute": {
            "type": "integer"
          },
          "allow_full_frame": {
            "type": "boolean"
          },
          "revision": {
            "type": "integer"
          }
        }
      },
      "Camera": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          },
          "tenant_id": {
            "type": "string"
          },
          "site_id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "device_id": {
            "type": "string"
          },
          "installation_id": {
            "type": "string"
          },
          "device_binding_generation": {
            "type": "integer"
          },
          "state": {
            "type": "string"
          },
          "revoked": {
            "type": "boolean"
          },
          "platform": {
            "type": "string"
          },
          "last_seen": {
            "type": "string",
            "format": "date-time"
          },
          "status": {
            "type": "object",
            "additionalProperties": true
          },
          "capabilities": {
            "type": "object",
            "additionalProperties": true
          },
          "configuration": {
            "type": "object",
            "additionalProperties": true
          },
          "configuration_version": {
            "type": "integer"
          },
          "acknowledged_version": {
            "type": "integer"
          },
          "revision": {
            "type": "integer"
          },
          "lease_expires_at": {
            "type": "string",
            "format": "date-time"
          },
          "archived_at": {
            "type": "string",
            "format": "date-time",
            "description": "Present after permanent archival. The camera is revoked and hidden from standard lists; historical records are retained."
          }
        }
      },
      "Binding": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          },
          "application_id": {
            "type": "string"
          },
          "camera_id": {
            "type": "string"
          },
          "profile_version_id": {
            "type": "string"
          },
          "external_integration_id": {
            "type": "string"
          },
          "strSiteKey": {
            "type": "string"
          },
          "output_id": {
            "type": "string"
          },
          "region_mappings": {
            "type": "object",
            "additionalProperties": true
          },
          "revision": {
            "type": "integer"
          }
        }
      },
      "Request": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          },
          "command": {
            "$ref": "#/components/schemas/Command"
          },
          "state": {
            "type": "string"
          },
          "reason_code": {
            "type": "string"
          },
          "capture_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "expected_captures": {
            "type": "integer"
          },
          "revision": {
            "type": "integer"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "Capture": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "capture_id": {
            "type": "string"
          },
          "application_id": {
            "type": "string"
          },
          "camera_id": {
            "type": "string"
          },
          "tenant_id": {
            "type": "string"
          },
          "site_id": {
            "type": "string"
          },
          "device_id": {
            "type": "string"
          },
          "request_id": {
            "type": "string"
          },
          "command_id": {
            "type": "string"
          },
          "source_frame_id": {
            "type": "string"
          },
          "photo_index": {
            "type": "integer"
          },
          "region_id": {
            "type": "string"
          },
          "capture_group_id": {
            "type": "string"
          },
          "captured_at": {
            "type": "string",
            "format": "date-time"
          },
          "received_at": {
            "type": "string",
            "format": "date-time"
          },
          "sha256": {
            "type": "string"
          },
          "byte_length": {
            "type": "integer"
          },
          "width": {
            "type": "integer"
          },
          "height": {
            "type": "integer"
          },
          "media_role": {
            "type": "string"
          },
          "configuration_version": {
            "type": "integer"
          },
          "profile_version_id": {
            "type": "string"
          },
          "lens_id": {
            "type": "string"
          },
          "zoom": {
            "type": "number"
          },
          "orientation": {
            "type": "string"
          },
          "metadata": {
            "type": "object",
            "additionalProperties": true
          },
          "committed": {
            "type": "boolean"
          },
          "media_expired": {
            "type": "boolean"
          },
          "device_binding_generation": {
            "type": "integer"
          },
          "chunk_size": {
            "type": "integer"
          },
          "chunk_count": {
            "type": "integer"
          }
        }
      },
      "Event": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "sequence": {
            "type": "integer"
          },
          "schema_version": {
            "type": "integer"
          },
          "event_id": {
            "type": "string"
          },
          "application_id": {
            "type": "string"
          },
          "camera_id": {
            "type": "string"
          },
          "request_id": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "revision": {
            "type": "integer"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "data": {
            "type": "object",
            "additionalProperties": true
          },
          "acked_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "Receipt": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          },
          "application_id": {
            "type": "string"
          },
          "capture_id": {
            "type": "string"
          },
          "sha256": {
            "type": "string"
          },
          "external_id": {
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "Schedule": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          },
          "application_id": {
            "type": "string"
          },
          "camera_id": {
            "type": "string"
          },
          "profile_version_id": {
            "type": "string"
          },
          "interval_seconds": {
            "type": "integer"
          },
          "enabled": {
            "type": "boolean"
          },
          "version": {
            "type": "integer"
          },
          "state": {
            "type": "string"
          },
          "lease_expires_at": {
            "type": "string",
            "format": "date-time"
          },
          "configuration_version": {
            "type": "integer"
          },
          "device_binding_generation": {
            "type": "integer"
          }
        }
      },
      "Preview": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          },
          "application_id": {
            "type": "string"
          },
          "camera_id": {
            "type": "string"
          },
          "expires_at": {
            "type": "string",
            "format": "date-time"
          },
          "state": {
            "type": "string"
          }
        }
      },
      "Delivery": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          },
          "webhook_id": {
            "type": "string"
          },
          "event_id": {
            "type": "string"
          },
          "attempts": {
            "type": "integer"
          },
          "state": {
            "type": "string"
          },
          "next_attempt": {
            "type": "string",
            "format": "date-time"
          },
          "last_status": {
            "type": "integer"
          }
        }
      },
      "Receiver": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          },
          "application_id": {
            "type": "string"
          },
          "camera_id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "enabled": {
            "type": "boolean"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "CreateProfile": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "application_id": {
            "type": "string",
            "format": "uuid"
          },
          "camera_id": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          },
          "purpose": {
            "type": "string",
            "enum": [
              "reference",
              "on_demand",
              "scheduled_regions"
            ]
          },
          "parameters": {
            "$ref": "#/components/schemas/CaptureParameters"
          }
        },
        "required": [
          "camera_id",
          "name",
          "purpose",
          "parameters"
        ]
      },
      "GrantSet": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "grants": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Grant"
            }
          }
        },
        "required": [
          "grants"
        ]
      },
      "PatchApplication": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string"
          },
          "enabled": {
            "type": "boolean"
          }
        }
      },
      "PatchCamera": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string"
          }
        },
        "required": [
          "name"
        ]
      },
      "CreateSchedule": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "application_id": {
            "type": "string",
            "format": "uuid"
          },
          "profile_version_id": {
            "type": "string",
            "format": "uuid"
          },
          "interval_seconds": {
            "type": "integer",
            "minimum": 30,
            "maximum": 86400
          },
          "enabled": {
            "type": "boolean"
          }
        },
        "required": [
          "profile_version_id",
          "interval_seconds"
        ]
      },
      "PatchSchedule": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "interval_seconds": {
            "type": "integer",
            "minimum": 30,
            "maximum": 86400
          },
          "enabled": {
            "type": "boolean"
          }
        }
      },
      "PreviewStart": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "duration_seconds": {
            "type": "integer",
            "minimum": 1,
            "maximum": 60,
            "default": 30
          }
        }
      },
      "CreateWebhook": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "url": {
            "type": "string",
            "format": "uri"
          },
          "application_id": {
            "type": "string",
            "format": "uuid"
          }
        },
        "required": [
          "url"
        ]
      },
      "CreateReceiver": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "application_id": {
            "type": "string",
            "format": "uuid"
          },
          "camera_id": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "camera_id",
          "name"
        ]
      },
      "Renewal": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "installation_id": {
            "type": "string",
            "format": "uuid"
          },
          "timestamp": {
            "type": "string",
            "format": "date-time"
          },
          "nonce": {
            "type": "string",
            "format": "uuid"
          },
          "signature": {
            "type": "string"
          }
        },
        "required": [
          "installation_id",
          "timestamp",
          "nonce",
          "signature"
        ]
      },
      "OperatorCommand": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "action": {
            "type": "string",
            "enum": [
              "pause",
              "resume",
              "stop",
              "retry_uploads"
            ]
          },
          "parameters": {
            "type": "object",
            "additionalProperties": false,
            "properties": {}
          }
        },
        "required": [
          "action"
        ]
      },
      "CameraArchiveResult": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "camera_id",
          "archived",
          "archived_at",
          "revoked",
          "broker_revocation",
          "offline_lease_expires_at"
        ],
        "properties": {
          "camera_id": {
            "type": "string",
            "format": "uuid"
          },
          "archived": {
            "type": "boolean",
            "const": true
          },
          "archived_at": {
            "type": "string",
            "format": "date-time"
          },
          "revoked": {
            "type": "boolean",
            "const": true
          },
          "broker_revocation": {
            "type": "string",
            "enum": [
              "operator_required",
              "not_applicable"
            ]
          },
          "offline_lease_expires_at": {
            "type": "string",
            "format": "date-time",
            "description": "Last issued lease, retained to show the actual offline exposure; never a promise of immediate offline device stop."
          }
        }
      }
    }
  }
}
