{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/woopsocial-com/json-schema/woopsocial-com-upload-session-status-schema.json",
  "title": "UploadSessionStatus",
  "x-generated": "2026-10-31",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/_original/woopsocial-com-openapi-openapi.yml#/components/schemas/UploadSessionStatus",
  "oneOf": [
    {
      "$ref": "#/$defs/UploadSessionInitiatedStatus"
    },
    {
      "$ref": "#/$defs/UploadSessionUploadedStatus"
    },
    {
      "$ref": "#/$defs/UploadSessionReadyStatus"
    },
    {
      "$ref": "#/$defs/UploadSessionFailedStatus"
    },
    {
      "$ref": "#/$defs/UploadSessionAbortedStatus"
    }
  ],
  "$defs": {
    "UploadSessionAbortedStatus": {
      "title": "Upload Session Aborted Status",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "uploadSessionId",
        "status"
      ],
      "properties": {
        "uploadSessionId": {
          "type": "string",
          "description": "Media upload session identifier."
        },
        "status": {
          "type": "string",
          "enum": [
            "ABORTED"
          ]
        }
      }
    },
    "UploadSessionFailedStatus": {
      "title": "Upload Session Failed Status",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "uploadSessionId",
        "status",
        "failureCode",
        "failureMessage"
      ],
      "properties": {
        "uploadSessionId": {
          "type": "string",
          "description": "Media upload session identifier."
        },
        "status": {
          "type": "string",
          "enum": [
            "FAILED"
          ]
        },
        "failureCode": {
          "type": "string",
          "description": "Machine-readable failure code for the upload session."
        },
        "failureMessage": {
          "type": "string",
          "description": "Human-readable summary of why the upload session failed."
        }
      }
    },
    "UploadSessionInitiatedStatus": {
      "title": "Upload Session Initiated Status",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "uploadSessionId",
        "status"
      ],
      "properties": {
        "uploadSessionId": {
          "type": "string",
          "description": "Media upload session identifier."
        },
        "status": {
          "type": "string",
          "enum": [
            "INITIATED"
          ]
        }
      }
    },
    "UploadSessionReadyStatus": {
      "title": "Upload Session Ready Status",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "uploadSessionId",
        "status",
        "mediaId"
      ],
      "properties": {
        "uploadSessionId": {
          "type": "string",
          "description": "Media upload session identifier."
        },
        "status": {
          "type": "string",
          "enum": [
            "READY"
          ]
        },
        "mediaId": {
          "type": "string",
          "description": "Media identifier created by the completed upload."
        }
      }
    },
    "UploadSessionUploadedStatus": {
      "title": "Upload Session Uploaded Status",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "uploadSessionId",
        "status"
      ],
      "properties": {
        "uploadSessionId": {
          "type": "string",
          "description": "Media upload session identifier."
        },
        "status": {
          "type": "string",
          "enum": [
            "UPLOADED"
          ]
        }
      }
    }
  }
}