{ "components": { "schemas": { "AccountDeletionCompleteRequest": { "additionalProperties": false, "properties": { "confirmation": { "enum": [ "注销账号" ], "type": "string" }, "deletion_id": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$", "type": "string" }, "verification_code": { "pattern": "^[0-9]{6}$", "type": "string" } }, "required": [ "confirmation", "deletion_id", "verification_code" ], "type": "object" }, "AccountDeletionResponse": { "additionalProperties": false, "properties": { "status": { "enum": [ "deleted" ], "type": "string" } }, "required": [ "status" ], "type": "object" }, "AccountDeletionSendResponse": { "additionalProperties": false, "properties": { "challenge_expires_at": { "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}Z$", "type": "string" }, "deletion_id": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$", "type": "string" }, "resend_available_at": { "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}Z$", "type": "string" }, "status": { "enum": [ "verification_sent" ], "type": "string" } }, "required": [ "challenge_expires_at", "deletion_id", "resend_available_at", "status" ], "type": "object" }, "AccountProfileUpdateRequest": { "additionalProperties": false, "properties": { "creator_name": { "maxLength": 80, "minLength": 1, "type": "string" }, "social_id": { "maxLength": 80, "minLength": 1, "type": "string" } }, "required": [ "creator_name", "social_id" ], "type": "object" }, "AccountProfileUpdateResponse": { "additionalProperties": false, "properties": { "profile": { "additionalProperties": false, "properties": { "creator_name": { "maxLength": 80, "minLength": 1, "type": "string" }, "social_id": { "maxLength": 80, "minLength": 1, "type": "string" } }, "required": [ "creator_name", "social_id" ], "type": "object" }, "status": { "enum": [ "saved" ], "type": "string" } }, "required": [ "profile", "status" ], "type": "object" }, "AccountSettingsResponse": { "additionalProperties": false, "properties": { "account": { "additionalProperties": false, "properties": { "email": { "maxLength": 320, "pattern": "^[^@\\s]{1,128}@[^@\\s]{1,190}$", "type": "string" }, "status": { "enum": [ "active" ], "type": "string" } }, "required": [ "email", "status" ], "type": "object" }, "csrf_token": { "maxLength": 64, "minLength": 43, "pattern": "^[A-Za-z0-9_-]+$", "type": "string" }, "local_data": { "additionalProperties": false, "properties": { "backup_enabled": { "enum": [ false ], "type": "boolean" }, "capacity_status": { "anyOf": [ { "enum": [ "normal" ], "type": "string" }, { "enum": [ "warning" ], "type": "string" }, { "enum": [ "critical" ], "type": "string" }, { "enum": [ "full" ], "type": "string" }, { "enum": [ "unavailable" ], "type": "string" } ] }, "hard_limit_bytes": { "minimum": 1, "type": "integer" }, "location": { "enum": [ "configured_local_data_root" ], "type": "string" }, "managed_content_bytes": { "minimum": 0, "type": "integer" }, "migration_supported": { "enum": [ false ], "type": "boolean" } }, "required": [ "backup_enabled", "capacity_status", "hard_limit_bytes", "location", "managed_content_bytes", "migration_supported" ], "type": "object" }, "profile": { "additionalProperties": false, "properties": { "creator_name": { "maxLength": 80, "minLength": 1, "type": "string" }, "social_id": { "maxLength": 80, "minLength": 1, "type": "string" } }, "required": [ "creator_name", "social_id" ], "type": "object" } }, "required": [ "account", "csrf_token", "local_data", "profile" ], "type": "object" }, "AdminAuthenticatedUser": { "additionalProperties": false, "properties": { "role": { "enum": [ "super_admin" ], "type": "string" }, "status": { "enum": [ "active" ], "type": "string" }, "user_id": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$", "type": "string" } }, "required": [ "role", "status", "user_id" ], "type": "object" }, "AdminCreditParams": { "additionalProperties": false, "properties": { "userId": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$", "type": "string" } }, "required": [ "userId" ], "type": "object" }, "AdminLoginCompleteRequest": { "additionalProperties": false, "properties": { "registration_id": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$", "type": "string" }, "verification_code": { "pattern": "^[0-9]{6}$", "type": "string" } }, "required": [ "registration_id", "verification_code" ], "type": "object" }, "AdminLoginCompleteResponse": { "additionalProperties": false, "properties": { "admin": { "$ref": "#/components/schemas/AdminAuthenticatedUser" }, "audience": { "enum": [ "admin" ], "type": "string" }, "session_expires_at": { "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}Z$", "type": "string" }, "status": { "enum": [ "authenticated" ], "type": "string" } }, "required": [ "admin", "audience", "session_expires_at", "status" ], "type": "object" }, "AdminLoginSendRequest": { "additionalProperties": false, "properties": { "email": { "maxLength": 320, "pattern": "^[^@\\s]{1,128}@[^@\\s]{1,190}$", "type": "string" } }, "required": [ "email" ], "type": "object" }, "AdminSessionResponse": { "additionalProperties": false, "properties": { "acknowledged_private_content_notice_version": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "admin": { "$ref": "#/components/schemas/AdminAuthenticatedUser" }, "audience": { "enum": [ "admin" ], "type": "string" }, "authenticated": { "enum": [ true ], "type": "boolean" }, "csrf_token": { "maxLength": 64, "minLength": 43, "pattern": "^[A-Za-z0-9_-]+$", "type": "string" }, "current_private_content_notice_version": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "expires_at": { "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}Z$", "type": "string" }, "notice_acknowledged": { "type": "boolean" } }, "required": [ "acknowledged_private_content_notice_version", "admin", "audience", "authenticated", "csrf_token", "current_private_content_notice_version", "expires_at", "notice_acknowledged" ], "type": "object" }, "AuthenticatedUser": { "additionalProperties": false, "properties": { "creator_name": { "maxLength": 80, "minLength": 1, "type": "string" }, "role": { "enum": [ "user" ], "type": "string" }, "social_id": { "maxLength": 80, "minLength": 1, "type": "string" }, "status": { "enum": [ "active" ], "type": "string" }, "user_id": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$", "type": "string" } }, "required": [ "creator_name", "role", "social_id", "status", "user_id" ], "type": "object" }, "BootstrapResponse": { "additionalProperties": false, "properties": { "app_version": { "maxLength": 40, "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+(?:[-+][A-Za-z0-9.-]+)?$", "type": "string" }, "dependencies": { "items": { "additionalProperties": false, "properties": { "service_id": { "maxLength": 60, "pattern": "^[a-z][a-z0-9_-]+$", "type": "string" }, "status": { "anyOf": [ { "enum": [ "available" ], "type": "string" }, { "enum": [ "paused" ], "type": "string" }, { "enum": [ "degraded" ], "type": "string" }, { "enum": [ "unavailable" ], "type": "string" } ] } }, "required": [ "service_id", "status" ], "type": "object" }, "type": "array" }, "model_summary": { "additionalProperties": false, "properties": { "config_set_version": { "anyOf": [ { "minimum": 0, "type": "integer" }, { "type": "null" } ] }, "configured_default_model_id": { "anyOf": [ { "maxLength": 80, "pattern": "^[a-z0-9][a-z0-9.-]+$", "type": "string" }, { "type": "null" } ] }, "recommended_model_id": { "anyOf": [ { "maxLength": 80, "pattern": "^[a-z0-9][a-z0-9.-]+$", "type": "string" }, { "type": "null" } ] }, "runtime_availability_version": { "anyOf": [ { "minimum": 0, "type": "integer" }, { "type": "null" } ] } }, "required": [ "config_set_version", "configured_default_model_id", "recommended_model_id", "runtime_availability_version" ], "type": "object" }, "public_features": { "items": { "additionalProperties": false, "properties": { "feature_id": { "maxLength": 80, "pattern": "^[a-z][a-z0-9_-]+$", "type": "string" }, "status": { "anyOf": [ { "enum": [ "enabled" ], "type": "string" }, { "enum": [ "disabled" ], "type": "string" }, { "enum": [ "paused" ], "type": "string" } ] } }, "required": [ "feature_id", "status" ], "type": "object" }, "type": "array" } }, "required": [ "app_version", "dependencies", "model_summary", "public_features" ], "type": "object" }, "BrowserSupportRequest": { "additionalProperties": false, "properties": { "brands": { "items": { "additionalProperties": false, "properties": { "brand": { "maxLength": 80, "type": "string" }, "version": { "maxLength": 80, "type": "string" } }, "required": [ "brand", "version" ], "type": "object" }, "maxItems": 16, "type": "array" }, "full_version_list": { "items": { "additionalProperties": false, "properties": { "brand": { "maxLength": 80, "type": "string" }, "version": { "maxLength": 80, "type": "string" } }, "required": [ "brand", "version" ], "type": "object" }, "maxItems": 16, "type": "array" }, "platform": { "maxLength": 40, "type": "string" } }, "required": [ "brands", "full_version_list", "platform" ], "type": "object" }, "BrowserSupportSuccess": { "additionalProperties": false, "properties": { "app_version": { "maxLength": 80, "type": "string" }, "browser": { "additionalProperties": false, "properties": { "brand": { "anyOf": [ { "enum": [ "Google Chrome" ], "type": "string" }, { "enum": [ "Microsoft Edge" ], "type": "string" } ] }, "major": { "minimum": 1, "type": "integer" } }, "required": [ "brand", "major" ], "type": "object" }, "status": { "enum": [ "supported" ], "type": "string" }, "supported_browsers": { "items": { "additionalProperties": false, "properties": { "brand": { "anyOf": [ { "enum": [ "Google Chrome" ], "type": "string" }, { "enum": [ "Microsoft Edge" ], "type": "string" } ] }, "major": { "minimum": 1, "type": "integer" } }, "required": [ "brand", "major" ], "type": "object" }, "maxItems": 2, "type": "array" } }, "required": [ "app_version", "browser", "status", "supported_browsers" ], "type": "object" }, "BrowserUnsupportedReason": { "anyOf": [ { "enum": [ "platform_unsupported" ], "type": "string" }, { "enum": [ "brand_unsupported" ], "type": "string" }, { "enum": [ "version_unsupported" ], "type": "string" }, { "enum": [ "identity_unavailable" ], "type": "string" } ] }, "CanvasBackgroundAdjustments": { "additionalProperties": false, "properties": { "brightness": { "maximum": 100, "minimum": -100, "type": "number" }, "contrast": { "maximum": 100, "minimum": -100, "type": "number" }, "crop": { "anyOf": [ { "additionalProperties": false, "properties": { "height": { "maximum": 1, "minimum": 0, "type": "number" }, "width": { "maximum": 1, "minimum": 0, "type": "number" }, "x": { "maximum": 1, "minimum": 0, "type": "number" }, "y": { "maximum": 1, "minimum": 0, "type": "number" } }, "required": [ "height", "width", "x", "y" ], "type": "object" }, { "type": "null" } ] }, "filter": { "maxLength": 64, "pattern": "^[A-Za-z0-9_-]+$", "type": "string" }, "fit": { "anyOf": [ { "enum": [ "fill" ], "type": "string" }, { "enum": [ "fit" ], "type": "string" }, { "enum": [ "crop" ], "type": "string" } ] }, "saturation": { "maximum": 100, "minimum": -100, "type": "number" }, "sharpness": { "maximum": 100, "minimum": 0, "type": "number" }, "temperature": { "maximum": 100, "minimum": -100, "type": "number" } }, "required": [ "brightness", "contrast", "crop", "filter", "fit", "saturation", "sharpness", "temperature" ], "type": "object" }, "CanvasElement": { "additionalProperties": false, "properties": { "colors": { "items": { "pattern": "^#[0-9A-Fa-f]{6}$", "type": "string" }, "maxItems": 5, "minItems": 5, "type": "array" }, "content": { "maxLength": 4000, "type": "string" }, "coordinates": { "additionalProperties": false, "properties": { "latitude": { "maximum": 90, "minimum": -90, "type": "number" }, "longitude": { "maximum": 180, "minimum": -180, "type": "number" } }, "required": [ "latitude", "longitude" ], "type": "object" }, "created_at": { "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}Z$", "type": "string" }, "dynamic_fields": { "additionalProperties": { "anyOf": [ { "maxLength": 4000, "type": "string" }, { "type": "number" }, { "type": "boolean" }, { "type": "null" } ] }, "type": "object" }, "element_id": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$", "type": "string" }, "font_override": { "maxLength": 120, "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,119}$", "type": "string" }, "font_size": { "maximum": 512, "minimum": 1, "type": "number" }, "formatted_value": { "maxLength": 4000, "type": "string" }, "opacity": { "maximum": 1, "minimum": 0, "type": "number" }, "position": { "additionalProperties": false, "properties": { "x": { "type": "number" }, "y": { "type": "number" } }, "required": [ "x", "y" ], "type": "object" }, "resource_version": { "maxLength": 120, "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,119}$", "type": "string" }, "rotation": { "maximum": 360, "minimum": -360, "type": "number" }, "scale": { "additionalProperties": false, "properties": { "x": { "maximum": 100, "minimum": 0.01, "type": "number" }, "y": { "maximum": 100, "minimum": 0.01, "type": "number" } }, "required": [ "x", "y" ], "type": "object" }, "style_id": { "maxLength": 120, "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,119}$", "type": "string" }, "style_parameters": { "additionalProperties": { "anyOf": [ { "maxLength": 4000, "type": "string" }, { "type": "number" }, { "type": "boolean" }, { "type": "null" } ] }, "type": "object" }, "template_or_asset_id": { "maxLength": 120, "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,119}$", "type": "string" }, "type": { "anyOf": [ { "enum": [ "text_template" ], "type": "string" }, { "enum": [ "static_sticker" ], "type": "string" }, { "enum": [ "color_card" ], "type": "string" }, { "enum": [ "dynamic_sticker" ], "type": "string" } ] }, "z_index": { "maximum": 49, "minimum": 0, "type": "integer" } }, "required": [ "created_at", "element_id", "opacity", "position", "resource_version", "rotation", "scale", "template_or_asset_id", "type", "z_index" ], "type": "object" }, "CanvasState": { "additionalProperties": false, "properties": { "background": { "additionalProperties": false, "properties": { "adjustments": { "$ref": "#/components/schemas/CanvasBackgroundAdjustments" }, "asset_id": { "anyOf": [ { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$", "type": "string" }, { "type": "null" } ] } }, "required": [ "adjustments", "asset_id" ], "type": "object" }, "elements": { "items": { "$ref": "#/components/schemas/CanvasElement" }, "maxItems": 50, "type": "array" }, "pixel_height": { "minimum": 1, "type": "integer" }, "pixel_width": { "minimum": 1, "type": "integer" }, "ratio": { "anyOf": [ { "enum": [ "3:4" ], "type": "string" }, { "enum": [ "1:1" ], "type": "string" }, { "enum": [ "4:3" ], "type": "string" }, { "enum": [ "9:16" ], "type": "string" } ] }, "schema_version": { "enum": [ 1 ], "type": "number" } }, "required": [ "background", "elements", "pixel_height", "pixel_width", "ratio", "schema_version" ], "type": "object" }, "CorrelationId": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$", "type": "string" }, "CreditAdjustmentHeaders": { "additionalProperties": true, "properties": { "idempotency-key": { "maxLength": 200, "minLength": 32, "pattern": "^[A-Za-z0-9_-]+$", "type": "string" }, "x-csrf-token": { "maxLength": 64, "minLength": 43, "pattern": "^[A-Za-z0-9_-]+$", "type": "string" } }, "required": [ "idempotency-key", "x-csrf-token" ], "type": "object" }, "CreditAdjustmentRequest": { "additionalProperties": false, "properties": { "adjustment_id": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$", "type": "string" }, "amount": { "anyOf": [ { "maximum": -1, "type": "integer" }, { "minimum": 1, "type": "integer" } ] }, "reason": { "maxLength": 500, "minLength": 1, "type": "string" } }, "required": [ "adjustment_id", "amount", "reason" ], "type": "object" }, "CreditAdjustmentResponse": { "additionalProperties": false, "properties": { "adjustment_id": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$", "type": "string" }, "available_balance": { "type": "integer" }, "reserved_balance": { "minimum": 0, "type": "integer" }, "status": { "enum": [ "adjusted" ], "type": "string" } }, "required": [ "adjustment_id", "available_balance", "reserved_balance", "status" ], "type": "object" }, "CreditBalanceResponse": { "additionalProperties": false, "properties": { "available_balance": { "type": "integer" }, "reserved_balance": { "minimum": 0, "type": "integer" }, "updated_at": { "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}Z$", "type": "string" } }, "required": [ "available_balance", "reserved_balance", "updated_at" ], "type": "object" }, "CreditEntryStatus": { "anyOf": [ { "enum": [ "succeeded" ], "type": "string" }, { "enum": [ "frozen" ], "type": "string" }, { "enum": [ "committed" ], "type": "string" }, { "enum": [ "released" ], "type": "string" } ] }, "CreditEntryType": { "anyOf": [ { "enum": [ "registration_grant" ], "type": "string" }, { "enum": [ "generation_reserve" ], "type": "string" }, { "enum": [ "generation_commit" ], "type": "string" }, { "enum": [ "generation_release" ], "type": "string" }, { "enum": [ "admin_adjustment" ], "type": "string" } ] }, "CreditLedgerEntry": { "additionalProperties": false, "properties": { "amount": { "type": "integer" }, "available_after": { "type": "integer" }, "available_before": { "type": "integer" }, "created_at": { "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}Z$", "type": "string" }, "entry_id": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$", "type": "string" }, "entry_type": { "$ref": "#/components/schemas/CreditEntryType" }, "model_id": { "anyOf": [ { "maxLength": 160, "minLength": 1, "type": "string" }, { "type": "null" } ] }, "reason": { "anyOf": [ { "maxLength": 500, "minLength": 1, "type": "string" }, { "type": "null" } ] }, "reference_id": { "anyOf": [ { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$", "type": "string" }, { "type": "null" } ] }, "reference_type": { "anyOf": [ { "$ref": "#/components/schemas/CreditReferenceType" }, { "type": "null" } ] }, "reserved_after": { "minimum": 0, "type": "integer" }, "reserved_before": { "minimum": 0, "type": "integer" }, "status": { "$ref": "#/components/schemas/CreditEntryStatus" } }, "required": [ "amount", "available_after", "available_before", "created_at", "entry_id", "entry_type", "model_id", "reason", "reference_id", "reference_type", "reserved_after", "reserved_before", "status" ], "type": "object" }, "CreditLedgerQuery": { "additionalProperties": false, "properties": { "cursor": { "maxLength": 300, "minLength": 1, "pattern": "^[A-Za-z0-9_-]+$", "type": "string" }, "event_type": { "$ref": "#/components/schemas/CreditEntryType" }, "from": { "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}Z$", "type": "string" }, "limit": { "maximum": 100, "minimum": 1, "type": "integer" }, "to": { "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}Z$", "type": "string" } }, "type": "object" }, "CreditLedgerResponse": { "additionalProperties": false, "properties": { "credits": { "$ref": "#/components/schemas/CreditSummary" }, "entries": { "items": { "$ref": "#/components/schemas/CreditLedgerEntry" }, "maxItems": 100, "type": "array" }, "next_cursor": { "anyOf": [ { "maxLength": 300, "minLength": 1, "type": "string" }, { "type": "null" } ] }, "updated_at": { "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}Z$", "type": "string" } }, "required": [ "credits", "entries", "next_cursor", "updated_at" ], "type": "object" }, "CreditReferenceType": { "anyOf": [ { "enum": [ "registration" ], "type": "string" }, { "enum": [ "generation" ], "type": "string" }, { "enum": [ "admin_adjustment" ], "type": "string" } ] }, "CreditSummary": { "additionalProperties": false, "properties": { "available_balance": { "type": "integer" }, "reserved_balance": { "minimum": 0, "type": "integer" } }, "required": [ "available_balance", "reserved_balance" ], "type": "object" }, "CsrfHeaders": { "additionalProperties": true, "properties": { "x-csrf-token": { "maxLength": 64, "minLength": 43, "pattern": "^[A-Za-z0-9_-]+$", "type": "string" } }, "required": [ "x-csrf-token" ], "type": "object" }, "ErrorDetails": { "additionalProperties": false, "properties": { "capacity_status": { "anyOf": [ { "enum": [ "normal" ], "type": "string" }, { "enum": [ "warning" ], "type": "string" }, { "enum": [ "critical" ], "type": "string" }, { "enum": [ "full" ], "type": "string" }, { "enum": [ "unavailable" ], "type": "string" } ] }, "current_task_ref": { "maxLength": 160, "pattern": "^[a-z][a-z0-9_]*:[A-Za-z0-9_-]+$", "type": "string" }, "field_errors": { "items": { "additionalProperties": false, "properties": { "field": { "maxLength": 120, "pattern": "^[A-Za-z0-9_.\\[\\]-]+$", "type": "string" }, "message_key": { "maxLength": 120, "pattern": "^[A-Za-z0-9_.-]+$", "type": "string" } }, "required": [ "field", "message_key" ], "type": "object" }, "maxItems": 32, "type": "array" }, "latest_version": { "anyOf": [ { "minimum": 0, "type": "integer" }, { "maxLength": 120, "type": "string" } ] }, "reason": { "anyOf": [ { "enum": [ "platform_unsupported" ], "type": "string" }, { "enum": [ "brand_unsupported" ], "type": "string" }, { "enum": [ "version_unsupported" ], "type": "string" }, { "enum": [ "identity_unavailable" ], "type": "string" } ] }, "remaining_bytes": { "minimum": 0, "type": "integer" }, "supported_browsers": { "items": { "additionalProperties": false, "properties": { "brand": { "anyOf": [ { "enum": [ "Google Chrome" ], "type": "string" }, { "enum": [ "Microsoft Edge" ], "type": "string" } ] }, "major": { "minimum": 1, "type": "integer" } }, "required": [ "brand", "major" ], "type": "object" }, "maxItems": 2, "type": "array" } }, "type": "object" }, "ErrorEnvelope": { "additionalProperties": false, "properties": { "error": { "additionalProperties": false, "properties": { "code": { "anyOf": [ { "enum": [ "BROWSER_UNSUPPORTED" ], "type": "string" }, { "enum": [ "MODEL_CONFIG_VERSION_CONFLICT" ], "type": "string" }, { "enum": [ "MODEL_DEFAULT_REPLACEMENT_REQUIRED" ], "type": "string" }, { "enum": [ "MODEL_DEFAULT_REPLACEMENT_INVALID" ], "type": "string" }, { "enum": [ "MODEL_RECOMMENDATION_PRIORITY_INVALID" ], "type": "string" }, { "enum": [ "MODEL_RECOMMENDATION_PRIORITY_CONFLICT" ], "type": "string" }, { "enum": [ "PRIVATE_CONTENT_NOTICE_ACK_REQUIRED" ], "type": "string" }, { "enum": [ "ASSET_HISTORY_REFERENCE_CONFLICT" ], "type": "string" }, { "enum": [ "ASSET_CLEANUP_CANDIDATE_STALE" ], "type": "string" }, { "enum": [ "STORAGE_CAPACITY_EXCEEDED" ], "type": "string" }, { "enum": [ "REGISTRATION_REJECTED" ], "type": "string" }, { "enum": [ "REGISTRATION_REQUEST_INVALID" ], "type": "string" }, { "enum": [ "IDEMPOTENCY_KEY_CONFLICT" ], "type": "string" }, { "enum": [ "AUTH_SESSION_INVALID" ], "type": "string" }, { "enum": [ "AUTH_SERVICE_UNAVAILABLE" ], "type": "string" }, { "enum": [ "AUTH_ENTRY_REJECTED" ], "type": "string" }, { "enum": [ "AUTH_RATE_LIMITED" ], "type": "string" }, { "enum": [ "AUTH_CSRF_INVALID" ], "type": "string" } ] }, "correlation_id": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$", "type": "string" }, "details": { "additionalProperties": false, "properties": { "capacity_status": { "anyOf": [ { "enum": [ "normal" ], "type": "string" }, { "enum": [ "warning" ], "type": "string" }, { "enum": [ "critical" ], "type": "string" }, { "enum": [ "full" ], "type": "string" }, { "enum": [ "unavailable" ], "type": "string" } ] }, "current_task_ref": { "maxLength": 160, "pattern": "^[a-z][a-z0-9_]*:[A-Za-z0-9_-]+$", "type": "string" }, "field_errors": { "items": { "additionalProperties": false, "properties": { "field": { "maxLength": 120, "pattern": "^[A-Za-z0-9_.\\[\\]-]+$", "type": "string" }, "message_key": { "maxLength": 120, "pattern": "^[A-Za-z0-9_.-]+$", "type": "string" } }, "required": [ "field", "message_key" ], "type": "object" }, "maxItems": 32, "type": "array" }, "latest_version": { "anyOf": [ { "minimum": 0, "type": "integer" }, { "maxLength": 120, "type": "string" } ] }, "reason": { "anyOf": [ { "enum": [ "platform_unsupported" ], "type": "string" }, { "enum": [ "brand_unsupported" ], "type": "string" }, { "enum": [ "version_unsupported" ], "type": "string" }, { "enum": [ "identity_unavailable" ], "type": "string" } ] }, "remaining_bytes": { "minimum": 0, "type": "integer" }, "supported_browsers": { "items": { "additionalProperties": false, "properties": { "brand": { "anyOf": [ { "enum": [ "Google Chrome" ], "type": "string" }, { "enum": [ "Microsoft Edge" ], "type": "string" } ] }, "major": { "minimum": 1, "type": "integer" } }, "required": [ "brand", "major" ], "type": "object" }, "maxItems": 2, "type": "array" } }, "type": "object" }, "error_category": { "anyOf": [ { "enum": [ "upstream_timeout" ], "type": "string" }, { "enum": [ "upstream_failed" ], "type": "string" }, { "enum": [ "safety_rejected" ], "type": "string" }, { "enum": [ "model_disabled" ], "type": "string" }, { "enum": [ "gateway_balance_insufficient" ], "type": "string" }, { "enum": [ "gateway_contract_invalid" ], "type": "string" }, { "enum": [ "reference_invalid" ], "type": "string" }, { "enum": [ "unknown_retryable" ], "type": "string" }, { "enum": [ "unknown_non_retryable" ], "type": "string" } ] }, "message_key": { "maxLength": 120, "pattern": "^[A-Za-z0-9_.-]+$", "type": "string" } }, "required": [ "code", "message_key", "correlation_id", "details" ], "type": "object" } }, "required": [ "error" ], "type": "object" }, "FailedEmptyTrashRequest": { "additionalProperties": false, "properties": { "project_ids": { "items": { "$ref": "#/components/schemas/ProjectId" }, "maxItems": 20, "minItems": 1, "type": "array", "uniqueItems": true } }, "required": [ "project_ids" ], "type": "object" }, "FailedEmptyTrashResponse": { "additionalProperties": false, "properties": { "ignored_project_ids": { "items": { "$ref": "#/components/schemas/ProjectId" }, "maxItems": 20, "type": "array", "uniqueItems": true }, "trashed_project_ids": { "items": { "$ref": "#/components/schemas/ProjectId" }, "maxItems": 20, "type": "array", "uniqueItems": true } }, "required": [ "ignored_project_ids", "trashed_project_ids" ], "type": "object" }, "GenerationCreateHeaders": { "additionalProperties": true, "properties": { "idempotency-key": { "maxLength": 200, "minLength": 32, "pattern": "^[A-Za-z0-9_-]+$", "type": "string" }, "x-csrf-token": { "maxLength": 64, "minLength": 43, "pattern": "^[A-Za-z0-9_-]+$", "type": "string" } }, "required": [ "idempotency-key", "x-csrf-token" ], "type": "object" }, "GenerationCreateResponse": { "additionalProperties": false, "properties": { "created": { "type": "boolean" }, "task": { "$ref": "#/components/schemas/GenerationTaskResponse" } }, "required": [ "created", "task" ], "type": "object" }, "GenerationErrorCategory": { "anyOf": [ { "enum": [ "upstream_timeout" ], "type": "string" }, { "enum": [ "upstream_failed" ], "type": "string" }, { "enum": [ "safety_rejected" ], "type": "string" }, { "enum": [ "model_disabled" ], "type": "string" }, { "enum": [ "gateway_balance_insufficient" ], "type": "string" }, { "enum": [ "gateway_contract_invalid" ], "type": "string" }, { "enum": [ "reference_invalid" ], "type": "string" }, { "enum": [ "unknown_retryable" ], "type": "string" }, { "enum": [ "unknown_non_retryable" ], "type": "string" } ] }, "GenerationMultipartBody": { "additionalProperties": false, "properties": { "client_submission_id": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$", "type": "string" }, "confirmed_credit_cost": { "pattern": "^[1-9][0-9]*$", "type": "string" }, "creation_mode": { "anyOf": [ { "enum": [ "new_project" ], "type": "string" }, { "enum": [ "existing_project" ], "type": "string" } ] }, "existing_reference_asset_ids": { "maxLength": 12000, "type": "string" }, "model_config_version": { "pattern": "^[1-9][0-9]*$", "type": "string" }, "model_id": { "maxLength": 160, "minLength": 1, "type": "string" }, "project_id": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$", "type": "string" }, "prompt": { "maxLength": 4000, "minLength": 1, "type": "string" }, "ratio": { "$ref": "#/components/schemas/ProjectRatio" }, "reference_files": { "items": { "format": "binary", "type": "string" }, "maxItems": 16, "type": "array" }, "reference_manifest": { "maxLength": 16384, "type": "string" } }, "required": [ "client_submission_id", "confirmed_credit_cost", "creation_mode", "model_config_version", "model_id", "prompt", "ratio" ], "type": "object" }, "GenerationParams": { "additionalProperties": false, "properties": { "generationId": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$", "type": "string" } }, "required": [ "generationId" ], "type": "object" }, "GenerationProjectItem": { "additionalProperties": false, "properties": { "created_at": { "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}Z$", "type": "string" }, "error_category": { "anyOf": [ { "$ref": "#/components/schemas/GenerationErrorCategory" }, { "type": "null" } ] }, "generation_id": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$", "type": "string" }, "prompt": { "maxLength": 4000, "minLength": 1, "type": "string" }, "ratio": { "$ref": "#/components/schemas/ProjectRatio" }, "status": { "anyOf": [ { "enum": [ "queued" ], "type": "string" }, { "enum": [ "running" ], "type": "string" }, { "enum": [ "succeeded" ], "type": "string" }, { "enum": [ "failed" ], "type": "string" }, { "enum": [ "rejected" ], "type": "string" } ] }, "updated_at": { "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}Z$", "type": "string" } }, "required": [ "created_at", "error_category", "generation_id", "prompt", "ratio", "status", "updated_at" ], "type": "object" }, "GenerationTaskResponse": { "additionalProperties": false, "properties": { "confirmed_credit_cost": { "minimum": 1, "type": "integer" }, "created_at": { "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}Z$", "type": "string" }, "error_category": { "anyOf": [ { "$ref": "#/components/schemas/GenerationErrorCategory" }, { "type": "null" } ] }, "generation_id": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$", "type": "string" }, "model_config_version": { "minimum": 1, "type": "integer" }, "model_id": { "maxLength": 160, "minLength": 1, "type": "string" }, "project_id": { "$ref": "#/components/schemas/ProjectId" }, "prompt": { "maxLength": 4000, "minLength": 1, "type": "string" }, "ratio": { "$ref": "#/components/schemas/ProjectRatio" }, "reference_asset_ids": { "items": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$", "type": "string" }, "maxItems": 16, "type": "array" }, "reference_count": { "minimum": 0, "type": "integer" }, "reserved_credits": { "minimum": 0, "type": "integer" }, "status": { "$ref": "#/components/schemas/GenerationTaskStatus" }, "updated_at": { "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}Z$", "type": "string" } }, "required": [ "confirmed_credit_cost", "created_at", "error_category", "generation_id", "model_config_version", "model_id", "project_id", "prompt", "ratio", "reference_asset_ids", "reference_count", "reserved_credits", "status", "updated_at" ], "type": "object" }, "GenerationTaskStatus": { "anyOf": [ { "enum": [ "queued" ], "type": "string" }, { "enum": [ "running" ], "type": "string" }, { "enum": [ "succeeded" ], "type": "string" }, { "enum": [ "failed" ], "type": "string" }, { "enum": [ "rejected" ], "type": "string" } ] }, "LoginCompleteRequest": { "additionalProperties": false, "properties": { "registration_id": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$", "type": "string" }, "verification_code": { "pattern": "^[0-9]{6}$", "type": "string" } }, "required": [ "registration_id", "verification_code" ], "type": "object" }, "LoginCompleteResponse": { "additionalProperties": false, "properties": { "audience": { "enum": [ "user" ], "type": "string" }, "credits": { "$ref": "#/components/schemas/CreditSummary" }, "session_expires_at": { "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}Z$", "type": "string" }, "status": { "enum": [ "authenticated" ], "type": "string" }, "user": { "$ref": "#/components/schemas/AuthenticatedUser" } }, "required": [ "audience", "credits", "session_expires_at", "status", "user" ], "type": "object" }, "LoginSendRequest": { "additionalProperties": false, "properties": { "email": { "maxLength": 320, "pattern": "^[^@\\s]{1,128}@[^@\\s]{1,190}$", "type": "string" } }, "required": [ "email" ], "type": "object" }, "LogoutHeaders": { "additionalProperties": true, "properties": { "idempotency-key": { "maxLength": 200, "minLength": 32, "pattern": "^[A-Za-z0-9_-]+$", "type": "string" }, "x-csrf-token": { "maxLength": 64, "minLength": 43, "pattern": "^[A-Za-z0-9_-]+$", "type": "string" } }, "required": [ "idempotency-key", "x-csrf-token" ], "type": "object" }, "LogoutResponse": { "additionalProperties": false, "properties": { "status": { "enum": [ "logged_out" ], "type": "string" } }, "required": [ "status" ], "type": "object" }, "ModelConfigSseEvent": { "additionalProperties": false, "properties": { "config_set_version": { "minimum": 0, "type": "integer" }, "entity_ref": { "maxLength": 160, "pattern": "^[a-z][a-z0-9_]*:[A-Za-z0-9_-]+$", "type": "string" }, "event_id": { "minimum": 0, "type": "integer" }, "event_type": { "enum": [ "model_config_changed" ], "type": "string" }, "occurred_at": { "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{3})?Z$", "type": "string" } }, "required": [ "entity_ref", "event_id", "occurred_at", "config_set_version", "event_type" ], "type": "object" }, "ModelRuntimeSseEvent": { "additionalProperties": false, "properties": { "entity_ref": { "maxLength": 160, "pattern": "^[a-z][a-z0-9_]*:[A-Za-z0-9_-]+$", "type": "string" }, "event_id": { "minimum": 0, "type": "integer" }, "event_type": { "enum": [ "model_runtime_changed" ], "type": "string" }, "occurred_at": { "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{3})?Z$", "type": "string" }, "runtime_availability_version": { "minimum": 0, "type": "integer" } }, "required": [ "entity_ref", "event_id", "occurred_at", "event_type", "runtime_availability_version" ], "type": "object" }, "ProjectDetailResponse": { "additionalProperties": false, "properties": { "canvas_state": { "$ref": "#/components/schemas/CanvasState" }, "created_at": { "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}Z$", "type": "string" }, "current_image_id": { "anyOf": [ { "$ref": "#/components/schemas/ProjectId" }, { "type": "null" } ] }, "deleted_at": { "anyOf": [ { "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}Z$", "type": "string" }, { "type": "null" } ] }, "draft_prompt": { "maxLength": 4000, "minLength": 1, "type": "string" }, "generations": { "items": { "$ref": "#/components/schemas/GenerationProjectItem" }, "type": "array" }, "images": { "items": { "$ref": "#/components/schemas/ProjectImageItem" }, "maxItems": 10, "type": "array" }, "name": { "maxLength": 160, "minLength": 1, "type": "string" }, "pixel_height": { "minimum": 1, "type": "integer" }, "pixel_width": { "minimum": 1, "type": "integer" }, "project_id": { "$ref": "#/components/schemas/ProjectId" }, "purge_at": { "anyOf": [ { "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}Z$", "type": "string" }, { "type": "null" } ] }, "ratio": { "$ref": "#/components/schemas/ProjectRatio" }, "save_status": { "enum": [ "saved" ], "type": "string" }, "state_version": { "minimum": 1, "type": "integer" }, "status": { "$ref": "#/components/schemas/ProjectViewStatus" }, "successful_image_count": { "maximum": 10, "minimum": 0, "type": "integer" }, "updated_at": { "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}Z$", "type": "string" } }, "required": [ "current_image_id", "deleted_at", "name", "project_id", "purge_at", "ratio", "state_version", "status", "successful_image_count", "updated_at", "canvas_state", "created_at", "draft_prompt", "generations", "images", "pixel_height", "pixel_width", "save_status" ], "type": "object" }, "ProjectEditableState": { "additionalProperties": false, "properties": { "canvas_state": { "$ref": "#/components/schemas/CanvasState" }, "name": { "maxLength": 80, "minLength": 1, "type": "string" } }, "required": [ "canvas_state", "name" ], "type": "object" }, "ProjectId": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$", "type": "string" }, "ProjectImageItem": { "additionalProperties": false, "properties": { "created_at": { "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}Z$", "type": "string" }, "generation_id": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$", "type": "string" }, "image_id": { "$ref": "#/components/schemas/ProjectId" } }, "required": [ "created_at", "generation_id", "image_id" ], "type": "object" }, "ProjectListQuery": { "additionalProperties": false, "properties": { "status": { "anyOf": [ { "enum": [ "active" ], "type": "string" }, { "enum": [ "trashed" ], "type": "string" } ] } }, "type": "object" }, "ProjectListResponse": { "additionalProperties": false, "properties": { "active_count": { "maximum": 20, "minimum": 0, "type": "integer" }, "active_limit": { "enum": [ 20 ], "type": "number" }, "projects": { "items": { "$ref": "#/components/schemas/ProjectSummary" }, "maxItems": 20, "type": "array" } }, "required": [ "active_count", "active_limit", "projects" ], "type": "object" }, "ProjectParams": { "additionalProperties": false, "properties": { "projectId": { "$ref": "#/components/schemas/ProjectId" } }, "required": [ "projectId" ], "type": "object" }, "ProjectPurgeResponse": { "additionalProperties": false, "properties": { "project_id": { "$ref": "#/components/schemas/ProjectId" }, "status": { "enum": [ "purged" ], "type": "string" } }, "required": [ "project_id", "status" ], "type": "object" }, "ProjectRatio": { "anyOf": [ { "enum": [ "3:4" ], "type": "string" }, { "enum": [ "1:1" ], "type": "string" }, { "enum": [ "4:3" ], "type": "string" }, { "enum": [ "9:16" ], "type": "string" } ] }, "ProjectRenameRequest": { "additionalProperties": false, "properties": { "name": { "maxLength": 80, "minLength": 1, "type": "string" } }, "required": [ "name" ], "type": "object" }, "ProjectRenameResponse": { "additionalProperties": false, "properties": { "name": { "maxLength": 80, "minLength": 1, "type": "string" }, "state_version": { "minimum": 2, "type": "integer" }, "status": { "enum": [ "renamed" ], "type": "string" } }, "required": [ "name", "state_version", "status" ], "type": "object" }, "ProjectRestoreResponse": { "additionalProperties": false, "properties": { "deleted_at": { "type": "null" }, "project_id": { "$ref": "#/components/schemas/ProjectId" }, "purge_at": { "type": "null" }, "status": { "enum": [ "active" ], "type": "string" } }, "required": [ "deleted_at", "project_id", "purge_at", "status" ], "type": "object" }, "ProjectStateConflictResponse": { "additionalProperties": false, "properties": { "latest_state_version": { "minimum": 1, "type": "integer" }, "save_status": { "enum": [ "conflicted" ], "type": "string" } }, "required": [ "latest_state_version", "save_status" ], "type": "object" }, "ProjectStateSaveHeaders": { "additionalProperties": true, "properties": { "idempotency-key": { "maxLength": 200, "minLength": 32, "pattern": "^[A-Za-z0-9_-]+$", "type": "string" }, "if-match": { "pattern": "^[1-9][0-9]*$", "type": "string" }, "x-csrf-token": { "maxLength": 512, "minLength": 32, "type": "string" } }, "required": [ "idempotency-key", "if-match", "x-csrf-token" ], "type": "object" }, "ProjectStateSaveResponse": { "additionalProperties": false, "properties": { "save_status": { "enum": [ "saved" ], "type": "string" }, "state_version": { "minimum": 2, "type": "integer" } }, "required": [ "save_status", "state_version" ], "type": "object" }, "ProjectSummary": { "additionalProperties": false, "properties": { "current_image_id": { "anyOf": [ { "$ref": "#/components/schemas/ProjectId" }, { "type": "null" } ] }, "deleted_at": { "anyOf": [ { "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}Z$", "type": "string" }, { "type": "null" } ] }, "name": { "maxLength": 160, "minLength": 1, "type": "string" }, "project_id": { "$ref": "#/components/schemas/ProjectId" }, "purge_at": { "anyOf": [ { "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}Z$", "type": "string" }, { "type": "null" } ] }, "ratio": { "$ref": "#/components/schemas/ProjectRatio" }, "state_version": { "minimum": 1, "type": "integer" }, "status": { "$ref": "#/components/schemas/ProjectViewStatus" }, "successful_image_count": { "maximum": 10, "minimum": 0, "type": "integer" }, "updated_at": { "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}Z$", "type": "string" } }, "required": [ "current_image_id", "deleted_at", "name", "project_id", "purge_at", "ratio", "state_version", "status", "successful_image_count", "updated_at" ], "type": "object" }, "ProjectTrashResponse": { "additionalProperties": false, "properties": { "deleted_at": { "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}Z$", "type": "string" }, "project_id": { "$ref": "#/components/schemas/ProjectId" }, "purge_at": { "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}Z$", "type": "string" }, "status": { "enum": [ "trashed" ], "type": "string" } }, "required": [ "deleted_at", "project_id", "purge_at", "status" ], "type": "object" }, "ProjectViewStatus": { "anyOf": [ { "enum": [ "active" ], "type": "string" }, { "enum": [ "failed_empty" ], "type": "string" }, { "enum": [ "trashed" ], "type": "string" } ] }, "RegistrationCompleteHeaders": { "additionalProperties": true, "properties": { "idempotency-key": { "maxLength": 200, "minLength": 32, "pattern": "^[A-Za-z0-9_-]+$", "type": "string" } }, "required": [ "idempotency-key" ], "type": "object" }, "RegistrationCompleteRequest": { "additionalProperties": false, "properties": { "creator_name": { "maxLength": 80, "minLength": 1, "type": "string" }, "privacy_consent_accepted": { "type": "boolean" }, "privacy_notice_version": { "maxLength": 80, "minLength": 1, "type": "string" }, "registration_id": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$", "type": "string" }, "social_id": { "maxLength": 80, "minLength": 1, "type": "string" }, "verification_code": { "pattern": "^[0-9]{6}$", "type": "string" } }, "required": [ "creator_name", "privacy_consent_accepted", "privacy_notice_version", "registration_id", "social_id", "verification_code" ], "type": "object" }, "RegistrationCompleteResponse": { "additionalProperties": false, "properties": { "credits": { "$ref": "#/components/schemas/CreditSummary" }, "session_expires_at": { "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}Z$", "type": "string" }, "status": { "enum": [ "registered" ], "type": "string" }, "user": { "$ref": "#/components/schemas/AuthenticatedUser" } }, "required": [ "credits", "session_expires_at", "status", "user" ], "type": "object" }, "RegistrationSendRequest": { "additionalProperties": false, "properties": { "email": { "maxLength": 320, "pattern": "^[^@\\s]{1,128}@[^@\\s]{1,190}$", "type": "string" }, "invite_code": { "maxLength": 160, "minLength": 8, "type": "string" } }, "required": [ "email", "invite_code" ], "type": "object" }, "RegistrationSendResponse": { "additionalProperties": false, "properties": { "challenge_expires_at": { "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}Z$", "type": "string" }, "registration_id": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$", "type": "string" }, "resend_available_at": { "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}Z$", "type": "string" }, "status": { "enum": [ "verification_sent" ], "type": "string" } }, "required": [ "challenge_expires_at", "registration_id", "resend_available_at", "status" ], "type": "object" }, "SseEvent": { "anyOf": [ { "additionalProperties": false, "properties": { "entity_ref": { "maxLength": 160, "pattern": "^[a-z][a-z0-9_]*:[A-Za-z0-9_-]+$", "type": "string" }, "event_id": { "minimum": 0, "type": "integer" }, "event_type": { "maxLength": 80, "pattern": "^(?!model_config_changed$|model_runtime_changed$)[a-z][a-z0-9_]+$", "type": "string" }, "occurred_at": { "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{3})?Z$", "type": "string" }, "state_version": { "minimum": 0, "type": "integer" } }, "required": [ "entity_ref", "event_id", "occurred_at", "event_type", "state_version" ], "type": "object" }, { "additionalProperties": false, "properties": { "config_set_version": { "minimum": 0, "type": "integer" }, "entity_ref": { "maxLength": 160, "pattern": "^[a-z][a-z0-9_]*:[A-Za-z0-9_-]+$", "type": "string" }, "event_id": { "minimum": 0, "type": "integer" }, "event_type": { "enum": [ "model_config_changed" ], "type": "string" }, "occurred_at": { "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{3})?Z$", "type": "string" } }, "required": [ "entity_ref", "event_id", "occurred_at", "config_set_version", "event_type" ], "type": "object" }, { "additionalProperties": false, "properties": { "entity_ref": { "maxLength": 160, "pattern": "^[a-z][a-z0-9_]*:[A-Za-z0-9_-]+$", "type": "string" }, "event_id": { "minimum": 0, "type": "integer" }, "event_type": { "enum": [ "model_runtime_changed" ], "type": "string" }, "occurred_at": { "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{3})?Z$", "type": "string" }, "runtime_availability_version": { "minimum": 0, "type": "integer" } }, "required": [ "entity_ref", "event_id", "occurred_at", "event_type", "runtime_availability_version" ], "type": "object" } ] }, "StableEngineeringErrorCode": { "anyOf": [ { "enum": [ "BROWSER_UNSUPPORTED" ], "type": "string" }, { "enum": [ "MODEL_CONFIG_VERSION_CONFLICT" ], "type": "string" }, { "enum": [ "MODEL_DEFAULT_REPLACEMENT_REQUIRED" ], "type": "string" }, { "enum": [ "MODEL_DEFAULT_REPLACEMENT_INVALID" ], "type": "string" }, { "enum": [ "MODEL_RECOMMENDATION_PRIORITY_INVALID" ], "type": "string" }, { "enum": [ "MODEL_RECOMMENDATION_PRIORITY_CONFLICT" ], "type": "string" }, { "enum": [ "PRIVATE_CONTENT_NOTICE_ACK_REQUIRED" ], "type": "string" }, { "enum": [ "ASSET_HISTORY_REFERENCE_CONFLICT" ], "type": "string" }, { "enum": [ "ASSET_CLEANUP_CANDIDATE_STALE" ], "type": "string" }, { "enum": [ "STORAGE_CAPACITY_EXCEEDED" ], "type": "string" }, { "enum": [ "REGISTRATION_REJECTED" ], "type": "string" }, { "enum": [ "REGISTRATION_REQUEST_INVALID" ], "type": "string" }, { "enum": [ "IDEMPOTENCY_KEY_CONFLICT" ], "type": "string" }, { "enum": [ "AUTH_SESSION_INVALID" ], "type": "string" }, { "enum": [ "AUTH_SERVICE_UNAVAILABLE" ], "type": "string" }, { "enum": [ "AUTH_ENTRY_REJECTED" ], "type": "string" }, { "enum": [ "AUTH_RATE_LIMITED" ], "type": "string" }, { "enum": [ "AUTH_CSRF_INVALID" ], "type": "string" } ] }, "StateSseEvent": { "additionalProperties": false, "properties": { "entity_ref": { "maxLength": 160, "pattern": "^[a-z][a-z0-9_]*:[A-Za-z0-9_-]+$", "type": "string" }, "event_id": { "minimum": 0, "type": "integer" }, "event_type": { "maxLength": 80, "pattern": "^(?!model_config_changed$|model_runtime_changed$)[a-z][a-z0-9_]+$", "type": "string" }, "occurred_at": { "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{3})?Z$", "type": "string" }, "state_version": { "minimum": 0, "type": "integer" } }, "required": [ "entity_ref", "event_id", "occurred_at", "event_type", "state_version" ], "type": "object" }, "UserSessionResponse": { "additionalProperties": false, "properties": { "audience": { "enum": [ "user" ], "type": "string" }, "authenticated": { "enum": [ true ], "type": "boolean" }, "credits": { "$ref": "#/components/schemas/CreditSummary" }, "csrf_token": { "maxLength": 64, "minLength": 43, "pattern": "^[A-Za-z0-9_-]+$", "type": "string" }, "expires_at": { "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}Z$", "type": "string" }, "user": { "$ref": "#/components/schemas/AuthenticatedUser" } }, "required": [ "audience", "authenticated", "credits", "csrf_token", "expires_at", "user" ], "type": "object" } } }, "info": { "title": "Dada P0-A", "version": "0.0.0" }, "openapi": "3.1.0", "paths": { "/api/v1/account/deletion/complete": { "post": { "operationId": "completeAccountDeletion", "parameters": [ { "in": "header", "name": "idempotency-key", "required": true, "schema": { "maxLength": 200, "minLength": 32, "pattern": "^[A-Za-z0-9_-]+$", "type": "string" } }, { "in": "header", "name": "x-csrf-token", "required": true, "schema": { "maxLength": 64, "minLength": 43, "pattern": "^[A-Za-z0-9_-]+$", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AccountDeletionCompleteRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AccountDeletionResponse" } } }, "description": "Default Response" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "503": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" } }, "tags": [ "Account" ] } }, "/api/v1/account/deletion/send": { "post": { "operationId": "sendAccountDeletionCode", "parameters": [ { "in": "header", "name": "x-csrf-token", "required": true, "schema": { "maxLength": 64, "minLength": 43, "pattern": "^[A-Za-z0-9_-]+$", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AccountDeletionSendResponse" } } }, "description": "Default Response" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "429": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "503": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" } }, "tags": [ "Account" ] } }, "/api/v1/account/settings": { "get": { "operationId": "getAccountSettings", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AccountSettingsResponse" } } }, "description": "Default Response" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "503": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" } }, "tags": [ "Account" ] } }, "/api/v1/account/settings/profile": { "put": { "operationId": "updateAccountProfile", "parameters": [ { "in": "header", "name": "x-csrf-token", "required": true, "schema": { "maxLength": 64, "minLength": 43, "pattern": "^[A-Za-z0-9_-]+$", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AccountProfileUpdateRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AccountProfileUpdateResponse" } } }, "description": "Default Response" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "503": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" } }, "tags": [ "Account" ] } }, "/api/v1/admin-auth/login/complete": { "post": { "operationId": "completeAdminLogin", "parameters": [ { "in": "header", "name": "idempotency-key", "required": true, "schema": { "maxLength": 200, "minLength": 32, "pattern": "^[A-Za-z0-9_-]+$", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdminLoginCompleteRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdminLoginCompleteResponse" } } }, "description": "Default Response" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "429": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "503": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" } }, "tags": [ "Admin Authentication" ] } }, "/api/v1/admin-auth/login/send": { "post": { "operationId": "sendAdminLoginCode", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdminLoginSendRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RegistrationSendResponse" } } }, "description": "Default Response" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "429": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "503": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" } }, "tags": [ "Admin Authentication" ] } }, "/api/v1/admin-auth/session": { "get": { "operationId": "getAdminSession", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdminSessionResponse" } } }, "description": "Default Response" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "503": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" } }, "tags": [ "Admin Authentication" ] } }, "/api/v1/admin/users/{userId}/credit-adjustments": { "post": { "operationId": "adjustAdminUserCredits", "parameters": [ { "in": "path", "name": "userId", "required": true, "schema": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$", "type": "string" } }, { "in": "header", "name": "idempotency-key", "required": true, "schema": { "maxLength": 200, "minLength": 32, "pattern": "^[A-Za-z0-9_-]+$", "type": "string" } }, { "in": "header", "name": "x-csrf-token", "required": true, "schema": { "maxLength": 64, "minLength": 43, "pattern": "^[A-Za-z0-9_-]+$", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreditAdjustmentRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreditAdjustmentResponse" } } }, "description": "Default Response" }, "400": { "description": "Default Response" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "404": { "description": "Default Response" }, "409": { "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/ErrorEnvelope" }, { "type": "null" } ] } } }, "description": "Default Response" }, "503": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" } }, "tags": [ "Admin Credits" ] } }, "/api/v1/admin/users/{userId}/credits": { "get": { "operationId": "getAdminUserCredits", "parameters": [ { "in": "path", "name": "userId", "required": true, "schema": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreditBalanceResponse" } } }, "description": "Default Response" }, "400": { "description": "Default Response" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "404": { "description": "Default Response" }, "503": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" } }, "tags": [ "Admin Credits" ] } }, "/api/v1/auth/login/complete": { "post": { "operationId": "completeLogin", "parameters": [ { "in": "header", "name": "idempotency-key", "required": true, "schema": { "maxLength": 200, "minLength": 32, "pattern": "^[A-Za-z0-9_-]+$", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LoginCompleteRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LoginCompleteResponse" } } }, "description": "Default Response" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "429": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "503": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" } }, "tags": [ "Authentication" ] } }, "/api/v1/auth/login/send": { "post": { "operationId": "sendLoginCode", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LoginSendRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RegistrationSendResponse" } } }, "description": "Default Response" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "429": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "503": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" } }, "tags": [ "Authentication" ] } }, "/api/v1/auth/logout": { "post": { "operationId": "logoutUser", "parameters": [ { "in": "header", "name": "idempotency-key", "required": true, "schema": { "maxLength": 200, "minLength": 32, "pattern": "^[A-Za-z0-9_-]+$", "type": "string" } }, { "in": "header", "name": "x-csrf-token", "required": true, "schema": { "maxLength": 64, "minLength": 43, "pattern": "^[A-Za-z0-9_-]+$", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LogoutResponse" } } }, "description": "Default Response" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "503": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" } }, "tags": [ "Authentication" ] } }, "/api/v1/auth/register/complete": { "post": { "operationId": "completeRegistration", "parameters": [ { "in": "header", "name": "idempotency-key", "required": true, "schema": { "maxLength": 200, "minLength": 32, "pattern": "^[A-Za-z0-9_-]+$", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RegistrationCompleteRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RegistrationCompleteResponse" } } }, "description": "Default Response" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "503": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" } }, "tags": [ "Authentication" ] } }, "/api/v1/auth/register/send": { "post": { "operationId": "sendRegistrationCode", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RegistrationSendRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RegistrationSendResponse" } } }, "description": "Default Response" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "429": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "503": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" } }, "tags": [ "Authentication" ] } }, "/api/v1/auth/session": { "get": { "operationId": "getUserSession", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserSessionResponse" } } }, "description": "Default Response" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "503": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" } }, "tags": [ "Authentication" ] } }, "/api/v1/bootstrap": { "get": { "operationId": "getBootstrap", "responses": { "200": { "content": { "application/json": { "schema": { "additionalProperties": false, "properties": { "app_version": { "maxLength": 40, "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+(?:[-+][A-Za-z0-9.-]+)?$", "type": "string" }, "dependencies": { "items": { "additionalProperties": false, "properties": { "service_id": { "maxLength": 60, "pattern": "^[a-z][a-z0-9_-]+$", "type": "string" }, "status": { "anyOf": [ { "enum": [ "available" ], "type": "string" }, { "enum": [ "paused" ], "type": "string" }, { "enum": [ "degraded" ], "type": "string" }, { "enum": [ "unavailable" ], "type": "string" } ] } }, "required": [ "service_id", "status" ], "type": "object" }, "type": "array" }, "model_summary": { "additionalProperties": false, "properties": { "config_set_version": { "anyOf": [ { "minimum": 0, "type": "integer" }, { "type": "null" } ] }, "configured_default_model_id": { "anyOf": [ { "maxLength": 80, "pattern": "^[a-z0-9][a-z0-9.-]+$", "type": "string" }, { "type": "null" } ] }, "recommended_model_id": { "anyOf": [ { "maxLength": 80, "pattern": "^[a-z0-9][a-z0-9.-]+$", "type": "string" }, { "type": "null" } ] }, "runtime_availability_version": { "anyOf": [ { "minimum": 0, "type": "integer" }, { "type": "null" } ] } }, "required": [ "config_set_version", "configured_default_model_id", "recommended_model_id", "runtime_availability_version" ], "type": "object" }, "public_features": { "items": { "additionalProperties": false, "properties": { "feature_id": { "maxLength": 80, "pattern": "^[a-z][a-z0-9_-]+$", "type": "string" }, "status": { "anyOf": [ { "enum": [ "enabled" ], "type": "string" }, { "enum": [ "disabled" ], "type": "string" }, { "enum": [ "paused" ], "type": "string" } ] } }, "required": [ "feature_id", "status" ], "type": "object" }, "type": "array" } }, "required": [ "app_version", "dependencies", "model_summary", "public_features" ], "type": "object" } } }, "description": "Default Response" }, "426": { "content": { "application/json": { "schema": { "additionalProperties": false, "properties": { "error": { "additionalProperties": false, "properties": { "code": { "anyOf": [ { "enum": [ "BROWSER_UNSUPPORTED" ], "type": "string" }, { "enum": [ "MODEL_CONFIG_VERSION_CONFLICT" ], "type": "string" }, { "enum": [ "MODEL_DEFAULT_REPLACEMENT_REQUIRED" ], "type": "string" }, { "enum": [ "MODEL_DEFAULT_REPLACEMENT_INVALID" ], "type": "string" }, { "enum": [ "MODEL_RECOMMENDATION_PRIORITY_INVALID" ], "type": "string" }, { "enum": [ "MODEL_RECOMMENDATION_PRIORITY_CONFLICT" ], "type": "string" }, { "enum": [ "PRIVATE_CONTENT_NOTICE_ACK_REQUIRED" ], "type": "string" }, { "enum": [ "ASSET_HISTORY_REFERENCE_CONFLICT" ], "type": "string" }, { "enum": [ "ASSET_CLEANUP_CANDIDATE_STALE" ], "type": "string" }, { "enum": [ "STORAGE_CAPACITY_EXCEEDED" ], "type": "string" }, { "enum": [ "REGISTRATION_REJECTED" ], "type": "string" }, { "enum": [ "REGISTRATION_REQUEST_INVALID" ], "type": "string" }, { "enum": [ "IDEMPOTENCY_KEY_CONFLICT" ], "type": "string" }, { "enum": [ "AUTH_SESSION_INVALID" ], "type": "string" }, { "enum": [ "AUTH_SERVICE_UNAVAILABLE" ], "type": "string" }, { "enum": [ "AUTH_ENTRY_REJECTED" ], "type": "string" }, { "enum": [ "AUTH_RATE_LIMITED" ], "type": "string" }, { "enum": [ "AUTH_CSRF_INVALID" ], "type": "string" } ] }, "correlation_id": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$", "type": "string" }, "details": { "additionalProperties": false, "properties": { "capacity_status": { "anyOf": [ { "enum": [ "normal" ], "type": "string" }, { "enum": [ "warning" ], "type": "string" }, { "enum": [ "critical" ], "type": "string" }, { "enum": [ "full" ], "type": "string" }, { "enum": [ "unavailable" ], "type": "string" } ] }, "current_task_ref": { "maxLength": 160, "pattern": "^[a-z][a-z0-9_]*:[A-Za-z0-9_-]+$", "type": "string" }, "field_errors": { "items": { "additionalProperties": false, "properties": { "field": { "maxLength": 120, "pattern": "^[A-Za-z0-9_.\\[\\]-]+$", "type": "string" }, "message_key": { "maxLength": 120, "pattern": "^[A-Za-z0-9_.-]+$", "type": "string" } }, "required": [ "field", "message_key" ], "type": "object" }, "maxItems": 32, "type": "array" }, "latest_version": { "anyOf": [ { "minimum": 0, "type": "integer" }, { "maxLength": 120, "type": "string" } ] }, "reason": { "anyOf": [ { "enum": [ "platform_unsupported" ], "type": "string" }, { "enum": [ "brand_unsupported" ], "type": "string" }, { "enum": [ "version_unsupported" ], "type": "string" }, { "enum": [ "identity_unavailable" ], "type": "string" } ] }, "remaining_bytes": { "minimum": 0, "type": "integer" }, "supported_browsers": { "items": { "additionalProperties": false, "properties": { "brand": { "anyOf": [ { "enum": [ "Google Chrome" ], "type": "string" }, { "enum": [ "Microsoft Edge" ], "type": "string" } ] }, "major": { "minimum": 1, "type": "integer" } }, "required": [ "brand", "major" ], "type": "object" }, "maxItems": 2, "type": "array" } }, "type": "object" }, "error_category": { "anyOf": [ { "enum": [ "upstream_timeout" ], "type": "string" }, { "enum": [ "upstream_failed" ], "type": "string" }, { "enum": [ "safety_rejected" ], "type": "string" }, { "enum": [ "model_disabled" ], "type": "string" }, { "enum": [ "gateway_balance_insufficient" ], "type": "string" }, { "enum": [ "gateway_contract_invalid" ], "type": "string" }, { "enum": [ "reference_invalid" ], "type": "string" }, { "enum": [ "unknown_retryable" ], "type": "string" }, { "enum": [ "unknown_non_retryable" ], "type": "string" } ] }, "message_key": { "maxLength": 120, "pattern": "^[A-Za-z0-9_.-]+$", "type": "string" } }, "required": [ "code", "message_key", "correlation_id", "details" ], "type": "object" } }, "required": [ "error" ], "type": "object" } } }, "description": "Default Response" } }, "tags": [ "Bootstrap" ] } }, "/api/v1/events": { "get": { "operationId": "getEvents", "responses": { "200": { "content": { "text/event-stream": { "schema": { "anyOf": [ { "additionalProperties": false, "properties": { "entity_ref": { "maxLength": 160, "pattern": "^[a-z][a-z0-9_]*:[A-Za-z0-9_-]+$", "type": "string" }, "event_id": { "minimum": 0, "type": "integer" }, "event_type": { "maxLength": 80, "pattern": "^(?!model_config_changed$|model_runtime_changed$)[a-z][a-z0-9_]+$", "type": "string" }, "occurred_at": { "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{3})?Z$", "type": "string" }, "state_version": { "minimum": 0, "type": "integer" } }, "required": [ "entity_ref", "event_id", "occurred_at", "event_type", "state_version" ], "type": "object" }, { "additionalProperties": false, "properties": { "config_set_version": { "minimum": 0, "type": "integer" }, "entity_ref": { "maxLength": 160, "pattern": "^[a-z][a-z0-9_]*:[A-Za-z0-9_-]+$", "type": "string" }, "event_id": { "minimum": 0, "type": "integer" }, "event_type": { "enum": [ "model_config_changed" ], "type": "string" }, "occurred_at": { "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{3})?Z$", "type": "string" } }, "required": [ "entity_ref", "event_id", "occurred_at", "config_set_version", "event_type" ], "type": "object" }, { "additionalProperties": false, "properties": { "entity_ref": { "maxLength": 160, "pattern": "^[a-z][a-z0-9_]*:[A-Za-z0-9_-]+$", "type": "string" }, "event_id": { "minimum": 0, "type": "integer" }, "event_type": { "enum": [ "model_runtime_changed" ], "type": "string" }, "occurred_at": { "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{3})?Z$", "type": "string" }, "runtime_availability_version": { "minimum": 0, "type": "integer" } }, "required": [ "entity_ref", "event_id", "occurred_at", "event_type", "runtime_availability_version" ], "type": "object" } ] } } }, "description": "Non-sensitive state change hints. REST remains authoritative." }, "426": { "content": { "application/json": { "schema": { "additionalProperties": false, "properties": { "error": { "additionalProperties": false, "properties": { "code": { "anyOf": [ { "enum": [ "BROWSER_UNSUPPORTED" ], "type": "string" }, { "enum": [ "MODEL_CONFIG_VERSION_CONFLICT" ], "type": "string" }, { "enum": [ "MODEL_DEFAULT_REPLACEMENT_REQUIRED" ], "type": "string" }, { "enum": [ "MODEL_DEFAULT_REPLACEMENT_INVALID" ], "type": "string" }, { "enum": [ "MODEL_RECOMMENDATION_PRIORITY_INVALID" ], "type": "string" }, { "enum": [ "MODEL_RECOMMENDATION_PRIORITY_CONFLICT" ], "type": "string" }, { "enum": [ "PRIVATE_CONTENT_NOTICE_ACK_REQUIRED" ], "type": "string" }, { "enum": [ "ASSET_HISTORY_REFERENCE_CONFLICT" ], "type": "string" }, { "enum": [ "ASSET_CLEANUP_CANDIDATE_STALE" ], "type": "string" }, { "enum": [ "STORAGE_CAPACITY_EXCEEDED" ], "type": "string" }, { "enum": [ "REGISTRATION_REJECTED" ], "type": "string" }, { "enum": [ "REGISTRATION_REQUEST_INVALID" ], "type": "string" }, { "enum": [ "IDEMPOTENCY_KEY_CONFLICT" ], "type": "string" }, { "enum": [ "AUTH_SESSION_INVALID" ], "type": "string" }, { "enum": [ "AUTH_SERVICE_UNAVAILABLE" ], "type": "string" }, { "enum": [ "AUTH_ENTRY_REJECTED" ], "type": "string" }, { "enum": [ "AUTH_RATE_LIMITED" ], "type": "string" }, { "enum": [ "AUTH_CSRF_INVALID" ], "type": "string" } ] }, "correlation_id": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$", "type": "string" }, "details": { "additionalProperties": false, "properties": { "capacity_status": { "anyOf": [ { "enum": [ "normal" ], "type": "string" }, { "enum": [ "warning" ], "type": "string" }, { "enum": [ "critical" ], "type": "string" }, { "enum": [ "full" ], "type": "string" }, { "enum": [ "unavailable" ], "type": "string" } ] }, "current_task_ref": { "maxLength": 160, "pattern": "^[a-z][a-z0-9_]*:[A-Za-z0-9_-]+$", "type": "string" }, "field_errors": { "items": { "additionalProperties": false, "properties": { "field": { "maxLength": 120, "pattern": "^[A-Za-z0-9_.\\[\\]-]+$", "type": "string" }, "message_key": { "maxLength": 120, "pattern": "^[A-Za-z0-9_.-]+$", "type": "string" } }, "required": [ "field", "message_key" ], "type": "object" }, "maxItems": 32, "type": "array" }, "latest_version": { "anyOf": [ { "minimum": 0, "type": "integer" }, { "maxLength": 120, "type": "string" } ] }, "reason": { "anyOf": [ { "enum": [ "platform_unsupported" ], "type": "string" }, { "enum": [ "brand_unsupported" ], "type": "string" }, { "enum": [ "version_unsupported" ], "type": "string" }, { "enum": [ "identity_unavailable" ], "type": "string" } ] }, "remaining_bytes": { "minimum": 0, "type": "integer" }, "supported_browsers": { "items": { "additionalProperties": false, "properties": { "brand": { "anyOf": [ { "enum": [ "Google Chrome" ], "type": "string" }, { "enum": [ "Microsoft Edge" ], "type": "string" } ] }, "major": { "minimum": 1, "type": "integer" } }, "required": [ "brand", "major" ], "type": "object" }, "maxItems": 2, "type": "array" } }, "type": "object" }, "error_category": { "anyOf": [ { "enum": [ "upstream_timeout" ], "type": "string" }, { "enum": [ "upstream_failed" ], "type": "string" }, { "enum": [ "safety_rejected" ], "type": "string" }, { "enum": [ "model_disabled" ], "type": "string" }, { "enum": [ "gateway_balance_insufficient" ], "type": "string" }, { "enum": [ "gateway_contract_invalid" ], "type": "string" }, { "enum": [ "reference_invalid" ], "type": "string" }, { "enum": [ "unknown_retryable" ], "type": "string" }, { "enum": [ "unknown_non_retryable" ], "type": "string" } ] }, "message_key": { "maxLength": 120, "pattern": "^[A-Za-z0-9_.-]+$", "type": "string" } }, "required": [ "code", "message_key", "correlation_id", "details" ], "type": "object" } }, "required": [ "error" ], "type": "object" } } }, "description": "Default Response" } }, "tags": [ "State events" ] } }, "/api/v1/generations": { "post": { "operationId": "createGeneration", "parameters": [ { "in": "header", "name": "idempotency-key", "required": true, "schema": { "maxLength": 200, "minLength": 32, "pattern": "^[A-Za-z0-9_-]+$", "type": "string" } }, { "in": "header", "name": "x-csrf-token", "required": true, "schema": { "maxLength": 64, "minLength": 43, "pattern": "^[A-Za-z0-9_-]+$", "type": "string" } } ], "requestBody": { "content": { "multipart/form-data": { "schema": { "$ref": "#/components/schemas/GenerationMultipartBody" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenerationCreateResponse" } } }, "description": "Default Response" }, "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenerationCreateResponse" } } }, "description": "Default Response" }, "400": { "description": "Default Response" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "412": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "503": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "507": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" } }, "tags": [ "Generations" ] } }, "/api/v1/generations/{generationId}": { "get": { "operationId": "getGeneration", "parameters": [ { "in": "path", "name": "generationId", "required": true, "schema": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenerationTaskResponse" } } }, "description": "Default Response" }, "400": { "description": "Default Response" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "404": { "description": "Default Response" }, "503": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" } }, "tags": [ "Generations" ] } }, "/api/v1/generations/current": { "get": { "operationId": "getCurrentGeneration", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenerationTaskResponse" } } }, "description": "Default Response" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "404": { "description": "Default Response" }, "503": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" } }, "tags": [ "Generations" ] } }, "/api/v1/me/credit-ledger": { "get": { "operationId": "getMyCreditLedger", "parameters": [ { "in": "query", "name": "cursor", "required": false, "schema": { "maxLength": 300, "minLength": 1, "pattern": "^[A-Za-z0-9_-]+$", "type": "string" } }, { "in": "query", "name": "event_type", "required": false, "schema": { "$ref": "#/components/schemas/CreditEntryType" } }, { "in": "query", "name": "from", "required": false, "schema": { "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}Z$", "type": "string" } }, { "in": "query", "name": "limit", "required": false, "schema": { "maximum": 100, "minimum": 1, "type": "integer" } }, { "in": "query", "name": "to", "required": false, "schema": { "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}Z$", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreditLedgerResponse" } } }, "description": "Default Response" }, "400": { "description": "Default Response" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "404": { "description": "Default Response" }, "503": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" } }, "tags": [ "Credits" ] } }, "/api/v1/me/credits": { "get": { "operationId": "getMyCredits", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreditBalanceResponse" } } }, "description": "Default Response" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "404": { "description": "Default Response" }, "503": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" } }, "tags": [ "Credits" ] } }, "/api/v1/projects": { "get": { "operationId": "listProjects", "parameters": [ { "in": "query", "name": "status", "required": false, "schema": { "anyOf": [ { "enum": [ "active" ], "type": "string" }, { "enum": [ "trashed" ], "type": "string" } ] } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProjectListResponse" } } }, "description": "Default Response" }, "400": { "description": "Default Response" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "503": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" } }, "tags": [ "Projects" ] } }, "/api/v1/projects/{projectId}": { "get": { "operationId": "getProject", "parameters": [ { "in": "path", "name": "projectId", "required": true, "schema": { "$ref": "#/components/schemas/ProjectId" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProjectDetailResponse" } } }, "description": "Default Response" }, "400": { "description": "Default Response" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "404": { "description": "Default Response" }, "503": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" } }, "tags": [ "Projects" ] }, "patch": { "operationId": "renameProject", "parameters": [ { "in": "path", "name": "projectId", "required": true, "schema": { "$ref": "#/components/schemas/ProjectId" } }, { "in": "header", "name": "x-csrf-token", "required": true, "schema": { "maxLength": 64, "minLength": 43, "pattern": "^[A-Za-z0-9_-]+$", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProjectRenameRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProjectRenameResponse" } } }, "description": "Default Response" }, "400": { "description": "Default Response" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "404": { "description": "Default Response" }, "503": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" } }, "tags": [ "Projects" ] } }, "/api/v1/projects/{projectId}/purge": { "post": { "operationId": "purgeProject", "parameters": [ { "in": "path", "name": "projectId", "required": true, "schema": { "$ref": "#/components/schemas/ProjectId" } }, { "in": "header", "name": "x-csrf-token", "required": true, "schema": { "maxLength": 64, "minLength": 43, "pattern": "^[A-Za-z0-9_-]+$", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProjectPurgeResponse" } } }, "description": "Default Response" }, "400": { "description": "Default Response" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "404": { "description": "Default Response" }, "409": { "description": "Default Response" }, "503": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" } }, "tags": [ "Projects" ] } }, "/api/v1/projects/{projectId}/restore": { "post": { "operationId": "restoreProject", "parameters": [ { "in": "path", "name": "projectId", "required": true, "schema": { "$ref": "#/components/schemas/ProjectId" } }, { "in": "header", "name": "x-csrf-token", "required": true, "schema": { "maxLength": 64, "minLength": 43, "pattern": "^[A-Za-z0-9_-]+$", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProjectRestoreResponse" } } }, "description": "Default Response" }, "400": { "description": "Default Response" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "404": { "description": "Default Response" }, "409": { "description": "Default Response" }, "503": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" } }, "tags": [ "Projects" ] } }, "/api/v1/projects/{projectId}/state": { "put": { "operationId": "saveProjectState", "parameters": [ { "in": "path", "name": "projectId", "required": true, "schema": { "$ref": "#/components/schemas/ProjectId" } }, { "in": "header", "name": "idempotency-key", "required": true, "schema": { "maxLength": 200, "minLength": 32, "pattern": "^[A-Za-z0-9_-]+$", "type": "string" } }, { "in": "header", "name": "if-match", "required": true, "schema": { "pattern": "^[1-9][0-9]*$", "type": "string" } }, { "in": "header", "name": "x-csrf-token", "required": true, "schema": { "maxLength": 512, "minLength": 32, "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProjectEditableState" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProjectStateSaveResponse" } } }, "description": "Default Response" }, "400": { "description": "Default Response" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "404": { "description": "Default Response" }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "412": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProjectStateConflictResponse" } } }, "description": "Default Response" }, "503": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" } }, "tags": [ "Projects" ] } }, "/api/v1/projects/{projectId}/trash": { "post": { "operationId": "trashProject", "parameters": [ { "in": "path", "name": "projectId", "required": true, "schema": { "$ref": "#/components/schemas/ProjectId" } }, { "in": "header", "name": "x-csrf-token", "required": true, "schema": { "maxLength": 64, "minLength": 43, "pattern": "^[A-Za-z0-9_-]+$", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProjectTrashResponse" } } }, "description": "Default Response" }, "400": { "description": "Default Response" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "404": { "description": "Default Response" }, "409": { "description": "Default Response" }, "503": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" } }, "tags": [ "Projects" ] } }, "/api/v1/projects/failed-empty/trash": { "post": { "operationId": "trashFailedEmptyProjects", "parameters": [ { "in": "header", "name": "x-csrf-token", "required": true, "schema": { "maxLength": 64, "minLength": 43, "pattern": "^[A-Za-z0-9_-]+$", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FailedEmptyTrashRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FailedEmptyTrashResponse" } } }, "description": "Default Response" }, "400": { "description": "Default Response" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" }, "503": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } }, "description": "Default Response" } }, "tags": [ "Projects" ] } }, "/api/v1/support/check": { "post": { "operationId": "checkBrowserSupport", "requestBody": { "content": { "application/json": { "schema": { "additionalProperties": false, "properties": { "brands": { "items": { "additionalProperties": false, "properties": { "brand": { "maxLength": 80, "type": "string" }, "version": { "maxLength": 80, "type": "string" } }, "required": [ "brand", "version" ], "type": "object" }, "maxItems": 16, "type": "array" }, "full_version_list": { "items": { "additionalProperties": false, "properties": { "brand": { "maxLength": 80, "type": "string" }, "version": { "maxLength": 80, "type": "string" } }, "required": [ "brand", "version" ], "type": "object" }, "maxItems": 16, "type": "array" }, "platform": { "maxLength": 40, "type": "string" } }, "required": [ "brands", "full_version_list", "platform" ], "type": "object" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "additionalProperties": false, "properties": { "app_version": { "maxLength": 80, "type": "string" }, "browser": { "additionalProperties": false, "properties": { "brand": { "anyOf": [ { "enum": [ "Google Chrome" ], "type": "string" }, { "enum": [ "Microsoft Edge" ], "type": "string" } ] }, "major": { "minimum": 1, "type": "integer" } }, "required": [ "brand", "major" ], "type": "object" }, "status": { "enum": [ "supported" ], "type": "string" }, "supported_browsers": { "items": { "additionalProperties": false, "properties": { "brand": { "anyOf": [ { "enum": [ "Google Chrome" ], "type": "string" }, { "enum": [ "Microsoft Edge" ], "type": "string" } ] }, "major": { "minimum": 1, "type": "integer" } }, "required": [ "brand", "major" ], "type": "object" }, "maxItems": 2, "type": "array" } }, "required": [ "app_version", "browser", "status", "supported_browsers" ], "type": "object" } } }, "description": "Default Response" }, "426": { "content": { "application/json": { "schema": { "additionalProperties": false, "properties": { "error": { "additionalProperties": false, "properties": { "code": { "anyOf": [ { "enum": [ "BROWSER_UNSUPPORTED" ], "type": "string" }, { "enum": [ "MODEL_CONFIG_VERSION_CONFLICT" ], "type": "string" }, { "enum": [ "MODEL_DEFAULT_REPLACEMENT_REQUIRED" ], "type": "string" }, { "enum": [ "MODEL_DEFAULT_REPLACEMENT_INVALID" ], "type": "string" }, { "enum": [ "MODEL_RECOMMENDATION_PRIORITY_INVALID" ], "type": "string" }, { "enum": [ "MODEL_RECOMMENDATION_PRIORITY_CONFLICT" ], "type": "string" }, { "enum": [ "PRIVATE_CONTENT_NOTICE_ACK_REQUIRED" ], "type": "string" }, { "enum": [ "ASSET_HISTORY_REFERENCE_CONFLICT" ], "type": "string" }, { "enum": [ "ASSET_CLEANUP_CANDIDATE_STALE" ], "type": "string" }, { "enum": [ "STORAGE_CAPACITY_EXCEEDED" ], "type": "string" }, { "enum": [ "REGISTRATION_REJECTED" ], "type": "string" }, { "enum": [ "REGISTRATION_REQUEST_INVALID" ], "type": "string" }, { "enum": [ "IDEMPOTENCY_KEY_CONFLICT" ], "type": "string" }, { "enum": [ "AUTH_SESSION_INVALID" ], "type": "string" }, { "enum": [ "AUTH_SERVICE_UNAVAILABLE" ], "type": "string" }, { "enum": [ "AUTH_ENTRY_REJECTED" ], "type": "string" }, { "enum": [ "AUTH_RATE_LIMITED" ], "type": "string" }, { "enum": [ "AUTH_CSRF_INVALID" ], "type": "string" } ] }, "correlation_id": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$", "type": "string" }, "details": { "additionalProperties": false, "properties": { "capacity_status": { "anyOf": [ { "enum": [ "normal" ], "type": "string" }, { "enum": [ "warning" ], "type": "string" }, { "enum": [ "critical" ], "type": "string" }, { "enum": [ "full" ], "type": "string" }, { "enum": [ "unavailable" ], "type": "string" } ] }, "current_task_ref": { "maxLength": 160, "pattern": "^[a-z][a-z0-9_]*:[A-Za-z0-9_-]+$", "type": "string" }, "field_errors": { "items": { "additionalProperties": false, "properties": { "field": { "maxLength": 120, "pattern": "^[A-Za-z0-9_.\\[\\]-]+$", "type": "string" }, "message_key": { "maxLength": 120, "pattern": "^[A-Za-z0-9_.-]+$", "type": "string" } }, "required": [ "field", "message_key" ], "type": "object" }, "maxItems": 32, "type": "array" }, "latest_version": { "anyOf": [ { "minimum": 0, "type": "integer" }, { "maxLength": 120, "type": "string" } ] }, "reason": { "anyOf": [ { "enum": [ "platform_unsupported" ], "type": "string" }, { "enum": [ "brand_unsupported" ], "type": "string" }, { "enum": [ "version_unsupported" ], "type": "string" }, { "enum": [ "identity_unavailable" ], "type": "string" } ] }, "remaining_bytes": { "minimum": 0, "type": "integer" }, "supported_browsers": { "items": { "additionalProperties": false, "properties": { "brand": { "anyOf": [ { "enum": [ "Google Chrome" ], "type": "string" }, { "enum": [ "Microsoft Edge" ], "type": "string" } ] }, "major": { "minimum": 1, "type": "integer" } }, "required": [ "brand", "major" ], "type": "object" }, "maxItems": 2, "type": "array" } }, "type": "object" }, "error_category": { "anyOf": [ { "enum": [ "upstream_timeout" ], "type": "string" }, { "enum": [ "upstream_failed" ], "type": "string" }, { "enum": [ "safety_rejected" ], "type": "string" }, { "enum": [ "model_disabled" ], "type": "string" }, { "enum": [ "gateway_balance_insufficient" ], "type": "string" }, { "enum": [ "gateway_contract_invalid" ], "type": "string" }, { "enum": [ "reference_invalid" ], "type": "string" }, { "enum": [ "unknown_retryable" ], "type": "string" }, { "enum": [ "unknown_non_retryable" ], "type": "string" } ] }, "message_key": { "maxLength": 120, "pattern": "^[A-Za-z0-9_.-]+$", "type": "string" } }, "required": [ "code", "message_key", "correlation_id", "details" ], "type": "object" } }, "required": [ "error" ], "type": "object" } } }, "description": "Default Response" } }, "tags": [ "Browser support" ] } } } }