{"openapi":"3.1.0","info":{"title":"Text-till-Kladdesign API","version":"0.4.12","description":"Generate Scandinavian clothing design concepts from text prompts. Request a beta API key and submit async design jobs.","contact":{"name":"Gracestack AB","email":"gracestackab@gmail.com"}},"servers":[{"url":"https://text-till-klad-design.gracestack.se"}],"paths":{"/health":{"get":{"summary":"Health","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/design/{design_id}":{"get":{"summary":"Get Design","description":"Poll for design status.","operationId":"get_design_api_design__design_id__get","parameters":[{"name":"design_id","in":"path","required":true,"schema":{"type":"string","title":"Design Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/pricing":{"get":{"summary":"Pricing","operationId":"pricing_api_pricing_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/keys/request":{"post":{"summary":"Api V1 Keys Request","description":"Request a free beta API key. For paid plans, purchase via /api/pricing first.","operationId":"api_v1_keys_request_api_v1_keys_request_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/design":{"post":{"summary":"Api V1 Design","description":"Create a design via API key authentication.","operationId":"api_v1_design_api_v1_design_post","parameters":[{"name":"X-API-Key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiDesignRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"ApiDesignRequest":{"properties":{"description":{"type":"string","title":"Description"},"style":{"type":"string","title":"Style","default":"tech-sketch"}},"type":"object","required":["description"],"title":"ApiDesignRequest"},"ApiKeyRequest":{"properties":{"email":{"type":"string","title":"Email"},"plan":{"type":"string","title":"Plan","default":"beta"}},"type":"object","required":["email"],"title":"ApiKeyRequest"},"DesignRequest":{"properties":{"description":{"type":"string","title":"Description"},"style":{"type":"string","title":"Style","default":"tech-sketch"}},"type":"object","required":["description"],"title":"DesignRequest"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"InstantDemoRequest":{"properties":{"prompt":{"type":"string","title":"Prompt"}},"type":"object","required":["prompt"],"title":"InstantDemoRequest","description":"Incoming payload for anonymous instant demo generation."},"LeadCaptureRequest":{"properties":{"email":{"type":"string","title":"Email"},"source":{"type":"string","title":"Source","default":"landing"},"intent":{"type":"string","enum":["designer","indie","atelje","api","enterprise","waitlist","gratis","buy","trial","demo"],"title":"Intent","default":"designer"},"consent_marketing":{"type":"boolean","title":"Consent Marketing","default":true},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"type":"object","required":["email"],"title":"LeadCaptureRequest","description":"Incoming payload for capturing a warm lead from landing page."},"LeadContactUpdateRequest":{"properties":{"contacted":{"type":"boolean","title":"Contacted","default":true},"channel":{"type":"string","enum":["email","sms","dm","other"],"title":"Channel","default":"email"}},"type":"object","title":"LeadContactUpdateRequest","description":"Payload for marking if outreach already happened."},"PromptEventRequest":{"properties":{"event_type":{"type":"string","enum":["prompt_generated","prompt_used","prompt_copied","cta_clicked","design_submitted","demo_variant_seen","demo_variant_clicked","demo_started","demo_generated","email_captured","lead_captured","lead_contact_status_updated"],"title":"Event Type"},"idea":{"type":"string","title":"Idea","default":""},"style":{"type":"string","title":"Style","default":"tech-sketch"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"type":"object","required":["event_type"],"title":"PromptEventRequest","description":"Incoming frontend event payload."},"PromptGeneratorRequest":{"properties":{"idea":{"type":"string","title":"Idea"},"style":{"type":"string","title":"Style","default":"tech-sketch"}},"type":"object","required":["idea"],"title":"PromptGeneratorRequest"},"PromptSnapshotRequest":{"properties":{"source":{"type":"string","title":"Source","default":"manual"},"funnel":{"additionalProperties":true,"type":"object","title":"Funnel"},"recommendation":{"additionalProperties":true,"type":"object","title":"Recommendation"}},"type":"object","required":["funnel","recommendation"],"title":"PromptSnapshotRequest","description":"Incoming request payload for persisting CTA copy snapshots."},"SelfModApplyChange":{"properties":{"key":{"type":"string","title":"Key"},"value":{"type":"string","title":"Value"},"reason":{"type":"string","title":"Reason"}},"type":"object","required":["key","value","reason"],"title":"SelfModApplyChange"},"SelfModApplyRequest":{"properties":{"source":{"type":"string","title":"Source","default":"smab-text-design"},"changes":{"items":{"$ref":"#/components/schemas/SelfModApplyChange"},"type":"array","title":"Changes"}},"type":"object","required":["changes"],"title":"SelfModApplyRequest"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}},"tags":[{"name":"health","description":"Service health checks"},{"name":"pricing","description":"Plan and checkout links"},{"name":"design","description":"Async design creation and status polling"},{"name":"api_keys","description":"API key request and authenticated usage"}]}