{"openapi":"3.0.0","paths":{"/_status/hc":{"get":{"operationId":"HealthcheckController_check","parameters":[],"responses":{"200":{"description":"The Health Check is successful","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","example":"ok"},"info":{"type":"object","example":{"database":{"status":"up"}},"additionalProperties":{"type":"object","required":["status"],"properties":{"status":{"type":"string"}},"additionalProperties":true},"nullable":true},"error":{"type":"object","example":{},"additionalProperties":{"type":"object","required":["status"],"properties":{"status":{"type":"string"}},"additionalProperties":true},"nullable":true},"details":{"type":"object","example":{"database":{"status":"up"}},"additionalProperties":{"type":"object","required":["status"],"properties":{"status":{"type":"string"}},"additionalProperties":true}}}}}}},"503":{"description":"The Health Check is not successful","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","example":"error"},"info":{"type":"object","example":{"database":{"status":"up"}},"additionalProperties":{"type":"object","required":["status"],"properties":{"status":{"type":"string"}},"additionalProperties":true},"nullable":true},"error":{"type":"object","example":{"redis":{"status":"down","message":"Could not connect"}},"additionalProperties":{"type":"object","required":["status"],"properties":{"status":{"type":"string"}},"additionalProperties":true},"nullable":true},"details":{"type":"object","example":{"database":{"status":"up"},"redis":{"status":"down","message":"Could not connect"}},"additionalProperties":{"type":"object","required":["status"],"properties":{"status":{"type":"string"}},"additionalProperties":true}}}}}}},"default":{"description":"Verify the application is healthy, checks connection to mongodb"}},"tags":["Application Healthcheck"]}},"/v1/growth/settings":{"get":{"operationId":"SettingsController_get","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrowthSettings"}}}}},"security":[{"bearer":[]}],"tags":["growth-settings"]},"patch":{"operationId":"SettingsController_update","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSettingsDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrowthSettings"}}}}},"security":[{"bearer":[]}],"tags":["growth-settings"]}},"/v1/growth/topics":{"get":{"operationId":"TopicsController_list","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ContentTopic"}}}}}},"security":[{"bearer":[]}],"tags":["growth-topics"]},"post":{"operationId":"TopicsController_create","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertTopicDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentTopic"}}}}},"security":[{"bearer":[]}],"tags":["growth-topics"]}},"/v1/growth/topics/{id}":{"get":{"operationId":"TopicsController_get","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentTopic"}}}}},"security":[{"bearer":[]}],"tags":["growth-topics"]},"patch":{"operationId":"TopicsController_update","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertTopicDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentTopic"}}}}},"security":[{"bearer":[]}],"tags":["growth-topics"]},"delete":{"operationId":"TopicsController_archive","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentTopic"}}}}},"security":[{"bearer":[]}],"tags":["growth-topics"]}},"/v1/growth/articles/public/by-slug/{slug}":{"get":{"operationId":"ArticlesController_publicBySlug","parameters":[{"name":"slug","required":true,"in":"path","schema":{"type":"string"}},{"name":"locale","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"bearer":[]}],"tags":["growth-articles"]}},"/v1/growth/articles/public/sitemap":{"get":{"operationId":"ArticlesController_publicSitemap","parameters":[{"name":"locale","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"type":"object"}}}}}},"security":[{"bearer":[]}],"tags":["growth-articles"]}},"/v1/growth/articles/generate":{"post":{"operationId":"ArticlesController_generate","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateArticleDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnswerArticle"}}}}},"security":[{"bearer":[]}],"tags":["growth-articles"]}},"/v1/growth/articles/{id}/regenerate":{"post":{"operationId":"ArticlesController_regenerate","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegenerateArticleDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnswerArticle"}}}}},"security":[{"bearer":[]}],"tags":["growth-articles"]}},"/v1/growth/articles":{"get":{"operationId":"ArticlesController_list","parameters":[{"name":"status","required":false,"in":"query","schema":{"type":"string"}},{"name":"locale","required":false,"in":"query","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"type":"string"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"bearer":[]}],"tags":["growth-articles"]}},"/v1/growth/articles/image-catalog":{"get":{"operationId":"ArticlesController_imageCatalog","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["growth-articles"]}},"/v1/growth/articles/{id}":{"get":{"operationId":"ArticlesController_get","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnswerArticle"}}}}},"security":[{"bearer":[]}],"tags":["growth-articles"]},"patch":{"operationId":"ArticlesController_update","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateArticleDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnswerArticle"}}}}},"security":[{"bearer":[]}],"tags":["growth-articles"]}},"/v1/growth/articles/{id}/approve":{"post":{"operationId":"ArticlesController_approve","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnswerArticle"}}}}},"security":[{"bearer":[]}],"tags":["growth-articles"]}},"/v1/growth/articles/{id}/publish":{"post":{"operationId":"ArticlesController_publish","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnswerArticle"}}}}},"security":[{"bearer":[]}],"tags":["growth-articles"]}},"/v1/growth/articles/{id}/translate":{"post":{"operationId":"ArticlesController_translate","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TranslateArticleDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnswerArticle"}}}}},"security":[{"bearer":[]}],"tags":["growth-articles"]}},"/v1/account/register":{"post":{"operationId":"AccountController_register","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterAccountDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"bearer":[]}],"tags":["account"]}},"/v1/account/me":{"get":{"operationId":"AccountController_me","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"bearer":[]}],"tags":["account"]}},"/v1/account/credits/history":{"get":{"operationId":"AccountController_creditHistory","parameters":[{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"type":"number"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"bearer":[]}],"tags":["account"]}},"/v1/account/settings":{"get":{"operationId":"AccountController_workspaceSettings","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"bearer":[]}],"tags":["account"]},"patch":{"operationId":"AccountController_updateWorkspaceSettings","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSettingsDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"bearer":[]}],"tags":["account"]}},"/v1/workspaces":{"get":{"operationId":"WorkspacesController_list","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Workspace"}}}}}},"security":[{"bearer":[]}],"tags":["workspaces"]}},"/v1/jobs":{"get":{"operationId":"JobsController_list","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BatchJob"}}}}}},"security":[{"api-key":[]},{"bearer":[]}],"tags":["jobs"]},"post":{"operationId":"JobsController_create","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateBatchJobDto"}}}},"responses":{"202":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchJob"}}}}},"security":[{"api-key":[]},{"bearer":[]}],"tags":["jobs"]}},"/v1/jobs/{id}/result":{"get":{"operationId":"JobsController_getResult","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"api-key":[]},{"bearer":[]}],"tags":["jobs"]}},"/v1/jobs/{id}":{"get":{"operationId":"JobsController_get","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchJob"}}}}},"security":[{"api-key":[]},{"bearer":[]}],"tags":["jobs"]}},"/v1/jobs/{id}/retry-failed":{"post":{"operationId":"JobsController_retryFailed","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"202":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchJob"}}}}},"security":[{"api-key":[]},{"bearer":[]}],"tags":["jobs"]}},"/v1/account/api-keys":{"get":{"operationId":"ApiKeysController_list","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"type":"object"}}}}}},"security":[{"bearer":[]}],"tags":["api-keys"]},"post":{"operationId":"ApiKeysController_create","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateApiKeyDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"bearer":[]}],"tags":["api-keys"]}},"/v1/account/api-keys/{id}":{"delete":{"operationId":"ApiKeysController_revoke","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["api-keys"]}},"/v1/growth/leads":{"post":{"operationId":"LeadsController_create","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateLeadDto"}}}},"responses":{"201":{"description":""}},"tags":["growth-leads"]}},"/v1/mcp/tools/topic-cluster":{"post":{"operationId":"McpToolsController_topicCluster","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TopicClusterToolDto"}}}},"responses":{"201":{"description":""}},"security":[{"api-key":[]}],"tags":["mcp-tools"]}},"/v1/mcp/tools/faq-schema":{"post":{"operationId":"McpToolsController_faqSchema","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FaqSchemaToolDto"}}}},"responses":{"201":{"description":""}},"security":[{"api-key":[]}],"tags":["mcp-tools"]}},"/v1/mcp/tools/meta-description":{"post":{"operationId":"McpToolsController_metaDescription","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaDescriptionToolDto"}}}},"responses":{"201":{"description":""}},"security":[{"api-key":[]}],"tags":["mcp-tools"]}},"/v1/growth/tools/topic-cluster":{"post":{"operationId":"ToolsController_topicCluster","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TopicClusterToolDto"}}}},"responses":{"201":{"description":""}},"tags":["growth-tools"]}},"/v1/growth/tools/faq-schema":{"post":{"operationId":"ToolsController_faqSchema","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FaqSchemaToolDto"}}}},"responses":{"201":{"description":""}},"tags":["growth-tools"]}},"/v1/growth/tools/meta-description":{"post":{"operationId":"ToolsController_metaDescription","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaDescriptionToolDto"}}}},"responses":{"201":{"description":""}},"tags":["growth-tools"]}},"/openapi.json":{"get":{"operationId":"OpenApiController_getSpec","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["meta"]}},"/v1/growth/samples/availability":{"get":{"operationId":"SamplesController_availability","parameters":[],"responses":{"200":{"description":""}},"tags":["growth-samples"]}},"/v1/admin/customers":{"get":{"operationId":"AdminController_listCustomers","parameters":[{"name":"limit","required":false,"in":"query","schema":{"type":"string"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"bearer":[]}],"tags":["admin"]}},"/v1/admin/customers/{workspaceId}":{"get":{"operationId":"AdminController_getCustomer","parameters":[{"name":"workspaceId","required":true,"in":"path","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"type":"string"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"bearer":[]}],"tags":["admin"]}},"/v1/admin/leads":{"get":{"operationId":"AdminController_listLeads","parameters":[{"name":"limit","required":false,"in":"query","schema":{"type":"string"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"bearer":[]}],"tags":["admin"]}},"/v1/billing/checkout":{"post":{"operationId":"BillingController_checkout","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCheckoutDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["billing"]}},"/v1/billing/webhook":{"post":{"operationId":"BillingController_webhook","parameters":[{"name":"stripe-signature","required":true,"in":"header","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"tags":["billing"]}},"/v1/export/articles/{id}":{"get":{"operationId":"ExportController_export","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"format","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"api-key":[]},{"bearer":[]}],"tags":["export"]}},"/v1/publish/revalidate/{slug}":{"post":{"operationId":"PublishController_revalidate","parameters":[{"name":"slug","required":true,"in":"path","schema":{"type":"string"}},{"name":"locale","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["publish"]}}},"info":{"title":"TopicForge API","description":"Programmatic SEO article production — batch jobs, growth tools, and MCP-compatible endpoints.","version":"1.0","contact":{}},"tags":[],"servers":[{"url":"https://api.topicforge.net/v1","description":"Production"},{"url":"http://localhost:3350/v1","description":"Local development"}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"},"api-key":{"type":"apiKey","in":"header","name":"x-topicforge-api-key","description":"TopicForge API key (tf_live_...)"}},"schemas":{"GrowthSettings":{"type":"object","properties":{"id":{"type":"string"},"key":{"type":"string"},"defaultAuthorGuidance":{"type":"string"},"voiceProfile":{"type":"string"},"productFacts":{"type":"string"},"bannedPhrases":{"type":"array","items":{"type":"string"}},"updatedBy":{"type":"string"}},"required":["id","key","defaultAuthorGuidance","voiceProfile","productFacts","bannedPhrases"]},"UpdateSettingsDto":{"type":"object","properties":{"defaultAuthorGuidance":{"type":"string"},"voiceProfile":{"type":"string"},"productFacts":{"type":"string"},"bannedPhrases":{"type":"array","items":{"type":"string"}}}},"ContentTopic":{"type":"object","properties":{"id":{"type":"string"},"slug":{"type":"string"},"title":{"type":"string"},"questionVariants":{"type":"array","items":{"type":"string"}},"icp":{"type":"string"},"productAngle":{"type":"string"},"topicGuidance":{"type":"string"},"status":{"enum":["archived","queued","generating","drafted"],"type":"string"},"lastError":{"type":"string"}},"required":["id","slug","title","questionVariants","icp","productAngle","status"]},"UpsertTopicDto":{"type":"object","properties":{"slug":{"type":"string","maxLength":120},"title":{"type":"string","maxLength":200},"questionVariants":{"type":"array","items":{"type":"string"}},"icp":{"type":"string"},"productAngle":{"type":"string"},"topicGuidance":{"type":"string"},"status":{"enum":["queued","generating","drafted","archived"],"type":"string"}},"required":["title"]},"GenerateArticleDto":{"type":"object","properties":{"topicId":{"type":"string"},"customGuidance":{"type":"string"}},"required":["topicId"]},"AnswerArticle":{"type":"object","properties":{"id":{"type":"string"},"topicId":{"type":"string"},"slug":{"type":"string"},"locale":{"enum":["en","es","fr","de"],"type":"string"},"translationGroupId":{"type":"string"},"sourceArticleId":{"type":"string"},"slugLocalizedFrom":{"type":"string"},"title":{"type":"string"},"metaDescription":{"type":"string"},"h1":{"type":"string"},"bodyMarkdown":{"type":"string"},"status":{"enum":["draft","approved","published","archived"],"type":"string"},"reviewer":{"type":"string"},"reviewNotes":{"type":"string"},"faqJsonLd":{"type":"object"},"heroImageUrl":{"type":"string"},"inlineImages":{"type":"array","items":{"type":"object"}},"imageIntent":{"enum":["generic","feature","mixed"],"type":"string"},"imageFeatureKeys":{"type":"array","items":{"type":"string"}},"ctaCopy":{"type":"string"},"version":{"type":"number"},"publishedAt":{"format":"date-time","type":"string"},"lastRevalidatedAt":{"format":"date-time","type":"string"},"customGuidance":{"type":"string"},"workspaceId":{"type":"string"},"composedGuidanceSnapshot":{"type":"string"},"generationLog":{"type":"array","items":{"type":"object"}},"bannedPhrasesHit":{"type":"array","items":{"type":"string"}}},"required":["id","topicId","slug","locale","translationGroupId","title","metaDescription","h1","bodyMarkdown","status","inlineImages","ctaCopy","version","generationLog","bannedPhrasesHit"]},"RegenerateArticleDto":{"type":"object","properties":{"customGuidance":{"type":"string"},"stages":{"type":"array","items":{"type":"string","enum":["outline","draft","voice","cta"]}},"preserveExistingImages":{"type":"boolean"}}},"UpdateInlineImageDto":{"type":"object","properties":{"slot":{"type":"string","enum":["after_intro","after_first_h2","before_faq"]},"imageUrl":{"type":"string","format":"uri"},"alt":{"type":"string"},"caption":{"type":"string"}},"required":["slot","imageUrl","alt"]},"UpdateArticleDto":{"type":"object","properties":{"title":{"type":"string"},"slug":{"type":"string"},"h1":{"type":"string"},"metaDescription":{"type":"string"},"bodyMarkdown":{"type":"string"},"ctaCopy":{"type":"string"},"heroImageUrl":{"type":"string","format":"uri"},"inlineImages":{"type":"array","items":{"$ref":"#/components/schemas/UpdateInlineImageDto"}},"customGuidance":{"type":"string"},"reviewNotes":{"type":"string"},"status":{"type":"string","enum":["draft","approved","published","archived"]}}},"TranslateArticleDto":{"type":"object","properties":{"targetLocale":{"type":"string","enum":["es","fr","de"]}},"required":["targetLocale"]},"RegisterAccountDto":{"type":"object","properties":{"email":{"type":"string","format":"email"},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["email"]},"Workspace":{"type":"object","properties":{"id":{"type":"string"},"ownerUserId":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"},"articleCredits":{"type":"number"},"stripeCustomerId":{"type":"string"}},"required":["id","ownerUserId","name","slug","articleCredits"]},"BatchJobItem":{"type":"object","properties":{"topicInput":{"$ref":"#/components/schemas/UpsertTopicDto"},"status":{"type":"string","enum":["done","generating","failed","pending","seeding","translating","approving","publishing"]},"topicId":{"type":"string"},"articleId":{"type":"string"},"error":{"type":"string"},"startedAt":{"format":"date-time","type":"string"},"completedAt":{"format":"date-time","type":"string"},"creditRefunded":{"type":"boolean"}},"required":["topicInput","status"]},"BatchJob":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"status":{"enum":["queued","running","completed","failed","cancelled"],"type":"string"},"config":{"type":"object"},"items":{"type":"array","items":{"$ref":"#/components/schemas/BatchJobItem"}},"createdBy":{"type":"string"},"workspaceId":{"type":"string"},"source":{"type":"string"},"completedAt":{"format":"date-time","type":"string"}},"required":["id","name","status","config","items"]},"BatchJobConfigDto":{"type":"object","properties":{"autoApprove":{"type":"boolean"},"autoPublish":{"type":"boolean"},"translateLocales":{"type":"array","items":{"type":"string"}},"concurrency":{"type":"number","minimum":1,"maximum":10}}},"CreateBatchJobDto":{"type":"object","properties":{"name":{"type":"string"},"config":{"$ref":"#/components/schemas/BatchJobConfigDto"},"topics":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/UpsertTopicDto"}}},"required":["name","topics"]},"CreateApiKeyDto":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":80},"scopes":{"type":"array","items":{"type":"string","enum":["tools","jobs","articles","export"]}}},"required":["name"]},"UtmBundleDto":{"type":"object","properties":{"utmSource":{"type":"string"},"utmMedium":{"type":"string"},"utmCampaign":{"type":"string"},"utmTerm":{"type":"string"},"utmContent":{"type":"string"},"gclid":{"type":"string"},"fbclid":{"type":"string"},"landingPath":{"type":"string"},"referrer":{"type":"string"}}},"CreateLeadDto":{"type":"object","properties":{"firstName":{"type":"string","maxLength":100},"lastName":{"type":"string","maxLength":100},"email":{"type":"string","format":"email"},"phone":{"type":"string","maxLength":50},"utmFirst":{"$ref":"#/components/schemas/UtmBundleDto"},"utmLast":{"$ref":"#/components/schemas/UtmBundleDto"},"referrer":{"type":"string"},"landingPath":{"type":"string"},"articleSlug":{"type":"string"},"recaptchaToken":{"type":"string"}},"required":["email"]},"TopicClusterToolDto":{"type":"object","properties":{"seedTopic":{"type":"string","maxLength":300},"industry":{"type":"string","maxLength":120},"topicCount":{"type":"number","minimum":3,"maximum":100},"recaptchaToken":{"type":"string"},"email":{"type":"string","format":"email"}},"required":["seedTopic"]},"FaqSchemaToolDto":{"type":"object","properties":{"topicTitle":{"type":"string","maxLength":300},"context":{"type":"string","maxLength":2000},"recaptchaToken":{"type":"string"},"email":{"type":"string","format":"email"}},"required":["topicTitle"]},"MetaDescriptionToolDto":{"type":"object","properties":{"title":{"type":"string","maxLength":300},"bodySnippet":{"type":"string","maxLength":4000},"recaptchaToken":{"type":"string"},"email":{"type":"string","format":"email"}},"required":["title"]},"CreateCheckoutDto":{"type":"object","properties":{"pack":{"type":"string","enum":["single","ten","hundred"]}},"required":["pack"]}}}}