{
  "openapi": "3.1.1",
  "info": {
    "title": "DrmX.Platform.Api | v1",
    "version": "1.0.0"
  },
  "servers": [
    {
      "url": "https://6.drm-x.com/"
    }
  ],
  "paths": {
    "/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/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": {
      "get": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "List customer-owned Apple FairPlay credential submissions",
        "operationId": "ListFairPlayCredentialSubmissions",
        "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/FairPlayCredentialSubmissionResponse"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "Submit a customer-owned Apple FairPlay credential bundle for approval",
        "operationId": "SubmitFairPlayCredential",
        "parameters": [
          {
            "name": "environmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubmitFairPlayCredentialRequest"
              }
            }
          },
          "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/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}/playback-grants": {
      "post": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "Generate a short-lived signed DRM-X License Token for the unified gateway",
        "operationId": "GeneratePlaybackGrant",
        "parameters": [
          {
            "name": "environmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GeneratePlaybackGrantRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/management/environments/{environmentId}/playback-grants/validate": {
      "post": {
        "tags": [
          "DRM-X Management"
        ],
        "summary": "Validate a DRM-X License Token without storing the bearer token",
        "operationId": "ValidatePlaybackGrant",
        "parameters": [
          {
            "name": "environmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ValidatePlaybackGrantRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/playback/environments/{environmentId}/grants": {
      "post": {
        "tags": [
          "DRM-X Playback Authorization"
        ],
        "summary": "Create a short-lived Playback Grant using a scoped project API client",
        "operationId": "CreatePlaybackGrantForApiClient",
        "parameters": [
          {
            "name": "environmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GeneratePlaybackGrantRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GeneratePlaybackGrantResponse"
                }
              }
            }
          },
          "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/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": {
      "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/auth/login": {
      "post": {
        "tags": [
          "DRM-X Console Authentication"
        ],
        "summary": "Sign in as a customer organization member or Haihaisoft platform administrator",
        "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/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": {
      "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"
          }
        }
      },
      "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"
          }
        }
      },
      "CompleteLocalPackagingSessionRequest": {
        "required": [
          "packagerVersion",
          "shakaVersion",
          "operatingSystem",
          "manifestPath"
        ],
        "type": "object",
        "properties": {
          "packagerVersion": {
            "type": "string"
          },
          "shakaVersion": {
            "type": "string"
          },
          "operatingSystem": {
            "type": "string"
          },
          "manifestPath": {
            "type": "string"
          }
        }
      },
      "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"
          }
        }
      },
      "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"
          }
        }
      },
      "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
          }
        }
      },
      "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"
            ]
          }
        }
      },
      "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"
          }
        }
      },
      "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"
          }
        }
      },
      "FairPlayCredentialSubmissionResponse": {
        "required": [
          "id",
          "environmentId",
          "displayName",
          "appleTeamId",
          "fairPlayApplicationId",
          "certificateFingerprint",
          "certificateExpiresAt",
          "status",
          "credentialBundleStored",
          "submittedBy",
          "submittedAt",
          "reviewedBy",
          "reviewedAt",
          "reviewNotes",
          "activatedProviderCredentialId"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "environmentId": {
            "type": "string",
            "format": "uuid"
          },
          "displayName": {
            "type": "string"
          },
          "appleTeamId": {
            "type": "string"
          },
          "fairPlayApplicationId": {
            "type": "string"
          },
          "certificateFingerprint": {
            "type": "string"
          },
          "certificateExpiresAt": {
            "type": "string",
            "format": "date-time"
          },
          "status": {
            "type": "string"
          },
          "credentialBundleStored": {
            "type": "boolean"
          },
          "submittedBy": {
            "type": "string"
          },
          "submittedAt": {
            "type": "string",
            "format": "date-time"
          },
          "reviewedBy": {
            "type": [
              "null",
              "string"
            ]
          },
          "reviewedAt": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "reviewNotes": {
            "type": [
              "null",
              "string"
            ]
          },
          "activatedProviderCredentialId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        }
      },
      "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"
            }
          }
        }
      },
      "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"
          }
        }
      },
      "GeneratePlaybackGrantRequest": {
        "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": 300
          }
        }
      },
      "GeneratePlaybackGrantResponse": {
        "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"
          }
        }
      },
      "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"
          }
        }
      },
      "LocalPackagingKeyResponse": {
        "required": [
          "keyId",
          "trackType"
        ],
        "type": "object",
        "properties": {
          "keyId": {
            "type": "string"
          },
          "trackType": {
            "type": "string"
          }
        }
      },
      "LocalPackagingSessionResponse": {
        "required": [
          "id",
          "environmentId",
          "packagingJobId",
          "contentAssetId",
          "contentId",
          "contentTitle",
          "licenseProfileId",
          "encryptionKeySetId",
          "externalKeySetId",
          "packagingFormat",
          "encryptionScheme",
          "drmSystems",
          "trackTypes",
          "keys",
          "status",
          "tokenExpiresAt",
          "cpixExchangedAt",
          "clientPackagerVersion",
          "clientShakaVersion",
          "clientOperatingSystem",
          "manifestPath",
          "playbackManifestUrl",
          "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"
          },
          "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"
            ]
          },
          "playbackManifestUrl": {
            "type": [
              "null",
              "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"
          }
        }
      },
      "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"
          }
        }
      },
      "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"
          }
        }
      },
      "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"
            }
          }
        }
      },
      "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"
            ]
          }
        }
      },
      "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"
          }
        }
      },
      "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"
          }
        }
      },
      "SubmitFairPlayCredentialRequest": {
        "required": [
          "displayName",
          "appleTeamId",
          "fairPlayApplicationId",
          "credentialBundleReference",
          "certificateFingerprint",
          "certificateExpiresAt"
        ],
        "type": "object",
        "properties": {
          "displayName": {
            "type": "string"
          },
          "appleTeamId": {
            "type": "string"
          },
          "fairPlayApplicationId": {
            "type": "string"
          },
          "credentialBundleReference": {
            "type": "string"
          },
          "certificateFingerprint": {
            "type": "string"
          },
          "certificateExpiresAt": {
            "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"
          }
        }
      },
      "UpdateLocalPackagingPlaybackUrlRequest": {
        "required": [
          "playbackManifestUrl"
        ],
        "type": "object",
        "properties": {
          "playbackManifestUrl": {
            "type": "string"
          }
        }
      },
      "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"
          }
        }
      },
      "ValidatePlaybackGrantRequest": {
        "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": "DRM-X Control Plane"
    },
    {
      "name": "DRM-X Management"
    },
    {
      "name": "DRM-X Playback Authorization"
    },
    {
      "name": "DRM-X Local Packaging"
    },
    {
      "name": "DRM-X CLI Packager"
    },
    {
      "name": "DRM-X Console Authentication"
    }
  ]
}