{"openapi":"3.0.0","paths":{"/health":{"get":{"operationId":"AppController_healthCheck","parameters":[],"responses":{"200":{"description":""}},"tags":["System"],"summary":"Health Check"}},"/source":{"get":{"operationId":"AppController_sourceOffer","parameters":[],"responses":{"200":{"description":""}},"tags":["System"],"summary":"Source Offer"}},"/ready":{"get":{"operationId":"AppController_readinessCheck","parameters":[],"responses":{"200":{"description":""}},"tags":["System"],"summary":"Readiness Check"}},"/user/register":{"post":{"operationId":"UserController_signUp","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignUpDto"}}}},"responses":{"201":{"description":""}},"tags":["Users"],"summary":"Sign Up"}},"/user/token/send":{"post":{"operationId":"UserController_sendToken","parameters":[],"responses":{"201":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"tags":["Users"],"summary":"Send Token"}},"/user/change-password":{"post":{"operationId":"UserController_changePassword","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangePasswordDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]},{"browser-cookie":[]}],"tags":["Users"],"summary":"Change Password"}},"/user/change-name":{"post":{"operationId":"UserController_changeName","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangeNameDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]},{"browser-cookie":[]}],"tags":["Users"],"summary":"Change Name"}},"/user/change-email":{"post":{"operationId":"UserController_changeSendEmail","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]},{"browser-cookie":[]}],"tags":["Users"],"summary":"Change Send Email"}},"/user/change-email/verify":{"post":{"operationId":"UserController_changeVerifyEmail","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangeEmailVerifyDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]},{"browser-cookie":[]}],"tags":["Users"],"summary":"Change Verify Email"}},"/user/verify/email":{"post":{"operationId":"UserController_signContinueUp","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyAccountDto"}}}},"responses":{"201":{"description":""}},"tags":["Users"],"summary":"Sign Continue Up"}},"/user/resend/register":{"post":{"operationId":"UserController_resendRegisterEmail","parameters":[],"responses":{"201":{"description":""}},"tags":["Users"],"summary":"Resend Register Email"}},"/user/resend/password":{"post":{"operationId":"UserController_resendPasswordEmail","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailDto"}}}},"responses":{"201":{"description":""}},"tags":["Users"],"summary":"Resend Password Email"}},"/user/delete/account":{"post":{"operationId":"UserController_deleteAccount","parameters":[],"responses":{"201":{"description":""}},"security":[{"bearer":[]},{"browser-cookie":[]}],"tags":["Users"],"summary":"Delete Account"}},"/user/reset/password":{"post":{"operationId":"UserController_resetPassword","parameters":[],"responses":{"201":{"description":""}},"tags":["Users"],"summary":"Reset Password"}},"/user/login":{"post":{"operationId":"UserController_signIn","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthCredentialsDto"}}}},"responses":{"201":{"description":""}},"tags":["Users"],"summary":"Sign In"}},"/user/logout":{"post":{"operationId":"UserController_logout","parameters":[],"responses":{"204":{"description":""}},"tags":["Users"],"summary":"Logout"}},"/user/refresh":{"post":{"operationId":"UserController_refreshToken","parameters":[],"responses":{"201":{"description":""}},"security":[{"bearer":[]},{"browser-cookie":[]}],"tags":["Users"],"summary":"Refresh Token"}},"/user/whoami":{"get":{"operationId":"UserController_whoami","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]},{"browser-cookie":[]}],"tags":["Users"],"summary":"Whoami"}},"/user/subscription":{"get":{"operationId":"UserController_getSubscription","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]},{"browser-cookie":[]}],"tags":["Users"],"summary":"Get Subscription"}},"/user/language/preference":{"post":{"operationId":"UserController_setLanguagePreference","parameters":[],"responses":{"201":{"description":""}},"security":[{"bearer":[]},{"browser-cookie":[]}],"tags":["Users"],"summary":"Set Language Preference"}},"/user/cli/token":{"post":{"operationId":"UserController_generateCliToken","parameters":[],"responses":{"201":{"description":""}},"security":[{"bearer":[]},{"browser-cookie":[]}],"tags":["Users"],"summary":"Generate Cli Token"},"get":{"operationId":"UserController_getCliToken","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]},{"browser-cookie":[]}],"tags":["Users"],"summary":"Get Cli Token"}},"/user/cli/token/revoke":{"post":{"operationId":"UserController_revokeCliToken","parameters":[],"responses":{"201":{"description":""}},"security":[{"bearer":[]},{"browser-cookie":[]}],"tags":["Users"],"summary":"Revoke Cli Token"}},"/subscription/plans":{"get":{"operationId":"SubscriptionController_getAllSubscriptions","parameters":[],"responses":{"200":{"description":""}},"tags":["Subscriptions"],"summary":"Get All Subscriptions"}},"/subscription/user/plans":{"get":{"operationId":"SubscriptionController_getUserSubscriptions","parameters":[{"name":"show","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"bearer":[]},{"browser-cookie":[]}],"tags":["Subscriptions"],"summary":"Get User Subscriptions"}},"/subscription/stripe-webhook":{"post":{"operationId":"SubscriptionController_handleStripeWebhook","parameters":[{"name":"stripe-signature","required":true,"in":"header","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"tags":["Subscriptions"],"summary":"Handle Stripe Webhook"}},"/subscription/create-checkout-session":{"post":{"operationId":"SubscriptionController_createCheckoutSession","parameters":[],"responses":{"201":{"description":""}},"security":[{"bearer":[]},{"browser-cookie":[]}],"tags":["Subscriptions"],"summary":"Create Checkout Session"}},"/subscription/preview-upgrade":{"post":{"operationId":"SubscriptionController_previewUpgrade","parameters":[],"responses":{"201":{"description":""}},"security":[{"bearer":[]},{"browser-cookie":[]}],"tags":["Subscriptions"],"summary":"Preview Upgrade"}},"/subscription/upgrade":{"post":{"operationId":"SubscriptionController_upgradeSubscription","parameters":[],"responses":{"201":{"description":""}},"security":[{"bearer":[]},{"browser-cookie":[]}],"tags":["Subscriptions"],"summary":"Upgrade Subscription"}},"/subscription/cancel":{"post":{"operationId":"SubscriptionController_cancelSubscription","parameters":[],"responses":{"201":{"description":""}},"security":[{"bearer":[]},{"browser-cookie":[]}],"tags":["Subscriptions"],"summary":"Cancel Subscription"}},"/auth/google":{"get":{"operationId":"AuthController_googleAuth","parameters":[],"responses":{"200":{"description":""}},"tags":["Authentication"],"summary":"Google Auth"}},"/auth/google/callback":{"get":{"operationId":"AuthController_googleAuthCallback","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Authentication"],"summary":"Google Auth Callback"}},"/newsletter/subscribe":{"post":{"operationId":"NewsletterController_subscribe","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateNewsletterDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Newsletter"],"summary":"Subscribe"}},"/component/search":{"post":{"operationId":"ComponentController_search","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchComponentsDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]},{"browser-cookie":[]}],"tags":["Components"],"summary":"Search"}},"/component/image/{id}":{"get":{"operationId":"ComponentController_getImage","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]},{"browser-cookie":[]}],"tags":["Components"],"summary":"Get Image"}},"/component/image/upload":{"post":{"operationId":"ComponentController_uploadFile","parameters":[],"responses":{"201":{"description":""}},"security":[{"bearer":[]},{"browser-cookie":[]}],"tags":["Components"],"summary":"Upload File"}},"/component/share/{id}":{"post":{"operationId":"ComponentController_share","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"security":[{"bearer":[]},{"browser-cookie":[]}],"tags":["Components"],"summary":"Share"}},"/component/create":{"post":{"operationId":"ComponentController_create","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateComponentDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]},{"browser-cookie":[]}],"tags":["Components"],"summary":"Create"}},"/component/fork":{"post":{"operationId":"ComponentController_fork","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForkComponentDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]},{"browser-cookie":[]}],"tags":["Components"],"summary":"Fork"}},"/component/can/create":{"post":{"operationId":"ComponentController_checkIfCanCreate","parameters":[],"responses":{"201":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"bearer":[]},{"browser-cookie":[]}],"tags":["Components"],"summary":"Check If Can Create"}},"/component/my":{"get":{"operationId":"ComponentController_findAllMy","parameters":[{"name":"page","required":true,"in":"query","schema":{"type":"number"}},{"name":"term","required":true,"in":"query","schema":{"type":"string"}},{"name":"filter","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]},{"browser-cookie":[]}],"tags":["Components"],"summary":"Find All My"}},"/component/external":{"get":{"operationId":"ComponentController_findAllExternal","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]},{"browser-cookie":[]}],"tags":["Components"],"summary":"Find All External"}},"/component/my/recent":{"get":{"operationId":"ComponentController_findRecentMy","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]},{"browser-cookie":[]}],"tags":["Components"],"summary":"Find Recent My"}},"/component/check/domain":{"get":{"operationId":"ComponentController_checkDomain","parameters":[{"name":"domain","required":true,"in":"query","schema":{"type":"string"}},{"name":"id","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]},{"browser-cookie":[]}],"tags":["Components"],"summary":"Check Domain"}},"/component/{id}":{"get":{"operationId":"ComponentController_findOne","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]},{"browser-cookie":[]}],"tags":["Components"],"summary":"Find One"},"delete":{"operationId":"ComponentController_remove","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]},{"browser-cookie":[]}],"tags":["Components"],"summary":"Remove"}},"/component/upvote":{"post":{"operationId":"ComponentController_upvote","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpvoteComponentDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]},{"browser-cookie":[]}],"tags":["Components"],"summary":"Upvote"}},"/component/report/{id}":{"post":{"operationId":"ComponentController_reportComponent","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportComponentDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]},{"browser-cookie":[]}],"tags":["Components"],"summary":"Report Component"}},"/component/gif/create":{"post":{"operationId":"ComponentController_getAnimatedImg","parameters":[],"responses":{"201":{"description":""}},"security":[{"bearer":[]},{"browser-cookie":[]}],"tags":["Components"],"summary":"Get Animated Img"}},"/c/og-image/{id}":{"get":{"operationId":"PublicComponentController_getImageOg","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["Public components"],"summary":"Get Image Og"}},"/c/info/{id}":{"get":{"operationId":"PublicComponentController_getComponent","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["Public components"],"summary":"Get Component"}},"/c/fetch/sitemap/all":{"get":{"operationId":"PublicComponentController_getAllComponentsForSitemap","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"type":"object"}}}}}},"security":[{"internal-api-key":[]}],"tags":["Public components"],"summary":"Get All Components For Sitemap"}},"/c/top-components":{"get":{"operationId":"PublicComponentController_getTopComponents","parameters":[],"responses":{"200":{"description":""}},"tags":["Public components"],"summary":"Get Top Components"}},"/c/search":{"post":{"operationId":"PublicComponentController_publicSearch","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchComponentsDto"}}}},"responses":{"201":{"description":""}},"tags":["Public components"],"summary":"Public Search"}},"/c/view":{"get":{"operationId":"PublicComponentController_viewComponent","parameters":[{"name":"slug","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["Public components"],"summary":"View Component"}},"/c/image/{id}":{"get":{"operationId":"PublicComponentController_getImage","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["Public components"],"summary":"Get Image"}},"/r/registry.json":{"get":{"operationId":"RegistryController_index","parameters":[],"responses":{"200":{"description":""}},"tags":["Registry"],"summary":"Index"}},"/r/{name}.json":{"get":{"operationId":"RegistryController_officialItem","parameters":[{"name":"name","required":true,"in":"path","schema":{"type":"string"}},{"name":"authorization","required":true,"in":"header","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"cli-bearer":[]}],"tags":["Registry"],"summary":"Official Item"}},"/r/{username}/{name}.json":{"get":{"operationId":"RegistryController_item","parameters":[{"name":"username","required":true,"in":"path","schema":{"type":"string"}},{"name":"name","required":true,"in":"path","schema":{"type":"string"}},{"name":"authorization","required":true,"in":"header","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"cli-bearer":[]}],"tags":["Registry"],"summary":"Item"}},"/r/{username}/{name}/{digest}.json":{"get":{"operationId":"RegistryController_revisionItem","parameters":[{"name":"username","required":true,"in":"path","schema":{"type":"string"}},{"name":"name","required":true,"in":"path","schema":{"type":"string"}},{"name":"digest","required":true,"in":"path","schema":{"type":"string"}},{"name":"authorization","required":true,"in":"header","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"cli-bearer":[]}],"tags":["Registry"],"summary":"Revision Item"}},"/r/{username}/{name}":{"get":{"operationId":"RegistryController_itemNoExt","parameters":[{"name":"username","required":true,"in":"path","schema":{"type":"string"}},{"name":"name","required":true,"in":"path","schema":{"type":"string"}},{"name":"authorization","required":true,"in":"header","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"cli-bearer":[]}],"tags":["Registry"],"summary":"Item No Ext"}},"/ai/generate":{"post":{"operationId":"AiController_generateResponse","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]},{"browser-cookie":[]}],"tags":["AI"],"summary":"Generate Response"}},"/ai/completion":{"post":{"operationId":"AiController_completion","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompletionDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]},{"browser-cookie":[]}],"tags":["AI"],"summary":"Completion"}},"/ai/completion/input":{"post":{"operationId":"AiController_completionInput","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompletionInputDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"bearer":[]},{"browser-cookie":[]}],"tags":["AI"],"summary":"Completion Input"}},"/ai/generate-tokens":{"post":{"operationId":"AiController_generateTokens","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateTokensDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"bearer":[]},{"browser-cookie":[]}],"tags":["AI"],"summary":"Generate Tokens"}},"/ai/remap-files":{"post":{"operationId":"AiController_remapFiles","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemapFilesDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"bearer":[]},{"browser-cookie":[]}],"tags":["AI"],"summary":"Remap Files"}},"/ai/generate-preview":{"post":{"operationId":"AiController_generatePreview","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FilesDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"bearer":[]},{"browser-cookie":[]}],"tags":["AI"],"summary":"Generate Preview"}},"/ai/component-name":{"post":{"operationId":"AiController_generateComponentName","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComponentNameDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]},{"browser-cookie":[]}],"tags":["AI"],"summary":"Generate Component Name"}},"/theme/{id}":{"get":{"operationId":"ThemeController_getTheme","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]},{"browser-cookie":[]}],"tags":["Themes"],"summary":"Get Theme"},"delete":{"operationId":"ThemeController_deleteTheme","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"if-match","required":true,"in":"header","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]},{"browser-cookie":[]}],"tags":["Themes"],"summary":"Delete Theme"}},"/theme/insert":{"post":{"operationId":"ThemeController_createOrUpdate","parameters":[{"name":"if-match","required":true,"in":"header","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InsertThemeDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]},{"browser-cookie":[]}],"tags":["Themes"],"summary":"Create Or Update"}},"/cli/publish-story":{"post":{"operationId":"CliController_publishStory","parameters":[{"name":"authorization","required":true,"in":"header","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/PublishStoryDto"},{"$ref":"#/components/schemas/PublishStoryV2Dto"}],"discriminator":{"propertyName":"schemaVersion"}}}}},"responses":{"201":{"description":""}},"security":[{"cli-bearer":[]}],"tags":["CLI"],"summary":"Publish Story"}},"/cli/get":{"get":{"operationId":"CliController_get","parameters":[{"name":"id","required":true,"in":"query","schema":{"type":"string"}},{"name":"x-cli-token","required":true,"in":"header","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"cli-token":[]}],"tags":["CLI"],"summary":"Get"}},"/cli/get-all":{"get":{"operationId":"CliController_getAll","parameters":[{"name":"x-cli-token","required":true,"in":"header","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"cli-token":[]}],"tags":["CLI"],"summary":"Get All"}}},"info":{"title":"Compify API","description":"HTTP API for Compify components, themes, users, and integrations.","version":"1.0","contact":{}},"tags":[{"name":"System","description":"Liveness and dependency readiness"},{"name":"Authentication","description":"OAuth authentication flows"},{"name":"Users","description":"Registration, sessions, profiles, and account operations"},{"name":"Subscriptions","description":"Plans, usage, checkout, and billing webhooks"},{"name":"Components","description":"Authenticated component management"},{"name":"Public components","description":"Public component metadata, assets, and discovery"},{"name":"Registry","description":"shadcn-compatible registry endpoints"},{"name":"Themes","description":"Component theme management"},{"name":"AI","description":"Configured AI generation and completion providers"},{"name":"CLI","description":"CLI-authenticated component operations"},{"name":"Newsletter","description":"Newsletter subscriptions"}],"servers":[{"url":"https://api.compify.app"}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"},"browser-cookie":{"type":"apiKey","in":"cookie","name":"compify_auth","description":"HttpOnly browser session cookie"},"cli-bearer":{"scheme":"bearer","bearerFormat":"CLI token","type":"http"},"cli-token":{"type":"apiKey","in":"header","name":"x-cli-token"},"internal-api-key":{"type":"apiKey","in":"header","name":"x-api-key"}},"schemas":{"SignUpDto":{"type":"object","properties":{"firstName":{"type":"string"},"lastName":{"type":"string"},"email":{"type":"string"},"password":{"type":"string"},"turnstileToken":{"type":"string"}},"required":["email","password"]},"ChangePasswordDto":{"type":"object","properties":{"currentPassword":{"type":"string"},"newPassword":{"type":"string"}},"required":["currentPassword","newPassword"]},"ChangeNameDto":{"type":"object","properties":{"firstName":{"type":"string"},"lastName":{"type":"string"},"username":{"type":"string","maxLength":60,"pattern":"^[a-zA-Z0-9._-]+$"}},"required":["firstName","lastName","username"]},"EmailDto":{"type":"object","properties":{"email":{"type":"string","format":"email"}},"required":["email"]},"ChangeEmailVerifyDto":{"type":"object","properties":{"email":{"type":"string","format":"email"},"token":{"type":"string"}},"required":["email","token"]},"VerifyAccountDto":{"type":"object","properties":{"email":{"type":"string"},"token":{"type":"string"}},"required":["email","token"]},"AuthCredentialsDto":{"type":"object","properties":{"email":{"type":"string"},"password":{"type":"string"}},"required":["email","password"]},"CreateNewsletterDto":{"type":"object","properties":{"email":{"type":"string","format":"email"}},"required":["email"]},"SearchComponentsDto":{"type":"object","properties":{"query":{"type":"string","maxLength":200},"page":{"type":"number","minimum":0,"maximum":1000000},"selectedOption":{"maxItems":20,"type":"array","items":{"type":"string","enum":["react","react-ts","vue","vue-ts","nextjs","nextjs-ts","react-native","react-native-ts","static"]}},"selectedTags":{"maxItems":50,"type":"array","items":{"type":"string","maxLength":100}}}},"CreateComponentDto":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","maxLength":255},"description":{"type":"string"},"activeFile":{"type":"string"},"previewFile":{"type":"string"},"code":{"type":"string"},"isShared":{"type":"boolean"},"pageSettings":{"type":"object"},"usedUiFrameworks":{"type":"array","items":{"type":"string"}},"usedDeps":{"type":"object"},"publishingName":{"type":"string","maxLength":64,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"visibility":{"type":"string","enum":["draft","private","public","external","free"]},"language":{"type":"string","enum":["react","react-ts","vue","vue-ts","nextjs","nextjs-ts","react-native","react-native-ts","static"]},"isSetup":{"type":"boolean"}},"required":["name","code","language"]},"ForkComponentDto":{"type":"object","properties":{"componentId":{"type":"string"}},"required":["componentId"]},"UpvoteComponentDto":{"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string","enum":["upvote","downvote"]}},"required":["id","status"]},"ReportComponentDto":{"type":"object","properties":{"reason":{"type":"string","maxLength":255}},"required":["reason"]},"GenerateDto":{"type":"object","properties":{"prompt":{"type":"string","minLength":1,"maxLength":20000},"initialCode":{"type":"string","maxLength":300000},"language":{"type":"string","maxLength":40},"id":{"type":"string"},"usedUiFrameworks":{"type":"array","maxItems":12,"items":{"type":"string","enum":["tailwind","tailwind-ts","tailwind-v4","tailwind-ts-v4","styled-components","daisyui","daisyui-ts","mui","shadcn","theme"]}},"images":{"maxItems":4,"type":"array","items":{"type":"string","maxLength":2500000}},"model":{"type":"string","enum":["glm-text","glm-vision"]}},"required":["prompt"]},"RelatedFileDto":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":240},"content":{"type":"string","maxLength":100000}},"required":["path","content"]},"CursorPositionDto":{"type":"object","properties":{"lineNumber":{"type":"number","minimum":1,"maximum":1000000},"column":{"type":"number","minimum":1,"maximum":1000000}},"required":["lineNumber","column"]},"EditorStateDto":{"type":"object","properties":{"completionMode":{"type":"string","enum":["insert","complete","continue"]}},"required":["completionMode"]},"CompletionMetadataDto":{"type":"object","properties":{"language":{"type":"string","maxLength":40},"filename":{"type":"string","maxLength":240},"technologies":{"maxItems":12,"type":"array","items":{"type":"string","maxLength":80}},"relatedFiles":{"maxItems":10,"type":"array","items":{"$ref":"#/components/schemas/RelatedFileDto"}},"textAfterCursor":{"type":"string","maxLength":100000},"textBeforeCursor":{"type":"string","maxLength":100000},"cursorPosition":{"$ref":"#/components/schemas/CursorPositionDto"},"editorState":{"$ref":"#/components/schemas/EditorStateDto"}},"required":["textAfterCursor","textBeforeCursor","cursorPosition","editorState"]},"CompletionDto":{"type":"object","properties":{"completionMetadata":{"$ref":"#/components/schemas/CompletionMetadataDto"}},"required":["completionMetadata"]},"CompletionInputDto":{"type":"object","properties":{"prompt":{"type":"string","minLength":1,"maxLength":4000},"fa":{"maxItems":100,"type":"array","items":{"type":"string","maxLength":100}}},"required":["prompt"]},"GenerateTokensDto":{"type":"object","properties":{"prompt":{"type":"string","minLength":1,"maxLength":8000},"currentTokens":{"type":"object"},"usedUiFrameworks":{"type":"array","maxItems":12,"items":{"type":"string","enum":["tailwind","tailwind-ts","tailwind-v4","tailwind-ts-v4","styled-components","daisyui","daisyui-ts","mui","shadcn","theme"]}},"ui":{"type":"object","additionalProperties":true}},"required":["prompt","currentTokens"]},"RemapFilesDto":{"type":"object","properties":{"componentId":{"type":"string"},"uiFrameworks":{"type":"array","maxItems":12,"items":{"type":"string","enum":["tailwind","tailwind-ts","tailwind-v4","tailwind-ts-v4","styled-components","daisyui","daisyui-ts","mui","shadcn","theme"]}},"files":{"type":"object","additionalProperties":{"type":"string"}}},"required":["componentId","files"]},"FilesDto":{"type":"object","properties":{"files":{"type":"object","additionalProperties":{"type":"string"}}},"required":["files"]},"ComponentNameDto":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":160},"description":{"type":"string","minLength":1,"maxLength":2000},"image":{"type":"string","maxLength":2500000}},"required":["name","description"]},"InsertThemeDto":{"type":"object","properties":{"id":{"type":"string","maxLength":64},"name":{"type":"string","maxLength":100},"groups":{"type":"object","additionalProperties":true},"factors":{"type":"array","items":{"type":"object"}},"values":{"type":"array","items":{"type":"object"}},"componentId":{"type":"string","maxLength":64}}},"StorybookStoryDto":{"type":"object","properties":{"exportName":{"type":"string","description":"Named CSF export identifier"},"name":{"type":"string","description":"Story display name"},"args":{"type":"object","description":"JSON-serializable static story args","additionalProperties":true},"portable":{"type":"boolean","enum":[true],"description":"Must be true; nonportable stories are rejected"}},"required":["exportName","name","portable"]},"StorybookProvenanceDto":{"type":"object","properties":{"storyPath":{"type":"string","description":"Portable package-relative CSF source path"},"gitCommit":{"type":"string","description":"7-64 character hexadecimal Git commit"},"gitRemote":{"type":"string","description":"Sanitized source Git remote host/path without credentials"}},"required":["storyPath"]},"PublishStoryDto":{"type":"object","properties":{"schemaVersion":{"type":"number","enum":[1]},"name":{"type":"string"},"description":{"type":"string"},"publishingName":{"type":"string"},"visibility":{"enum":["public","private","unlisted"],"type":"string"},"language":{"enum":["tsx","jsx","ts","js"],"type":"string"},"entry":{"type":"string"},"files":{"type":"object","additionalProperties":{"type":"string"}},"dependencies":{"type":"object","additionalProperties":{"type":"string"}},"stories":{"minItems":1,"maxItems":100,"type":"array","items":{"$ref":"#/components/schemas/StorybookStoryDto"}},"provenance":{"$ref":"#/components/schemas/StorybookProvenanceDto"},"digest":{"type":"string","description":"SHA-256 of the canonical request without digest"}},"required":["schemaVersion","name","publishingName","visibility","language","entry","files","dependencies","stories","provenance","digest"]},"RegistryArtifactFileDto":{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string"},"target":{"type":"string"},"content":{"type":"string"}},"required":["path","type","content"]},"RegistryArtifactDto":{"type":"object","properties":{"$schema":{"type":"string"},"name":{"type":"string"},"type":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"author":{"type":"string"},"dependencies":{"type":"array","items":{"type":"string"}},"devDependencies":{"type":"array","items":{"type":"string"}},"registryDependencies":{"type":"array","items":{"type":"string"}},"files":{"type":"array","items":{"$ref":"#/components/schemas/RegistryArtifactFileDto"}},"tailwind":{"type":"object","additionalProperties":true},"cssVars":{"type":"object","additionalProperties":true},"css":{"type":"string"},"docs":{"type":"string"},"categories":{"type":"array","items":{"type":"string"}},"meta":{"type":"object","additionalProperties":true}},"required":["name","type","files"]},"PublishStoryV2Dto":{"type":"object","properties":{"schemaVersion":{"type":"number","enum":[2]},"publishingName":{"type":"string"},"visibility":{"enum":["public","private","unlisted"],"type":"string"},"language":{"enum":["tsx","jsx","ts","js"],"type":"string"},"entry":{"type":"string"},"dependencyVersions":{"type":"object","additionalProperties":{"type":"string"}},"stories":{"minItems":1,"maxItems":100,"type":"array","items":{"$ref":"#/components/schemas/StorybookStoryDto"}},"provenance":{"$ref":"#/components/schemas/StorybookProvenanceDto"},"registryItem":{"$ref":"#/components/schemas/RegistryArtifactDto"},"digest":{"type":"string"}},"required":["schemaVersion","publishingName","visibility","language","entry","dependencyVersions","stories","provenance","registryItem","digest"]}}}}