{
  "openapi": "3.1.1",
  "info": {
    "title": "DrmX.Platform.Api | v1",
    "version": "1.0.0"
  },
  "servers": [
    {
      "url": "https://multi-drm.drm-x.org/"
    }
  ],
  "paths": {
    "/api/v1/management/environments/{environmentId}/fairplay-credentials": {
      "get": {
        "tags": [
          "FairPlayCredentialAdminEndpoints"
        ],
        "parameters": [
          {
            "name": "environmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 25
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "FairPlayCredentialAdminEndpoints"
        ],
        "parameters": [
          {
            "name": "environmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/platform-admin/customers": {
      "get": {
        "tags": [
          "FairPlayCredentialAdminEndpoints"
        ],
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 25
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/platform-admin/customers/{projectId}": {
      "get": {
        "tags": [
          "FairPlayCredentialAdminEndpoints"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/platform-admin/fairplay-credentials": {
      "get": {
        "tags": [
          "FairPlayCredentialAdminEndpoints"
        ],
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "pending"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 25
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/platform-admin/fairplay-credentials/{credentialId}/approve": {
      "post": {
        "tags": [
          "FairPlayCredentialAdminEndpoints"
        ],
        "parameters": [
          {
            "name": "credentialId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/components/schemas/ReviewRequest"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/platform-admin/fairplay-credentials/{credentialId}/reject": {
      "post": {
        "tags": [
          "FairPlayCredentialAdminEndpoints"
        ],
        "parameters": [
          {
            "name": "credentialId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/components/schemas/ReviewRequest"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/platform-admin/fairplay-credentials/{credentialId}/activate": {
      "post": {
        "tags": [
          "FairPlayCredentialAdminEndpoints"
        ],
        "parameters": [
          {
            "name": "credentialId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/components/schemas/ActivationRequest"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/platform-admin/fairplay-credentials/{credentialId}/rewrap": {
      "post": {
        "tags": [
          "FairPlayCredentialAdminEndpoints"
        ],
        "parameters": [
          {
            "name": "credentialId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/platform-admin/fairplay-deployments": {
      "get": {
        "tags": [
          "FairPlayCredentialAdminEndpoints"
        ],
        "parameters": [
          {
            "name": "environmentId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/platform-admin/dashboard": {
      "get": {
        "tags": [
          "PlatformAdminEndpoints"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/platform-admin/admin-accounts": {
      "get": {
        "tags": [
          "PlatformAdminEndpoints"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/platform-admin/admin-sessions": {
      "get": {
        "tags": [
          "PlatformAdminEndpoints"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/platform-admin/admin-sessions/{sessionId}/revoke": {
      "post": {
        "tags": [
          "PlatformAdminEndpoints"
        ],
        "parameters": [
          {
            "name": "sessionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/platform-admin/customer-accounts": {
      "get": {
        "tags": [
          "PlatformAdminEndpoints"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/platform-admin/audit-events": {
      "get": {
        "tags": [
          "PlatformAdminEndpoints"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/platform-admin/license-tokens": {
      "get": {
        "tags": [
          "PlatformAdminEndpoints"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/platform-admin/license-activity": {
      "get": {
        "tags": [
          "PlatformAdminEndpoints"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/platform-admin/blacklist": {
      "get": {
        "tags": [
          "PlatformAdminEndpoints"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/health/live": {
      "get": {
        "tags": [
          "DRM-X Control Plane"
        ],
        "summary": "Process liveness",
        "operationId": "GetLiveness",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HealthResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/health/ready": {
      "get": {
        "tags": [
          "DRM-X Control Plane"
        ],
        "summary": "PostgreSQL readiness",
        "operationId": "GetReadiness",
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/plans": {
      "get": {
        "tags": [
          "DRM-X Control Plane"
        ],
        "summary": "Customer subscription plans",
        "operationId": "GetPlans",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlanCatalogResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/platform/capabilities": {
      "get": {
        "tags": [
          "DRM-X Control Plane"
        ],
        "summary": "Target DRM and media capabilities",
        "operationId": "GetPlatformCapabilities",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlatformCapabilitiesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/organizations/registrations": {
      "post": {
        "tags": [
          "DRM-X Control Plane"
        ],
        "summary": "Register a company and accept the service agreement",
        "operationId": "RegisterOrganization",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CompanyRegistrationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CompanyRegistrationResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpValidationProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/management/organizations": {
      "get": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "List DRM-X customer organizations",
        "operationId": "ListOrganizations",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponseOfOrganizationSummaryResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/management/organizations/{organizationId}/projects": {
      "get": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "List projects in an organization",
        "operationId": "ListProjects",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProjectResponse"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "Create a project with development and production environments",
        "operationId": "CreateProject",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateProjectRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/management/projects/{projectId}/environments": {
      "get": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "List development, staging, and production environments",
        "operationId": "ListProjectEnvironments",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EnvironmentResponse"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/management/projects/{projectId}/rights": {
      "get": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "List DRM-X Rights definitions",
        "operationId": "ListRights",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RightsResponse"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "Create reusable playback Rights",
        "operationId": "CreateRights",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateRightsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/management/projects/{projectId}/license-profiles": {
      "get": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "List reusable DRM-X License Profiles",
        "operationId": "ListLicenseProfiles",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LicenseProfileResponse"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "Create a multi-DRM License Profile",
        "operationId": "CreateLicenseProfile",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateLicenseProfileRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/management/environments/{environmentId}/content": {
      "get": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "List protected content and live channels",
        "operationId": "ListContent",
        "parameters": [
          {
            "name": "environmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponseOfContentAssetResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "Register VOD, live, audio, or document content",
        "operationId": "CreateContent",
        "parameters": [
          {
            "name": "environmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateContentAssetRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/management/environments/{environmentId}/content-availability": {
      "get": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "Check whether a guided-package title and content ID are unused in this customer environment",
        "operationId": "CheckContentAvailability",
        "parameters": [
          {
            "name": "environmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "contentId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "title",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/management/projects/{projectId}/users": {
      "get": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "List synchronized DRM-X end users",
        "operationId": "ListEndUsers",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponseOfEndUserResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "Create or synchronize an end user",
        "operationId": "CreateEndUser",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateEndUserRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/management/projects/{projectId}/user-groups": {
      "get": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "List DRM-X User Groups",
        "operationId": "ListUserGroups",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UserGroupResponse"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "Create a User Group",
        "operationId": "CreateUserGroup",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateUserGroupRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/management/projects/{projectId}/user-groups/{groupId}/members": {
      "post": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "Assign a user to a User Group",
        "operationId": "AddUserGroupMember",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "groupId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddUserGroupMemberRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/management/projects/{projectId}/devices": {
      "get": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "List DRM client devices",
        "operationId": "ListDevices",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponseOfDeviceResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "Register or update a hashed DRM device identity",
        "operationId": "RegisterDevice",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterDeviceRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/management/environments/{environmentId}/blacklist": {
      "get": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "List user, device, IP, content, and application blocks",
        "operationId": "ListBlacklist",
        "parameters": [
          {
            "name": "environmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "targetType",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BlacklistEntryResponse"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "Block a user, device, IP, content item, or application",
        "operationId": "CreateBlacklistEntry",
        "parameters": [
          {
            "name": "environmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateBlacklistEntryRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/management/environments/{environmentId}/blacklist/{entryId}/status": {
      "put": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "Block or release a blacklist target",
        "operationId": "ChangeBlacklistStatus",
        "parameters": [
          {
            "name": "environmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "entryId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangeBlacklistStatusRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/management/environments/{environmentId}/storage": {
      "get": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "List DRM-X Secure Processing storage locations",
        "operationId": "ListStorageConnections",
        "parameters": [
          {
            "name": "environmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/StorageConnectionResponse"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "Register DRM-X hosted, Amazon S3, or S3-compatible storage without returning secrets",
        "operationId": "CreateStorageConnection",
        "parameters": [
          {
            "name": "environmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateStorageConnectionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/management/environments/{environmentId}/storage/{storageId}": {
      "put": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "Update a storage location and require configuration validation again",
        "operationId": "UpdateStorageConnection",
        "parameters": [
          {
            "name": "environmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "storageId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateStorageConnectionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/management/environments/{environmentId}/storage/{storageId}/validate": {
      "post": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "Validate storage configuration before processing jobs can use it",
        "operationId": "ValidateStorageConnection",
        "parameters": [
          {
            "name": "environmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "storageId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/management/environments/{environmentId}/storage/{storageId}/status": {
      "put": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "Enable or disable a Secure Processing storage location",
        "operationId": "ChangeStorageConnectionStatus",
        "parameters": [
          {
            "name": "environmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "storageId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangeStorageConnectionStatusRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/management/environments/{environmentId}/processing-profiles": {
      "get": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "List reusable DRM-X Secure Processing profiles",
        "operationId": "ListProcessingProfiles",
        "parameters": [
          {
            "name": "environmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProcessingProfileResponse"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "Create a reusable transcoding and DRM packaging profile",
        "operationId": "CreateProcessingProfile",
        "parameters": [
          {
            "name": "environmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateProcessingProfileRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/management/environments/{environmentId}/processing-profiles/{profileId}": {
      "put": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "Update a Secure Processing profile",
        "operationId": "UpdateProcessingProfile",
        "parameters": [
          {
            "name": "environmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "profileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateProcessingProfileRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/management/environments/{environmentId}/processing-profiles/{profileId}/status": {
      "put": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "Activate or archive a Secure Processing profile",
        "operationId": "ChangeProcessingProfileStatus",
        "parameters": [
          {
            "name": "environmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "profileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangeProcessingProfileStatusRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/management/environments/{environmentId}/packaging-jobs": {
      "get": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "List durable Secure Processing jobs",
        "operationId": "ListPackagingJobs",
        "parameters": [
          {
            "name": "environmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResponseOfPackagingJobResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "Queue a structured DRM-X Secure Processing job",
        "operationId": "CreatePackagingJob",
        "parameters": [
          {
            "name": "environmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePackagingJobRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/management/environments/{environmentId}/packaging-jobs/{jobId}": {
      "get": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "Get a processing job with its steps and output artifacts",
        "operationId": "GetPackagingJob",
        "parameters": [
          {
            "name": "environmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "jobId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/management/environments/{environmentId}/packaging-jobs/{jobId}/cancel": {
      "post": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "Cancel a queued or running processing job",
        "operationId": "CancelPackagingJob",
        "parameters": [
          {
            "name": "environmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "jobId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/management/environments/{environmentId}/packaging-jobs/{jobId}/retry": {
      "post": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "Reset a failed or stopped job for another processing attempt",
        "operationId": "RetryPackagingJob",
        "parameters": [
          {
            "name": "environmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "jobId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/management/environments/{environmentId}/packaging-jobs/{jobId}/progress": {
      "put": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "Update job and step progress from an authenticated processing worker",
        "operationId": "UpdatePackagingJobProgress",
        "parameters": [
          {
            "name": "environmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "jobId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePackagingJobProgressRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/management/environments/{environmentId}/packaging-jobs/{jobId}/outputs": {
      "post": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "Record a completed processing output artifact",
        "operationId": "AddPackagingOutput",
        "parameters": [
          {
            "name": "environmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "jobId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePackagingOutputRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/management/environments/{environmentId}/license-events": {
      "get": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "List successful, failed, and denied DRM license activity",
        "operationId": "ListLicenseEvents",
        "parameters": [
          {
            "name": "environmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "drmType",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "outcome",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LicenseEventResponse"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "Ingest an idempotent license usage and billing event",
        "operationId": "RecordLicenseEvent",
        "parameters": [
          {
            "name": "environmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RecordLicenseEventRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/management/environments/{environmentId}/dashboard": {
      "get": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "DRM licenses, errors, sessions, blacklist, and packaging dashboard",
        "operationId": "GetDrmDashboard",
        "parameters": [
          {
            "name": "environmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "hours",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DashboardResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/management/environments/{environmentId}/monthly-usage": {
      "get": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "Monthly license, user, device, packaging, and billing usage",
        "operationId": "GetMonthlyUsage",
        "parameters": [
          {
            "name": "environmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "year",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "month",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/management/environments/{environmentId}/provider-credentials": {
      "get": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "List DRM vendor credential references and certificate status",
        "operationId": "ListProviderCredentials",
        "parameters": [
          {
            "name": "environmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProviderCredentialResponse"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "Register a vault reference for Widevine, PlayReady, or WisePlay",
        "operationId": "CreateProviderCredential",
        "parameters": [
          {
            "name": "environmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateProviderCredentialRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/management/environments/{environmentId}/fairplay-credentials/{submissionId}/review": {
      "post": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "Approve or reject a customer FairPlay credential submission",
        "operationId": "ReviewFairPlayCredential",
        "parameters": [
          {
            "name": "environmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "submissionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReviewFairPlayCredentialRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/management/environments/{environmentId}/webhooks": {
      "get": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "List signed packaging, license, and security webhooks",
        "operationId": "ListWebhooks",
        "parameters": [
          {
            "name": "environmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/WebhookResponse"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "Create a signed asynchronous webhook destination",
        "operationId": "CreateWebhook",
        "parameters": [
          {
            "name": "environmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateWebhookRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/management/projects/{projectId}/api-clients": {
      "get": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "List project API clients without exposing secrets",
        "operationId": "ListApiClients",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiClientResponse"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "Create an API client and reveal its secret once",
        "operationId": "CreateApiClient",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateApiClientRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/management/projects/{projectId}/license-policy-generator": {
      "post": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "Atomically create versioned Rights and a DRM-X License Profile",
        "operationId": "GenerateLicensePolicy",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GenerateLicensePolicyRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/management/projects/{projectId}/license-profiles/{licenseProfileId}/revisions": {
      "post": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "Publish an immutable revision; activate rights-only changes or stage packaging-impacting changes safely",
        "operationId": "ReviseLicensePolicy",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "licenseProfileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GenerateLicensePolicyRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/management/projects/{projectId}/license-profiles/{licenseProfileId}/provider-registrations": {
      "get": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "List safe provider-registration status for every published License Profile version",
        "operationId": "ListProviderProfileRegistrations",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "licenseProfileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProviderProfileRegistrationResponse"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/management/projects/{projectId}/license-profiles/{licenseProfileId}/provider-registrations/widevine/versions/{licenseProfileVersionId}": {
      "get": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "Get exact Widevine readiness for one immutable License Profile version",
        "operationId": "GetWidevineProviderProfileRegistration",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "licenseProfileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "licenseProfileVersionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/management/projects/{projectId}/license-profiles/{licenseProfileId}/provider-registrations/widevine/versions/{licenseProfileVersionId}/ensure": {
      "post": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "Immediately register one immutable License Profile version with Widevine",
        "operationId": "EnsureWidevineProviderProfileRegistration",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "licenseProfileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "licenseProfileVersionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/management/projects/{projectId}/license-profiles/{licenseProfileId}/provider-registrations/{registrationId}/retry": {
      "post": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "Audit and retry registration of a License Profile version with its enabled provider",
        "operationId": "RetryProviderProfileRegistration",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "licenseProfileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "registrationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/management/environments/{environmentId}/key-set-information": {
      "get": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "Search automatically provisioned key sets without exposing AES content keys",
        "operationId": "ListKeySetInformation",
        "parameters": [
          {
            "name": "environmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "contentAssetId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "licenseProfileId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "scheme",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "includeHistorical",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "createdFrom",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "createdTo",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/management/environments/{environmentId}/encryption-key-sets": {
      "get": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "List wrapped DRM content-key metadata without exposing clear keys",
        "operationId": "ListEncryptionKeySets",
        "parameters": [
          {
            "name": "environmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EncryptionKeySetResponse"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "Generate and KMS-wrap track content keys through the private Key Service",
        "operationId": "ProvisionEncryptionKeySet",
        "parameters": [
          {
            "name": "environmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProvisionEncryptionKeySetRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/management/environments/{environmentId}/cpix/generate": {
      "post": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "Run an authenticated CPIX 2.3 key exchange for an existing key set",
        "operationId": "GenerateCpix",
        "parameters": [
          {
            "name": "environmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GenerateCpixRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/management/environments/{environmentId}/license-tokens": {
      "post": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "Generate a short-lived signed DRM-X License Token for the unified gateway",
        "operationId": "GenerateDrmLicenseToken",
        "parameters": [
          {
            "name": "environmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GenerateDrmLicenseTokenRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/management/environments/{environmentId}/license-tokens/validate": {
      "post": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "Validate a DRM-X License Token without storing the bearer token",
        "operationId": "ValidateDrmLicenseToken",
        "parameters": [
          {
            "name": "environmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ValidateDrmLicenseTokenRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/management/projects/{projectId}/encoding-profiles": {
      "get": {
        "tags": [
          "DRM-X Encoding and Packaging Profiles"
        ],
        "summary": "List reusable, versioned source-to-rendition Encoding Profiles",
        "operationId": "ListEncodingProfiles",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EncodingProfileResponse"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "DRM-X Encoding and Packaging Profiles"
        ],
        "summary": "Create a versioned Encoding Profile with an SD, 720p, 1080p, and/or 2160p ladder",
        "operationId": "CreateEncodingProfile",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateEncodingProfileRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/management/projects/{projectId}/encoding-profiles/{profileId}": {
      "get": {
        "tags": [
          "DRM-X Encoding and Packaging Profiles"
        ],
        "summary": "Get the current version of an Encoding Profile",
        "operationId": "GetEncodingProfile",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "profileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/management/projects/{projectId}/packaging-profiles": {
      "get": {
        "tags": [
          "DRM-X Encoding and Packaging Profiles"
        ],
        "summary": "List reusable, versioned encryption and package-output profiles",
        "operationId": "ListPackagingProfiles",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PackagingProfileResponse"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "DRM-X Encoding and Packaging Profiles"
        ],
        "summary": "Create a Modern Multi-DRM or Maximum Compatibility Packaging Profile",
        "operationId": "CreatePackagingProfile",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePackagingProfileRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/management/projects/{projectId}/packaging-profiles/{profileId}": {
      "get": {
        "tags": [
          "DRM-X Encoding and Packaging Profiles"
        ],
        "summary": "Get the current version of a Packaging Profile",
        "operationId": "GetPackagingProfile",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "profileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/playback/environments/{environmentId}/license-tokens": {
      "post": {
        "tags": [
          "DRM-X Playback Authorization"
        ],
        "summary": "Generate a short-lived DRM License Token using a scoped project API client",
        "operationId": "CreateDrmLicenseTokenForApiClient",
        "parameters": [
          {
            "name": "environmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GenerateDrmLicenseTokenRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GenerateDrmLicenseTokenResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/management/projects/{projectId}/local-packaging-capabilities": {
      "get": {
        "tags": [
          "DRM-X Local Packaging"
        ],
        "summary": "Report safe provider capabilities required by the guided local packaging flow",
        "operationId": "GetLocalPackagingCapabilities",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LocalPackagingCapabilitiesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/management/environments/{environmentId}/local-packaging-sessions": {
      "get": {
        "tags": [
          "DRM-X Local Packaging"
        ],
        "summary": "List local CLI packaging sessions",
        "operationId": "ListLocalPackagingSessions",
        "parameters": [
          {
            "name": "environmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LocalPackagingSessionResponse"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "DRM-X Local Packaging"
        ],
        "summary": "Create a short-lived local CLI packaging session and provision its wrapped keys",
        "operationId": "CreateLocalPackagingSession",
        "parameters": [
          {
            "name": "environmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateLocalPackagingSessionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/management/environments/{environmentId}/local-packaging-sessions/{sessionId}/playback-url": {
      "put": {
        "tags": [
          "DRM-X Local Packaging"
        ],
        "summary": "Save the manually uploaded manifest URL for playback testing",
        "operationId": "UpdateLocalPackagingPlaybackUrl",
        "parameters": [
          {
            "name": "environmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "sessionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateLocalPackagingPlaybackUrlRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/management/environments/{environmentId}/local-packaging-sessions/{sessionId}/revoke": {
      "post": {
        "tags": [
          "DRM-X Local Packaging"
        ],
        "summary": "Revoke an active local Packaging Session",
        "operationId": "RevokeLocalPackagingSession",
        "parameters": [
          {
            "name": "environmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "sessionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/local-packaging-sessions/{sessionId}": {
      "get": {
        "tags": [
          "DRM-X CLI Packager"
        ],
        "summary": "Get the Packaging Session bound to a CLI token",
        "operationId": "GetLocalPackagingSession",
        "parameters": [
          {
            "name": "sessionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/local-packaging-sessions/{sessionId}/cpix/{outputId}": {
      "post": {
        "tags": [
          "DRM-X CLI Packager"
        ],
        "summary": "Exchange CPIX once for one output in a bundled local Packaging Session",
        "operationId": "ExchangeLocalPackagingOutputCpix",
        "parameters": [
          {
            "name": "sessionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "outputId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/local-packaging-sessions/{sessionId}/cpix": {
      "post": {
        "tags": [
          "DRM-X CLI Packager"
        ],
        "summary": "Exchange CPIX once for an authenticated local Packaging Session",
        "operationId": "ExchangeLocalPackagingCpix",
        "parameters": [
          {
            "name": "sessionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/local-packaging-sessions/{sessionId}/complete": {
      "post": {
        "tags": [
          "DRM-X CLI Packager"
        ],
        "summary": "Report successful local Shaka packaging and output verification",
        "operationId": "CompleteLocalPackagingSession",
        "parameters": [
          {
            "name": "sessionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteLocalPackagingSessionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/local-packaging-sessions/{sessionId}/fail": {
      "post": {
        "tags": [
          "DRM-X CLI Packager"
        ],
        "summary": "Report a redacted local packaging failure",
        "operationId": "FailLocalPackagingSession",
        "parameters": [
          {
            "name": "sessionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FailLocalPackagingSessionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/management/environments/{environmentId}/content/{contentAssetId}/package-releases": {
      "get": {
        "tags": [
          "DRM-X Policy and Package Lifecycle"
        ],
        "summary": "List immutable Package Releases and their required outputs",
        "operationId": "ListContentPackageReleases",
        "parameters": [
          {
            "name": "environmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "contentAssetId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ContentPackageReleaseResponse"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "DRM-X Policy and Package Lifecycle"
        ],
        "summary": "Prepare an immutable Package Release without changing active playback",
        "operationId": "CreateContentPackageRelease",
        "parameters": [
          {
            "name": "environmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "contentAssetId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateContentPackageReleaseRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/management/environments/{environmentId}/content/{contentAssetId}/package-releases/{releaseId}/activate": {
      "post": {
        "tags": [
          "DRM-X Policy and Package Lifecycle"
        ],
        "summary": "Atomically activate a validated release, or an all-content profile rollout",
        "operationId": "ActivateContentPackageRelease",
        "parameters": [
          {
            "name": "environmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "contentAssetId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "releaseId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangeLifecycleStateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/management/environments/{environmentId}/content/{contentAssetId}/package-releases/{releaseId}/rollback": {
      "post": {
        "tags": [
          "DRM-X Policy and Package Lifecycle"
        ],
        "summary": "Roll back by atomically reactivating a validated superseded release",
        "operationId": "RollbackContentPackageRelease",
        "parameters": [
          {
            "name": "environmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "contentAssetId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "releaseId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangeLifecycleStateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/management/environments/{environmentId}/content/{contentAssetId}/package-releases/{releaseId}/retire": {
      "post": {
        "tags": [
          "DRM-X Policy and Package Lifecycle"
        ],
        "summary": "Retire a non-active Package Release while retaining its audit history",
        "operationId": "RetireContentPackageRelease",
        "parameters": [
          {
            "name": "environmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "contentAssetId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "releaseId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangeLifecycleStateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/management/environments/{environmentId}/content/{contentAssetId}/license-profile-binding": {
      "put": {
        "tags": [
          "DRM-X Policy and Package Lifecycle"
        ],
        "summary": "Follow the active License Profile version or explicitly pin an exact version",
        "operationId": "ChangeContentLicenseProfileBinding",
        "parameters": [
          {
            "name": "environmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "contentAssetId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangeContentProfileBindingRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/management/projects/{projectId}/lifecycle-events": {
      "get": {
        "tags": [
          "DRM-X Policy and Package Lifecycle"
        ],
        "summary": "List append-only Rights/Profile/Package lifecycle audit evidence",
        "operationId": "ListLifecycleEvents",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LifecycleEventResponse"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/auth/login": {
      "post": {
        "tags": [
          "DRM-X Console Authentication"
        ],
        "summary": "Sign in as a customer organization member",
        "operationId": "ConsoleLogin",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AdminLoginRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AdminLoginResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/auth/platform/login": {
      "post": {
        "tags": [
          "DRM-X Console Authentication"
        ],
        "summary": "Sign in through the dedicated Haihaisoft platform-administrator path",
        "operationId": "PlatformConsoleLogin",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AdminLoginRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AdminLoginResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/auth/platform/me": {
      "get": {
        "tags": [
          "DRM-X Console Authentication"
        ],
        "summary": "Return only the signed-in Haihaisoft platform administrator",
        "operationId": "GetCurrentPlatformAdministrator",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AdminUserResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/api/v1/auth/platform/logout": {
      "post": {
        "tags": [
          "DRM-X Console Authentication"
        ],
        "summary": "End only the current Haihaisoft administrator session",
        "operationId": "PlatformAdministratorLogout",
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/api/v1/auth/me": {
      "get": {
        "tags": [
          "DRM-X Console Authentication"
        ],
        "summary": "Return the signed-in customer or platform administrator",
        "operationId": "GetCurrentConsoleUser",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AdminUserResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/api/v1/auth/logout": {
      "post": {
        "tags": [
          "DRM-X Console Authentication"
        ],
        "summary": "End the current DRM-X console session",
        "operationId": "ConsoleLogout",
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "ActivationRequest": {
        "required": [
          "setOrganizationDefault",
          "note"
        ],
        "type": "object",
        "properties": {
          "setOrganizationDefault": {
            "type": "boolean"
          },
          "note": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "AddUserGroupMemberRequest": {
        "required": [
          "endUserId"
        ],
        "type": "object",
        "properties": {
          "endUserId": {
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "AdminLoginRequest": {
        "required": [
          "email",
          "password"
        ],
        "type": "object",
        "properties": {
          "email": {
            "type": "string"
          },
          "password": {
            "type": "string"
          }
        }
      },
      "AdminLoginResponse": {
        "required": [
          "user"
        ],
        "type": "object",
        "properties": {
          "user": {
            "$ref": "#/components/schemas/AdminUserResponse"
          }
        }
      },
      "AdminUserResponse": {
        "required": [
          "id",
          "email",
          "displayName",
          "role",
          "sessionExpiresAt",
          "userType",
          "organizationId",
          "organizationRole"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "email": {
            "type": "string"
          },
          "displayName": {
            "type": "string"
          },
          "role": {
            "type": "string"
          },
          "sessionExpiresAt": {
            "type": "string",
            "format": "date-time"
          },
          "userType": {
            "type": "string"
          },
          "organizationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "organizationRole": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "ApiClientResponse": {
        "required": [
          "id",
          "projectId",
          "environmentId",
          "name",
          "clientId",
          "scopes",
          "status",
          "lastUsedAt",
          "expiresAt",
          "createdAt"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "projectId": {
            "type": "string",
            "format": "uuid"
          },
          "environmentId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "name": {
            "type": "string"
          },
          "clientId": {
            "type": "string"
          },
          "scopes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "status": {
            "type": "string"
          },
          "lastUsedAt": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "expiresAt": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "BlacklistEntryResponse": {
        "required": [
          "id",
          "environmentId",
          "targetType",
          "targetDisplay",
          "reason",
          "status",
          "startsAt",
          "expiresAt",
          "createdAt"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "environmentId": {
            "type": "string",
            "format": "uuid"
          },
          "targetType": {
            "type": "string"
          },
          "targetDisplay": {
            "type": "string"
          },
          "reason": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "startsAt": {
            "type": "string",
            "format": "date-time"
          },
          "expiresAt": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "ChangeBlacklistStatusRequest": {
        "required": [
          "status"
        ],
        "type": "object",
        "properties": {
          "status": {
            "type": "string"
          }
        }
      },
      "ChangeContentProfileBindingRequest": {
        "required": [
          "bindingMode",
          "pinnedLicenseProfileVersionId",
          "changeReason"
        ],
        "type": "object",
        "properties": {
          "bindingMode": {
            "type": "string"
          },
          "pinnedLicenseProfileVersionId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "changeReason": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "ChangeLifecycleStateRequest": {
        "required": [
          "reason"
        ],
        "type": "object",
        "properties": {
          "reason": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "ChangeProcessingProfileStatusRequest": {
        "required": [
          "status"
        ],
        "type": "object",
        "properties": {
          "status": {
            "type": "string"
          }
        }
      },
      "ChangeStorageConnectionStatusRequest": {
        "required": [
          "status"
        ],
        "type": "object",
        "properties": {
          "status": {
            "type": "string"
          }
        }
      },
      "CompanyRegistrationRequest": {
        "required": [
          "companyName",
          "displayName",
          "workEmail",
          "password",
          "countryCode",
          "planCode",
          "agreementVersion",
          "acceptAgreement"
        ],
        "type": "object",
        "properties": {
          "companyName": {
            "type": "string"
          },
          "displayName": {
            "type": "string"
          },
          "workEmail": {
            "type": "string"
          },
          "password": {
            "type": "string"
          },
          "countryCode": {
            "type": "string"
          },
          "planCode": {
            "type": "string"
          },
          "agreementVersion": {
            "type": "string"
          },
          "acceptAgreement": {
            "type": "boolean"
          }
        }
      },
      "CompanyRegistrationResponse": {
        "required": [
          "registrationId",
          "organizationId",
          "organizationSlug",
          "status",
          "planCode",
          "trialEndsAt",
          "createdAt"
        ],
        "type": "object",
        "properties": {
          "registrationId": {
            "type": "string",
            "format": "uuid"
          },
          "organizationId": {
            "type": "string",
            "format": "uuid"
          },
          "organizationSlug": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "planCode": {
            "type": "string"
          },
          "trialEndsAt": {
            "type": "string",
            "format": "date-time"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "CompleteLocalPackagingOutputRequest": {
        "required": [
          "outputId",
          "relativeOutputPath",
          "manifestPaths"
        ],
        "type": "object",
        "properties": {
          "outputId": {
            "type": "string",
            "format": "uuid"
          },
          "relativeOutputPath": {
            "type": "string"
          },
          "manifestPaths": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        }
      },
      "CompleteLocalPackagingSessionRequest": {
        "required": [
          "packagerVersion",
          "shakaVersion",
          "operatingSystem",
          "manifestPath"
        ],
        "type": "object",
        "properties": {
          "packagerVersion": {
            "type": "string"
          },
          "shakaVersion": {
            "type": "string"
          },
          "operatingSystem": {
            "type": "string"
          },
          "manifestPath": {
            "type": "string"
          },
          "manifestPaths": {
            "type": [
              "null",
              "object"
            ],
            "additionalProperties": {
              "type": "string"
            }
          },
          "outputs": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/CompleteLocalPackagingOutputRequest"
            }
          }
        }
      },
      "ContentAssetResponse": {
        "required": [
          "id",
          "environmentId",
          "contentId",
          "title",
          "contentType",
          "status",
          "licenseProfileId",
          "metadata",
          "createdAt",
          "updatedAt"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "environmentId": {
            "type": "string",
            "format": "uuid"
          },
          "contentId": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "contentType": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "licenseProfileId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "metadata": {
            "$ref": "#/components/schemas/JsonElement"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "encodingProfileId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "packagingProfileId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        }
      },
      "ContentPackageOutputResponse": {
        "required": [
          "id",
          "packagingFormat",
          "encryptionScheme",
          "drmSystems",
          "trackTypes",
          "status",
          "encryptionKeySetId",
          "localPackagingSessionId",
          "manifestPath",
          "manifestPaths",
          "playbackManifestUrl",
          "playbackManifestUrls",
          "validationSummary",
          "createdAt",
          "updatedAt",
          "readyAt"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "packagingFormat": {
            "type": "string"
          },
          "encryptionScheme": {
            "type": "string"
          },
          "drmSystems": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "trackTypes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "status": {
            "type": "string"
          },
          "encryptionKeySetId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "localPackagingSessionId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "manifestPath": {
            "type": [
              "null",
              "string"
            ]
          },
          "manifestPaths": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "playbackManifestUrl": {
            "type": [
              "null",
              "string"
            ]
          },
          "playbackManifestUrls": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "validationSummary": {
            "$ref": "#/components/schemas/JsonElement"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "readyAt": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          }
        }
      },
      "ContentPackageReleaseResponse": {
        "required": [
          "id",
          "environmentId",
          "contentAssetId",
          "licenseProfileId",
          "licenseProfileVersionId",
          "licenseProfileVersion",
          "releaseNumber",
          "status",
          "multiKey",
          "trackTypes",
          "requestedConfiguration",
          "validationSummary",
          "changeReason",
          "isActive",
          "outputs",
          "createdAt",
          "updatedAt",
          "readyAt",
          "activatedAt",
          "retiredAt"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "environmentId": {
            "type": "string",
            "format": "uuid"
          },
          "contentAssetId": {
            "type": "string",
            "format": "uuid"
          },
          "licenseProfileId": {
            "type": "string",
            "format": "uuid"
          },
          "licenseProfileVersionId": {
            "type": "string",
            "format": "uuid"
          },
          "licenseProfileVersion": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "releaseNumber": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "status": {
            "type": "string"
          },
          "multiKey": {
            "type": "boolean"
          },
          "trackTypes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "requestedConfiguration": {
            "$ref": "#/components/schemas/JsonElement"
          },
          "validationSummary": {
            "$ref": "#/components/schemas/JsonElement"
          },
          "changeReason": {
            "type": [
              "null",
              "string"
            ]
          },
          "isActive": {
            "type": "boolean"
          },
          "outputs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContentPackageOutputResponse"
            }
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "readyAt": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "activatedAt": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "retiredAt": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "encodingProfileId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "encodingProfileVersionId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "encodingProfileVersion": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "packagingProfileId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "packagingProfileVersionId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "packagingProfileVersion": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "CreateApiClientRequest": {
        "required": [
          "name",
          "environmentId",
          "scopes",
          "expiresAt"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "environmentId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "scopes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "expiresAt": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          }
        }
      },
      "CreateBlacklistEntryRequest": {
        "required": [
          "targetType",
          "targetValue",
          "reason",
          "expiresAt"
        ],
        "type": "object",
        "properties": {
          "targetType": {
            "type": "string"
          },
          "targetValue": {
            "type": "string"
          },
          "reason": {
            "type": "string"
          },
          "expiresAt": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          }
        }
      },
      "CreateContentAssetRequest": {
        "required": [
          "contentId",
          "title",
          "contentType",
          "licenseProfileId",
          "metadata"
        ],
        "type": "object",
        "properties": {
          "contentId": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "contentType": {
            "type": "string"
          },
          "licenseProfileId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "metadata": {
            "$ref": "#/components/schemas/JsonElement"
          },
          "encodingProfileId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "packagingProfileId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        }
      },
      "CreateContentPackageReleaseRequest": {
        "required": [
          "licenseProfileVersionId",
          "changeReason"
        ],
        "type": "object",
        "properties": {
          "licenseProfileVersionId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "changeReason": {
            "type": [
              "null",
              "string"
            ]
          },
          "encodingProfileVersionId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "packagingProfileVersionId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        }
      },
      "CreateEncodingProfileRequest": {
        "required": [
          "name",
          "description",
          "inputMode",
          "videoCodec",
          "audioCodec",
          "audioBitrateKbps",
          "renditions"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "inputMode": {
            "type": "string"
          },
          "videoCodec": {
            "type": "string"
          },
          "audioCodec": {
            "type": "string"
          },
          "audioBitrateKbps": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "renditions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EncodingRenditionRequest"
            }
          },
          "publish": {
            "type": "boolean",
            "default": true
          },
          "encodingPreset": {
            "type": "string",
            "default": "balanced"
          },
          "allowUpscale": {
            "type": "boolean",
            "default": false
          }
        }
      },
      "CreateEndUserRequest": {
        "required": [
          "externalUserId",
          "email",
          "displayName",
          "metadata"
        ],
        "type": "object",
        "properties": {
          "externalUserId": {
            "type": "string"
          },
          "email": {
            "type": [
              "null",
              "string"
            ]
          },
          "displayName": {
            "type": [
              "null",
              "string"
            ]
          },
          "metadata": {
            "$ref": "#/components/schemas/JsonElement"
          }
        }
      },
      "CreateLicenseProfileRequest": {
        "required": [
          "name",
          "description",
          "rightsId",
          "drmSystems",
          "protectionConfiguration",
          "publish"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "rightsId": {
            "type": "string",
            "format": "uuid"
          },
          "drmSystems": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "protectionConfiguration": {
            "$ref": "#/components/schemas/JsonElement"
          },
          "publish": {
            "type": "boolean"
          }
        }
      },
      "CreateLocalPackagingSessionRequest": {
        "required": [
          "contentAssetId",
          "packagingFormat",
          "trackTypes"
        ],
        "type": "object",
        "properties": {
          "contentAssetId": {
            "type": "string",
            "format": "uuid"
          },
          "packagingFormat": {
            "type": "string"
          },
          "trackTypes": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          },
          "expiresInMinutes": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32",
            "default": 60
          },
          "packageReleaseId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        }
      },
      "CreatePackagingJobRequest": {
        "required": [
          "contentAssetId",
          "jobType",
          "idempotencyKey",
          "configuration"
        ],
        "type": "object",
        "properties": {
          "contentAssetId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "jobType": {
            "type": "string"
          },
          "idempotencyKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "configuration": {
            "$ref": "#/components/schemas/JsonElement"
          },
          "processingProfileId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "inputStorageConnectionId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "outputStorageConnectionId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "sourceObjectPath": {
            "type": [
              "null",
              "string"
            ]
          },
          "outputObjectPath": {
            "type": [
              "null",
              "string"
            ]
          },
          "estimatedOutputMinutes": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          }
        }
      },
      "CreatePackagingOutputRequest": {
        "required": [
          "outputType",
          "drmType",
          "encryptionScheme",
          "storageConnectionId",
          "objectPath",
          "byteLength",
          "checksumSha256"
        ],
        "type": "object",
        "properties": {
          "outputType": {
            "type": "string"
          },
          "drmType": {
            "type": [
              "null",
              "string"
            ]
          },
          "encryptionScheme": {
            "type": [
              "null",
              "string"
            ]
          },
          "storageConnectionId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "objectPath": {
            "type": "string"
          },
          "byteLength": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int64"
          },
          "checksumSha256": {
            "type": [
              "null",
              "string"
            ]
          },
          "idempotencyKey": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "CreatePackagingProfileRequest": {
        "required": [
          "name",
          "description",
          "compatibilityMode",
          "keyProtection"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "compatibilityMode": {
            "type": "string"
          },
          "keyProtection": {
            "type": "string"
          },
          "publish": {
            "type": "boolean",
            "default": true
          }
        }
      },
      "CreateProcessingProfileRequest": {
        "required": [
          "name",
          "description",
          "jobType",
          "inputStorageConnectionId",
          "outputStorageConnectionId",
          "configuration"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "jobType": {
            "type": "string"
          },
          "inputStorageConnectionId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "outputStorageConnectionId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "configuration": {
            "$ref": "#/components/schemas/JsonElement"
          }
        }
      },
      "CreateProjectRequest": {
        "required": [
          "code",
          "displayName",
          "description"
        ],
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "displayName": {
            "type": "string"
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "CreateProviderCredentialRequest": {
        "required": [
          "drmType",
          "displayName",
          "secretReference",
          "certificateFingerprint",
          "expiresAt"
        ],
        "type": "object",
        "properties": {
          "drmType": {
            "type": "string"
          },
          "displayName": {
            "type": "string"
          },
          "secretReference": {
            "type": "string"
          },
          "certificateFingerprint": {
            "type": [
              "null",
              "string"
            ]
          },
          "expiresAt": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          }
        }
      },
      "CreateRightsRequest": {
        "required": [
          "name",
          "description",
          "policy",
          "publish"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "policy": {
            "$ref": "#/components/schemas/JsonElement"
          },
          "publish": {
            "type": "boolean"
          }
        }
      },
      "CreateStorageConnectionRequest": {
        "required": [
          "name",
          "provider",
          "ioRole",
          "bucketName",
          "region",
          "endpointUrl",
          "credentialReference"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "provider": {
            "type": "string"
          },
          "ioRole": {
            "type": "string"
          },
          "bucketName": {
            "type": "string"
          },
          "region": {
            "type": [
              "null",
              "string"
            ]
          },
          "endpointUrl": {
            "type": [
              "null",
              "string"
            ]
          },
          "credentialReference": {
            "type": [
              "null",
              "string"
            ]
          },
          "basePath": {
            "type": [
              "null",
              "string"
            ]
          },
          "accessMode": {
            "type": [
              "null",
              "string"
            ]
          },
          "roleArn": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "CreateUserGroupRequest": {
        "required": [
          "name",
          "description",
          "defaultLicenseProfileId"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "defaultLicenseProfileId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        }
      },
      "CreateWebhookRequest": {
        "required": [
          "name",
          "endpointUrl",
          "eventTypes",
          "signingSecretReference"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "endpointUrl": {
            "type": "string"
          },
          "eventTypes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "signingSecretReference": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "DashboardResponse": {
        "required": [
          "environmentId",
          "from",
          "to",
          "totalLicenses",
          "successfulLicenses",
          "failedLicenses",
          "activeSessions",
          "activeBlacklistEntries",
          "queuedPackagingJobs",
          "failedPackagingJobs",
          "byDrm"
        ],
        "type": "object",
        "properties": {
          "environmentId": {
            "type": "string",
            "format": "uuid"
          },
          "from": {
            "type": "string",
            "format": "date-time"
          },
          "to": {
            "type": "string",
            "format": "date-time"
          },
          "totalLicenses": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int64"
          },
          "successfulLicenses": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int64"
          },
          "failedLicenses": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int64"
          },
          "activeSessions": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int64"
          },
          "activeBlacklistEntries": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int64"
          },
          "queuedPackagingJobs": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int64"
          },
          "failedPackagingJobs": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int64"
          },
          "byDrm": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DrmUsageMetric"
            }
          }
        }
      },
      "DeviceResponse": {
        "required": [
          "id",
          "projectId",
          "endUserId",
          "drmType",
          "deviceFingerprint",
          "displayName",
          "platform",
          "status",
          "firstSeenAt",
          "lastSeenAt"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "projectId": {
            "type": "string",
            "format": "uuid"
          },
          "endUserId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "drmType": {
            "type": "string"
          },
          "deviceFingerprint": {
            "type": "string"
          },
          "displayName": {
            "type": [
              "null",
              "string"
            ]
          },
          "platform": {
            "type": [
              "null",
              "string"
            ]
          },
          "status": {
            "type": "string"
          },
          "firstSeenAt": {
            "type": "string",
            "format": "date-time"
          },
          "lastSeenAt": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "DrmCapability": {
        "required": [
          "code",
          "name",
          "coverage",
          "protection",
          "readiness"
        ],
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "coverage": {
            "type": "string"
          },
          "protection": {
            "type": "string"
          },
          "readiness": {
            "type": "string"
          }
        }
      },
      "DrmUsageMetric": {
        "required": [
          "drmType",
          "success",
          "failure",
          "billable"
        ],
        "type": "object",
        "properties": {
          "drmType": {
            "type": "string"
          },
          "success": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int64"
          },
          "failure": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int64"
          },
          "billable": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int64"
          }
        }
      },
      "EncodingProfileResponse": {
        "required": [
          "id",
          "projectId",
          "name",
          "description",
          "status",
          "version",
          "versionId",
          "inputMode",
          "videoCodec",
          "audioCodec",
          "audioBitrateKbps",
          "renditions",
          "createdAt",
          "publishedAt",
          "isActive"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "projectId": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "status": {
            "type": "string"
          },
          "version": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "versionId": {
            "type": "string",
            "format": "uuid"
          },
          "inputMode": {
            "type": "string"
          },
          "videoCodec": {
            "type": "string"
          },
          "audioCodec": {
            "type": "string"
          },
          "audioBitrateKbps": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "renditions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EncodingRenditionResponse"
            }
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "publishedAt": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "isActive": {
            "type": "boolean"
          },
          "encodingPreset": {
            "type": "string",
            "default": "balanced"
          },
          "allowUpscale": {
            "type": "boolean",
            "default": false
          }
        }
      },
      "EncodingRenditionRequest": {
        "required": [
          "id",
          "label",
          "qualityTier",
          "trackType",
          "width",
          "height",
          "videoBitrateKbps",
          "maxVideoBitrateKbps",
          "maxFrameRate"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "qualityTier": {
            "type": "string"
          },
          "trackType": {
            "type": "string"
          },
          "width": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "height": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "videoBitrateKbps": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "maxVideoBitrateKbps": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "maxFrameRate": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "EncodingRenditionResponse": {
        "required": [
          "id",
          "label",
          "qualityTier",
          "trackType",
          "width",
          "height",
          "videoBitrateKbps",
          "maxVideoBitrateKbps",
          "maxFrameRate"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "qualityTier": {
            "type": "string"
          },
          "trackType": {
            "type": "string"
          },
          "width": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "height": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "videoBitrateKbps": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "maxVideoBitrateKbps": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "maxFrameRate": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "EncryptionKeyMetadataResponse": {
        "required": [
          "keyId",
          "trackType",
          "status",
          "rotationSequence",
          "activatedAt"
        ],
        "type": "object",
        "properties": {
          "keyId": {
            "type": "string"
          },
          "trackType": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "rotationSequence": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "activatedAt": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "EncryptionKeySetResponse": {
        "required": [
          "id",
          "environmentId",
          "contentAssetId",
          "licenseProfileId",
          "externalKeySetId",
          "displayName",
          "encryptionScheme",
          "status",
          "keyPolicy",
          "lastCpixAt",
          "createdAt",
          "keys"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "environmentId": {
            "type": "string",
            "format": "uuid"
          },
          "contentAssetId": {
            "type": "string",
            "format": "uuid"
          },
          "licenseProfileId": {
            "type": "string",
            "format": "uuid"
          },
          "externalKeySetId": {
            "type": "string"
          },
          "displayName": {
            "type": "string"
          },
          "encryptionScheme": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "keyPolicy": {
            "$ref": "#/components/schemas/JsonElement"
          },
          "lastCpixAt": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "keys": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EncryptionKeyMetadataResponse"
            }
          }
        }
      },
      "EndUserResponse": {
        "required": [
          "id",
          "projectId",
          "externalUserId",
          "email",
          "displayName",
          "status",
          "metadata",
          "createdAt",
          "updatedAt"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "projectId": {
            "type": "string",
            "format": "uuid"
          },
          "externalUserId": {
            "type": "string"
          },
          "email": {
            "type": [
              "null",
              "string"
            ]
          },
          "displayName": {
            "type": [
              "null",
              "string"
            ]
          },
          "status": {
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/JsonElement"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "EnvironmentResponse": {
        "required": [
          "id",
          "organizationId",
          "projectId",
          "code",
          "displayName",
          "environmentType",
          "region",
          "status",
          "createdAt"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "organizationId": {
            "type": "string",
            "format": "uuid"
          },
          "projectId": {
            "type": "string",
            "format": "uuid"
          },
          "code": {
            "type": "string"
          },
          "displayName": {
            "type": "string"
          },
          "environmentType": {
            "type": "string"
          },
          "region": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "FailLocalPackagingSessionRequest": {
        "required": [
          "packagerVersion",
          "shakaVersion",
          "operatingSystem",
          "errorCode",
          "errorMessage"
        ],
        "type": "object",
        "properties": {
          "packagerVersion": {
            "type": [
              "null",
              "string"
            ]
          },
          "shakaVersion": {
            "type": [
              "null",
              "string"
            ]
          },
          "operatingSystem": {
            "type": [
              "null",
              "string"
            ]
          },
          "errorCode": {
            "type": "string"
          },
          "errorMessage": {
            "type": "string"
          }
        }
      },
      "GenerateCpixRequest": {
        "required": [
          "contentAssetId",
          "licenseProfileId",
          "encryptionKeySetId",
          "encryptionScheme",
          "trackTypes",
          "drmSystems"
        ],
        "type": "object",
        "properties": {
          "contentAssetId": {
            "type": "string",
            "format": "uuid"
          },
          "licenseProfileId": {
            "type": "string",
            "format": "uuid"
          },
          "encryptionKeySetId": {
            "type": "string"
          },
          "encryptionScheme": {
            "type": "string"
          },
          "trackTypes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "drmSystems": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "GenerateDrmLicenseTokenRequest": {
        "required": [
          "contentAssetId",
          "drmSystem",
          "subject",
          "sessionId",
          "encryptionKeySetId"
        ],
        "type": "object",
        "properties": {
          "contentAssetId": {
            "type": "string",
            "format": "uuid"
          },
          "drmSystem": {
            "type": "string"
          },
          "subject": {
            "type": "string"
          },
          "sessionId": {
            "type": [
              "null",
              "string"
            ]
          },
          "encryptionKeySetId": {
            "type": [
              "null",
              "string"
            ]
          },
          "expiresInSeconds": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32",
            "default": 3600
          },
          "maximumQualityTier": {
            "type": "string",
            "default": "auto"
          }
        }
      },
      "GenerateDrmLicenseTokenResponse": {
        "required": [
          "token",
          "tokenType",
          "keyId",
          "fingerprintSha256",
          "issuedAt",
          "expiresAt",
          "claims"
        ],
        "type": "object",
        "properties": {
          "token": {
            "type": "string"
          },
          "tokenType": {
            "type": "string"
          },
          "keyId": {
            "type": "string"
          },
          "fingerprintSha256": {
            "type": "string"
          },
          "issuedAt": {
            "type": "string",
            "format": "date-time"
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time"
          },
          "claims": {
            "type": "object"
          }
        }
      },
      "GenerateLicensePolicyRequest": {
        "required": [
          "name",
          "description",
          "playbackMode",
          "licenseDurationSeconds",
          "playbackDurationSeconds",
          "rentalDurationSeconds",
          "renewalIntervalSeconds",
          "maxConcurrentStreams",
          "allowOffline",
          "allowedTrackTypes",
          "minimumSecurityLevel",
          "hdcpForHd",
          "hdcpForUhd",
          "drmSystems",
          "encryptionScheme",
          "multiKey",
          "publish"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "playbackMode": {
            "type": "string"
          },
          "licenseDurationSeconds": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "playbackDurationSeconds": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "rentalDurationSeconds": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "renewalIntervalSeconds": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "maxConcurrentStreams": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "allowOffline": {
            "type": "boolean"
          },
          "allowedTrackTypes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "minimumSecurityLevel": {
            "type": "string"
          },
          "hdcpForHd": {
            "type": "string"
          },
          "hdcpForUhd": {
            "type": "string"
          },
          "drmSystems": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "encryptionScheme": {
            "type": "string"
          },
          "multiKey": {
            "type": "boolean"
          },
          "publish": {
            "type": "boolean"
          },
          "encryptionProfile": {
            "type": [
              "null",
              "string"
            ]
          },
          "keyProtection": {
            "type": [
              "null",
              "string"
            ]
          },
          "qualityPolicy": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/LicenseQualityPolicyRequest"
              }
            ]
          }
        }
      },
      "HealthResponse": {
        "required": [
          "status",
          "service",
          "version",
          "database",
          "checkedAt"
        ],
        "type": "object",
        "properties": {
          "status": {
            "type": "string"
          },
          "service": {
            "type": "string"
          },
          "version": {
            "type": "string"
          },
          "database": {
            "type": [
              "null",
              "string"
            ]
          },
          "checkedAt": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "HttpValidationProblemDetails": {
        "type": "object",
        "properties": {
          "type": {
            "type": [
              "null",
              "string"
            ]
          },
          "title": {
            "type": [
              "null",
              "string"
            ]
          },
          "status": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "detail": {
            "type": [
              "null",
              "string"
            ]
          },
          "instance": {
            "type": [
              "null",
              "string"
            ]
          },
          "errors": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        }
      },
      "JsonElement": { },
      "LicenseEventResponse": {
        "required": [
          "id",
          "environmentId",
          "contentAssetId",
          "endUserId",
          "deviceId",
          "drmType",
          "eventType",
          "outcome",
          "errorCode",
          "latencyMs",
          "billable",
          "traceId",
          "occurredAt"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "environmentId": {
            "type": "string",
            "format": "uuid"
          },
          "contentAssetId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "endUserId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "deviceId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "drmType": {
            "type": "string"
          },
          "eventType": {
            "type": "string"
          },
          "outcome": {
            "type": "string"
          },
          "errorCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "latencyMs": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "billable": {
            "type": "boolean"
          },
          "traceId": {
            "type": [
              "null",
              "string"
            ]
          },
          "occurredAt": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "LicenseProfileResponse": {
        "required": [
          "id",
          "projectId",
          "name",
          "description",
          "status",
          "version",
          "versionId",
          "rightsId",
          "rightsVersionId",
          "drmSystems",
          "protectionConfiguration",
          "createdAt",
          "publishedAt"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "projectId": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "status": {
            "type": "string"
          },
          "version": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "versionId": {
            "type": "string",
            "format": "uuid"
          },
          "rightsId": {
            "type": "string",
            "format": "uuid"
          },
          "rightsVersionId": {
            "type": "string",
            "format": "uuid"
          },
          "drmSystems": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "protectionConfiguration": {
            "$ref": "#/components/schemas/JsonElement"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "publishedAt": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "isActive": {
            "type": "boolean",
            "default": true
          },
          "activationState": {
            "type": "string",
            "default": "active"
          }
        }
      },
      "LicenseQualityPolicyRequest": {
        "required": [
          "sd",
          "hd",
          "uhd"
        ],
        "type": "object",
        "properties": {
          "sd": {
            "$ref": "#/components/schemas/LicenseQualityTierPolicyRequest"
          },
          "hd": {
            "$ref": "#/components/schemas/LicenseQualityTierPolicyRequest"
          },
          "uhd": {
            "$ref": "#/components/schemas/LicenseQualityTierPolicyRequest"
          },
          "fullHd": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/LicenseQualityTierPolicyRequest"
              }
            ]
          }
        }
      },
      "LicenseQualityTierPolicyRequest": {
        "required": [
          "enabled",
          "minimumSecurityLevel",
          "hdcp"
        ],
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "minimumSecurityLevel": {
            "type": "string"
          },
          "hdcp": {
            "type": "string"
          }
        }
      },
      "LifecycleEventResponse": {
        "required": [
          "id",
          "aggregateType",
          "aggregateId",
          "action",
          "outcome",
          "actor",
          "reason",
          "metadata",
          "occurredAt"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "aggregateType": {
            "type": "string"
          },
          "aggregateId": {
            "type": "string",
            "format": "uuid"
          },
          "action": {
            "type": "string"
          },
          "outcome": {
            "type": "string"
          },
          "actor": {
            "type": [
              "null",
              "string"
            ]
          },
          "reason": {
            "type": [
              "null",
              "string"
            ]
          },
          "metadata": {
            "$ref": "#/components/schemas/JsonElement"
          },
          "occurredAt": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "LocalEncodingConfigurationResponse": {
        "required": [
          "inputMode",
          "videoCodec",
          "audioCodec",
          "audioBitrateKbps",
          "encodingPreset",
          "allowUpscale",
          "renditions"
        ],
        "type": "object",
        "properties": {
          "inputMode": {
            "type": "string"
          },
          "videoCodec": {
            "type": "string"
          },
          "audioCodec": {
            "type": "string"
          },
          "audioBitrateKbps": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "encodingPreset": {
            "type": "string"
          },
          "allowUpscale": {
            "type": "boolean"
          },
          "renditions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LocalEncodingRenditionResponse"
            }
          }
        }
      },
      "LocalEncodingRenditionResponse": {
        "required": [
          "tier",
          "label",
          "width",
          "height",
          "trackType",
          "targetBitrateKbps",
          "maxBitrateKbps",
          "maxFrameRate"
        ],
        "type": "object",
        "properties": {
          "tier": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "width": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "height": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "trackType": {
            "type": "string"
          },
          "targetBitrateKbps": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "maxBitrateKbps": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "maxFrameRate": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "LocalPackagingCapabilitiesResponse": {
        "required": [
          "widevineProfileRegistrationEnabled"
        ],
        "type": "object",
        "properties": {
          "widevineProfileRegistrationEnabled": {
            "type": "boolean"
          }
        }
      },
      "LocalPackagingKeyResponse": {
        "required": [
          "keyId",
          "trackType"
        ],
        "type": "object",
        "properties": {
          "keyId": {
            "type": "string"
          },
          "trackType": {
            "type": "string"
          }
        }
      },
      "LocalPackagingOutputResponse": {
        "required": [
          "outputId",
          "encryptionKeySetId",
          "externalKeySetId",
          "packagingFormat",
          "encryptionScheme",
          "drmSystems",
          "trackTypes",
          "keyTrackTypes",
          "relativeOutputPath",
          "keys"
        ],
        "type": "object",
        "properties": {
          "outputId": {
            "type": "string",
            "format": "uuid"
          },
          "encryptionKeySetId": {
            "type": "string",
            "format": "uuid"
          },
          "externalKeySetId": {
            "type": "string"
          },
          "packagingFormat": {
            "type": "string"
          },
          "encryptionScheme": {
            "type": "string"
          },
          "drmSystems": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "trackTypes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "keyTrackTypes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "relativeOutputPath": {
            "type": "string"
          },
          "keys": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LocalPackagingKeyResponse"
            }
          }
        }
      },
      "LocalPackagingSessionResponse": {
        "required": [
          "id",
          "environmentId",
          "packagingJobId",
          "contentAssetId",
          "contentId",
          "contentTitle",
          "licenseProfileId",
          "packageReleaseId",
          "packageOutputId",
          "encryptionKeySetId",
          "externalKeySetId",
          "packagingFormat",
          "encryptionScheme",
          "drmSystems",
          "trackTypes",
          "keys",
          "status",
          "tokenExpiresAt",
          "cpixExchangedAt",
          "clientPackagerVersion",
          "clientShakaVersion",
          "clientOperatingSystem",
          "manifestPath",
          "manifestPaths",
          "playbackManifestUrl",
          "playbackManifestUrls",
          "errorCode",
          "errorMessage",
          "createdAt",
          "updatedAt",
          "completedAt"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "environmentId": {
            "type": "string",
            "format": "uuid"
          },
          "packagingJobId": {
            "type": "string",
            "format": "uuid"
          },
          "contentAssetId": {
            "type": "string",
            "format": "uuid"
          },
          "contentId": {
            "type": "string"
          },
          "contentTitle": {
            "type": "string"
          },
          "licenseProfileId": {
            "type": "string",
            "format": "uuid"
          },
          "packageReleaseId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "packageOutputId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "encryptionKeySetId": {
            "type": "string",
            "format": "uuid"
          },
          "externalKeySetId": {
            "type": "string"
          },
          "packagingFormat": {
            "type": "string"
          },
          "encryptionScheme": {
            "type": "string"
          },
          "drmSystems": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "trackTypes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "keys": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LocalPackagingKeyResponse"
            }
          },
          "status": {
            "type": "string"
          },
          "tokenExpiresAt": {
            "type": "string",
            "format": "date-time"
          },
          "cpixExchangedAt": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "clientPackagerVersion": {
            "type": [
              "null",
              "string"
            ]
          },
          "clientShakaVersion": {
            "type": [
              "null",
              "string"
            ]
          },
          "clientOperatingSystem": {
            "type": [
              "null",
              "string"
            ]
          },
          "manifestPath": {
            "type": [
              "null",
              "string"
            ]
          },
          "manifestPaths": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "playbackManifestUrl": {
            "type": [
              "null",
              "string"
            ]
          },
          "playbackManifestUrls": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "errorCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "errorMessage": {
            "type": [
              "null",
              "string"
            ]
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "completedAt": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "encodingConfiguration": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/LocalEncodingConfigurationResponse"
              }
            ]
          },
          "packageOutputs": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/LocalPackagingOutputResponse"
            }
          }
        }
      },
      "OrganizationSummaryResponse": {
        "required": [
          "id",
          "legalName",
          "slug",
          "countryCode",
          "status",
          "planCode",
          "trialEndsAt",
          "createdAt"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "legalName": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "countryCode": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "planCode": {
            "type": "string"
          },
          "trialEndsAt": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "PackagingJobResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "environmentId": {
            "type": "string",
            "format": "uuid"
          },
          "contentAssetId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "jobType": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "progressPercent": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "idempotencyKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "configuration": {
            "$ref": "#/components/schemas/JsonElement"
          },
          "errorCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "errorMessage": {
            "type": [
              "null",
              "string"
            ]
          },
          "queuedAt": {
            "type": "string",
            "format": "date-time"
          },
          "startedAt": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "completedAt": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "processingProfileId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "inputStorageConnectionId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "outputStorageConnectionId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "sourceObjectPath": {
            "type": [
              "null",
              "string"
            ]
          },
          "outputObjectPath": {
            "type": [
              "null",
              "string"
            ]
          },
          "attemptCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "estimatedOutputMinutes": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "actualOutputMinutes": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          }
        }
      },
      "PackagingKeyAssignmentResponse": {
        "required": [
          "keyTrackType",
          "mediaTrackTypes",
          "qualityClass"
        ],
        "type": "object",
        "properties": {
          "keyTrackType": {
            "type": "string"
          },
          "mediaTrackTypes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "qualityClass": {
            "type": "string"
          }
        }
      },
      "PackagingOutputTemplateResponse": {
        "required": [
          "id",
          "packagingFormat",
          "encryptionScheme",
          "manifestTypes",
          "purpose"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "packagingFormat": {
            "type": "string"
          },
          "encryptionScheme": {
            "type": "string"
          },
          "manifestTypes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "purpose": {
            "type": "string"
          }
        }
      },
      "PackagingProfileResponse": {
        "required": [
          "id",
          "projectId",
          "name",
          "description",
          "status",
          "version",
          "versionId",
          "compatibilityMode",
          "keyProtection",
          "multiKey",
          "trackTypes",
          "outputs",
          "configuration",
          "createdAt",
          "publishedAt",
          "isActive"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "projectId": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "status": {
            "type": "string"
          },
          "version": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "versionId": {
            "type": "string",
            "format": "uuid"
          },
          "compatibilityMode": {
            "type": "string"
          },
          "keyProtection": {
            "type": "string"
          },
          "multiKey": {
            "type": "boolean"
          },
          "trackTypes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "outputs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PackagingOutputTemplateResponse"
            }
          },
          "configuration": {
            "$ref": "#/components/schemas/JsonElement"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "publishedAt": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "isActive": {
            "type": "boolean"
          },
          "keyAssignments": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/PackagingKeyAssignmentResponse"
            }
          }
        }
      },
      "PagedResponseOfContentAssetResponse": {
        "required": [
          "items",
          "count",
          "limit",
          "offset"
        ],
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContentAssetResponse"
            }
          },
          "count": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "limit": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "offset": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "PagedResponseOfDeviceResponse": {
        "required": [
          "items",
          "count",
          "limit",
          "offset"
        ],
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DeviceResponse"
            }
          },
          "count": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "limit": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "offset": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "PagedResponseOfEndUserResponse": {
        "required": [
          "items",
          "count",
          "limit",
          "offset"
        ],
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EndUserResponse"
            }
          },
          "count": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "limit": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "offset": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "PagedResponseOfOrganizationSummaryResponse": {
        "required": [
          "items",
          "count",
          "limit",
          "offset"
        ],
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrganizationSummaryResponse"
            }
          },
          "count": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "limit": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "offset": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "PagedResponseOfPackagingJobResponse": {
        "required": [
          "items",
          "count",
          "limit",
          "offset"
        ],
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PackagingJobResponse"
            }
          },
          "count": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "limit": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "offset": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "PlanCatalogResponse": {
        "required": [
          "trial",
          "plans"
        ],
        "type": "object",
        "properties": {
          "trial": {
            "$ref": "#/components/schemas/TrialDefinition"
          },
          "plans": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PlanDefinition"
            }
          }
        }
      },
      "PlanDefinition": {
        "required": [
          "code",
          "name",
          "monthlyPriceUsd",
          "includedLicenseDeliveries",
          "maxTransactionsPerSecond",
          "includedProjects",
          "support",
          "contactSales"
        ],
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "monthlyPriceUsd": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "includedLicenseDeliveries": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "maxTransactionsPerSecond": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "includedProjects": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "support": {
            "type": "string"
          },
          "contactSales": {
            "type": "boolean"
          }
        }
      },
      "PlatformCapabilitiesResponse": {
        "required": [
          "product",
          "apiVersion",
          "drmSystems",
          "workflows",
          "storageOptions"
        ],
        "type": "object",
        "properties": {
          "product": {
            "type": "string"
          },
          "apiVersion": {
            "type": "string"
          },
          "drmSystems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DrmCapability"
            }
          },
          "workflows": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "storageOptions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "ProblemDetails": {
        "type": "object",
        "properties": {
          "type": {
            "type": [
              "null",
              "string"
            ]
          },
          "title": {
            "type": [
              "null",
              "string"
            ]
          },
          "status": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "detail": {
            "type": [
              "null",
              "string"
            ]
          },
          "instance": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "ProcessingProfileResponse": {
        "required": [
          "id",
          "environmentId",
          "name",
          "description",
          "jobType",
          "inputStorageConnectionId",
          "outputStorageConnectionId",
          "configuration",
          "status",
          "createdAt",
          "updatedAt"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "environmentId": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "jobType": {
            "type": "string"
          },
          "inputStorageConnectionId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "outputStorageConnectionId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "configuration": {
            "$ref": "#/components/schemas/JsonElement"
          },
          "status": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "ProjectResponse": {
        "required": [
          "id",
          "organizationId",
          "code",
          "displayName",
          "description",
          "status",
          "createdAt"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "organizationId": {
            "type": "string",
            "format": "uuid"
          },
          "code": {
            "type": "string"
          },
          "displayName": {
            "type": "string"
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "status": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "ProviderCredentialResponse": {
        "required": [
          "id",
          "environmentId",
          "drmType",
          "displayName",
          "secretReferenceStored",
          "certificateFingerprint",
          "status",
          "expiresAt",
          "lastVerifiedAt",
          "createdAt"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "environmentId": {
            "type": "string",
            "format": "uuid"
          },
          "drmType": {
            "type": "string"
          },
          "displayName": {
            "type": "string"
          },
          "secretReferenceStored": {
            "type": "boolean"
          },
          "certificateFingerprint": {
            "type": [
              "null",
              "string"
            ]
          },
          "status": {
            "type": "string"
          },
          "expiresAt": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "lastVerifiedAt": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "ProviderProfileRegistrationResponse": {
        "required": [
          "id",
          "licenseProfileId",
          "licenseProfileVersionId",
          "drmSystem",
          "status",
          "attemptCount",
          "lastRequestId",
          "lastErrorCode",
          "lastAttemptAt",
          "readyAt",
          "createdAt",
          "updatedAt"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "licenseProfileId": {
            "type": "string",
            "format": "uuid"
          },
          "licenseProfileVersionId": {
            "type": "string",
            "format": "uuid"
          },
          "drmSystem": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "attemptCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "lastRequestId": {
            "type": [
              "null",
              "string"
            ]
          },
          "lastErrorCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "lastAttemptAt": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "readyAt": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "ProvisionEncryptionKeySetRequest": {
        "required": [
          "contentAssetId",
          "licenseProfileId",
          "externalKeySetId",
          "displayName",
          "encryptionScheme",
          "trackTypes"
        ],
        "type": "object",
        "properties": {
          "contentAssetId": {
            "type": "string",
            "format": "uuid"
          },
          "licenseProfileId": {
            "type": "string",
            "format": "uuid"
          },
          "externalKeySetId": {
            "type": "string"
          },
          "displayName": {
            "type": "string"
          },
          "encryptionScheme": {
            "type": "string"
          },
          "trackTypes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "keyValueGroups": {
            "type": [
              "null",
              "object"
            ],
            "additionalProperties": {
              "type": "string"
            }
          }
        }
      },
      "RecordLicenseEventRequest": {
        "required": [
          "eventId",
          "contentAssetId",
          "endUserId",
          "deviceId",
          "licenseSessionId",
          "drmType",
          "eventType",
          "outcome",
          "errorCode",
          "latencyMs",
          "billable",
          "traceId",
          "occurredAt",
          "metadata"
        ],
        "type": "object",
        "properties": {
          "eventId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "contentAssetId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "endUserId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "deviceId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "licenseSessionId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "drmType": {
            "type": "string"
          },
          "eventType": {
            "type": "string"
          },
          "outcome": {
            "type": "string"
          },
          "errorCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "latencyMs": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "billable": {
            "type": "boolean"
          },
          "traceId": {
            "type": [
              "null",
              "string"
            ]
          },
          "occurredAt": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "metadata": {
            "$ref": "#/components/schemas/JsonElement"
          }
        }
      },
      "RegisterDeviceRequest": {
        "required": [
          "endUserId",
          "drmType",
          "deviceIdentifier",
          "displayName",
          "platform"
        ],
        "type": "object",
        "properties": {
          "endUserId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "drmType": {
            "type": "string"
          },
          "deviceIdentifier": {
            "type": "string"
          },
          "displayName": {
            "type": [
              "null",
              "string"
            ]
          },
          "platform": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "ReviewFairPlayCredentialRequest": {
        "required": [
          "decision",
          "reviewNotes"
        ],
        "type": "object",
        "properties": {
          "decision": {
            "type": "string"
          },
          "reviewNotes": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "ReviewRequest": {
        "required": [
          "note"
        ],
        "type": "object",
        "properties": {
          "note": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "RightsResponse": {
        "required": [
          "id",
          "projectId",
          "name",
          "description",
          "status",
          "version",
          "versionId",
          "policy",
          "createdAt",
          "publishedAt"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "projectId": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "status": {
            "type": "string"
          },
          "version": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "versionId": {
            "type": "string",
            "format": "uuid"
          },
          "policy": {
            "$ref": "#/components/schemas/JsonElement"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "publishedAt": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "isActive": {
            "type": "boolean",
            "default": true
          },
          "activationState": {
            "type": "string",
            "default": "active"
          }
        }
      },
      "StorageConnectionResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "environmentId": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          },
          "provider": {
            "type": "string"
          },
          "ioRole": {
            "type": "string"
          },
          "bucketName": {
            "type": "string"
          },
          "region": {
            "type": [
              "null",
              "string"
            ]
          },
          "endpointUrl": {
            "type": [
              "null",
              "string"
            ]
          },
          "credentialReferenceStored": {
            "type": "boolean"
          },
          "basePath": {
            "type": [
              "null",
              "string"
            ]
          },
          "accessMode": {
            "type": "string"
          },
          "roleArn": {
            "type": [
              "null",
              "string"
            ]
          },
          "status": {
            "type": "string"
          },
          "validationMessage": {
            "type": [
              "null",
              "string"
            ]
          },
          "lastVerifiedAt": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "TrialDefinition": {
        "required": [
          "days",
          "includedLicenseDeliveries",
          "maxTransactionsPerSecond"
        ],
        "type": "object",
        "properties": {
          "days": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "includedLicenseDeliveries": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "maxTransactionsPerSecond": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "UpdateLocalPackagingOutputPlaybackUrlsRequest": {
        "required": [
          "outputId",
          "playbackManifestUrl"
        ],
        "type": "object",
        "properties": {
          "outputId": {
            "type": "string",
            "format": "uuid"
          },
          "playbackManifestUrl": {
            "type": [
              "null",
              "string"
            ]
          },
          "playbackManifestUrls": {
            "type": [
              "null",
              "object"
            ],
            "additionalProperties": {
              "type": "string"
            }
          }
        }
      },
      "UpdateLocalPackagingPlaybackUrlRequest": {
        "required": [
          "playbackManifestUrl"
        ],
        "type": "object",
        "properties": {
          "playbackManifestUrl": {
            "type": [
              "null",
              "string"
            ]
          },
          "playbackManifestUrls": {
            "type": [
              "null",
              "object"
            ],
            "additionalProperties": {
              "type": "string"
            }
          },
          "outputs": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/UpdateLocalPackagingOutputPlaybackUrlsRequest"
            }
          }
        }
      },
      "UpdatePackagingJobProgressRequest": {
        "required": [
          "status",
          "progressPercent",
          "currentStep",
          "stepProgressPercent",
          "diagnosticSummary",
          "errorCode",
          "errorMessage",
          "actualOutputMinutes"
        ],
        "type": "object",
        "properties": {
          "status": {
            "type": "string"
          },
          "progressPercent": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "currentStep": {
            "type": [
              "null",
              "string"
            ]
          },
          "stepProgressPercent": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "diagnosticSummary": {
            "type": [
              "null",
              "string"
            ]
          },
          "errorCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "errorMessage": {
            "type": [
              "null",
              "string"
            ]
          },
          "actualOutputMinutes": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          }
        }
      },
      "UpdateProcessingProfileRequest": {
        "required": [
          "name",
          "description",
          "jobType",
          "inputStorageConnectionId",
          "outputStorageConnectionId",
          "configuration"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "jobType": {
            "type": "string"
          },
          "inputStorageConnectionId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "outputStorageConnectionId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "configuration": {
            "$ref": "#/components/schemas/JsonElement"
          }
        }
      },
      "UpdateStorageConnectionRequest": {
        "required": [
          "name",
          "ioRole",
          "bucketName",
          "region",
          "endpointUrl",
          "credentialReference",
          "basePath",
          "accessMode",
          "roleArn"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "ioRole": {
            "type": "string"
          },
          "bucketName": {
            "type": "string"
          },
          "region": {
            "type": [
              "null",
              "string"
            ]
          },
          "endpointUrl": {
            "type": [
              "null",
              "string"
            ]
          },
          "credentialReference": {
            "type": [
              "null",
              "string"
            ]
          },
          "basePath": {
            "type": [
              "null",
              "string"
            ]
          },
          "accessMode": {
            "type": [
              "null",
              "string"
            ]
          },
          "roleArn": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "UserGroupResponse": {
        "required": [
          "id",
          "projectId",
          "name",
          "description",
          "status",
          "defaultLicenseProfileId",
          "memberCount",
          "createdAt"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "projectId": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "status": {
            "type": "string"
          },
          "defaultLicenseProfileId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "memberCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "ValidateDrmLicenseTokenRequest": {
        "required": [
          "token"
        ],
        "type": "object",
        "properties": {
          "token": {
            "type": "string"
          }
        }
      },
      "WebhookResponse": {
        "required": [
          "id",
          "environmentId",
          "name",
          "endpointUrl",
          "eventTypes",
          "signingSecretReference",
          "status",
          "createdAt"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "environmentId": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          },
          "endpointUrl": {
            "type": "string"
          },
          "eventTypes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "signingSecretReference": {
            "type": [
              "null",
              "string"
            ]
          },
          "status": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        }
      }
    }
  },
  "tags": [
    {
      "name": "FairPlayCredentialAdminEndpoints"
    },
    {
      "name": "PlatformAdminEndpoints"
    },
    {
      "name": "DRM-X Control Plane"
    },
    {
      "name": "DRM-X Management"
    },
    {
      "name": "DRM-X Encoding and Packaging Profiles"
    },
    {
      "name": "DRM-X Playback Authorization"
    },
    {
      "name": "DRM-X Local Packaging"
    },
    {
      "name": "DRM-X CLI Packager"
    },
    {
      "name": "DRM-X Policy and Package Lifecycle"
    },
    {
      "name": "DRM-X Console Authentication"
    }
  ]
}