{"openapi":"3.1.0","info":{"title":"IndieDaddy public catalog","version":"1.0.0","description":"Read-only published listings, plus two account endpoints for a connected token: open a private launch draft and read your own launches. Tokens come from approving an agent connection or from Workspace > Account > Connected agents. Alphabetical discovery and chronological launches, not competitive ranking."},"servers":[{"url":"https://indiedaddy.com"}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer"}}},"paths":{"/api/v1/products":{"get":{"operationId":"search_products","summary":"Search published products by name, pitch or category.","parameters":[{"name":"q","in":"query","required":false,"schema":{"type":"string","maxLength":200}},{"name":"category","in":"query","required":false,"schema":{"type":"string","maxLength":100}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":50,"default":20}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"maximum":10000,"default":0}}],"responses":{"200":{"description":"Public catalog data","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string"},"name":{"type":"string"},"tagline":{"type":"string"},"description":{"type":"string"},"category":{"type":"string"},"pricing":{"type":"string"},"profileUrl":{"type":"string"},"websiteUrl":{"type":"string"},"source":{"type":"string"},"launchedAt":{"type":["string","null"],"format":"date-time"}}}},"total":{"type":"integer"},"limit":{"type":"integer"},"offset":{"type":"integer"},"nextOffset":{"type":["integer","null"]},"order":{"type":"string"},"weekStart":{"type":"string","format":"date-time"}}}}}},"400":{"description":"Invalid parameters"},"404":{"description":"Not found"},"429":{"description":"Rate limit; retry after the Retry-After header"}}}},"/api/v1/products/{id}":{"get":{"operationId":"get_product","summary":"Read a published product by its IndieDaddy id.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","maxLength":200}}],"responses":{"200":{"description":"Public catalog data","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string"},"name":{"type":"string"},"tagline":{"type":"string"},"description":{"type":"string"},"category":{"type":"string"},"pricing":{"type":"string"},"profileUrl":{"type":"string"},"websiteUrl":{"type":"string"},"source":{"type":"string"},"launchedAt":{"type":["string","null"],"format":"date-time"}}}}}},"400":{"description":"Invalid parameters"},"404":{"description":"Not found"},"429":{"description":"Rate limit; retry after the Retry-After header"}}}},"/api/v1/categories":{"get":{"operationId":"list_categories","summary":"List categories with published products.","parameters":[],"responses":{"200":{"description":"Public catalog data","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"count":{"type":"integer"}}}}}}}}},"400":{"description":"Invalid parameters"},"404":{"description":"Not found"},"429":{"description":"Rate limit; retry after the Retry-After header"}}}},"/api/v1/launches":{"get":{"operationId":"list_launches","summary":"List founder launches in a Monday-based UTC week, newest first.","parameters":[{"name":"week","in":"query","required":false,"schema":{"type":"string","description":"this-week, last-week or YYYY-MM-DD Monday","maxLength":10}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":50,"default":20}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"maximum":10000,"default":0}}],"responses":{"200":{"description":"Public catalog data","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string"},"name":{"type":"string"},"tagline":{"type":"string"},"description":{"type":"string"},"category":{"type":"string"},"pricing":{"type":"string"},"profileUrl":{"type":"string"},"websiteUrl":{"type":"string"},"source":{"type":"string"},"launchedAt":{"type":["string","null"],"format":"date-time"}}}},"total":{"type":"integer"},"limit":{"type":"integer"},"offset":{"type":"integer"},"nextOffset":{"type":["integer","null"]},"order":{"type":"string"},"weekStart":{"type":"string","format":"date-time"}}}}}},"400":{"description":"Invalid parameters"},"404":{"description":"Not found"},"429":{"description":"Rate limit; retry after the Retry-After header"}}}},"/api/v1/submissions":{"post":{"operationId":"submit_product","summary":"Open a private launch draft from a website. A person finishes it in the browser; nothing is published.","security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","maxLength":2048,"description":"Public website of the product"},"name":{"type":"string","maxLength":60},"tagline":{"type":"string","maxLength":100},"description":{"type":"string","maxLength":2000},"category":{"type":"string","enum":["AI tools","Productivity","Design","Development","Marketing","Analytics","Automation","No-code","SEO","Sales & CRM","Customer support","Finance","E-commerce","Content creation","Education","Community","Writing","Video","Audio & podcasts","Images & photos","Social media","Email","Project management","Collaboration","Forms & surveys","Website builders","Hosting & infrastructure","Developer APIs","Security & privacy","HR & hiring","Legal","Health & fitness","Travel","Games","Browser extensions","Open source"],"maxLength":100},"pricing":{"type":"string","enum":["Free","Freemium","Free trial","Paid"]},"amount":{"type":"string","maxLength":100,"description":"Current pricing details supported by the product website"},"linkChoice":{"type":"string","enum":["dofollow","nofollow"],"description":"Ask the founder. dofollow: free launch with our badge on their site (the reply includes the badge HTML). nofollow: free launch, no badge. Leave out if they will pay for Fast launch or Featured, or have not decided."},"features":{"type":"string","maxLength":1600,"description":"Key features. One feature per line, up to 8."},"useCases":{"type":"string","maxLength":1600,"description":"Who it helps and how. One use case per line, up to 8."},"alternatives":{"type":"string","maxLength":600,"description":"Alternatives. Tools people compare you with, one per line, up to 5."},"faq":{"type":"string","maxLength":4000,"description":"FAQ. Up to 5. Question on the first line, answer below it, blank line between pairs."},"keyword":{"type":"string","maxLength":100,"description":"Search keyword. One phrase people search for, such as \"free invoice generator\". Not your brand name."},"alsoIn":{"type":"string","maxLength":200,"description":"Also fits. Up to 2 more categories besides the main one."},"pricingUrl":{"type":"string","maxLength":2048,"description":"Pricing page. Link to your current pricing, if available."},"platforms":{"type":"string","maxLength":200,"description":"Platforms. Where it runs: Web, iOS, Android, Mac, Windows, Linux or Browser extension."},"appStoreUrl":{"type":"string","maxLength":2048,"description":"App Store link. Your apps.apple.com page, if you have an iPhone or iPad app."},"playStoreUrl":{"type":"string","maxLength":2048,"description":"Google Play link. Your play.google.com page, if you have an Android app."},"founderName":{"type":"string","maxLength":80,"description":"Founder name. Public display name. Do not enter a private email address."},"founderX":{"type":"string","maxLength":16,"description":"Founder X handle. Optional, for example @yourhandle."},"founderStory":{"type":"string","maxLength":2000,"description":"Why you built it. Your story, in your own words."}},"required":["url"],"additionalProperties":false}}}},"responses":{"200":{"description":"Draft created; saved to your account with a finish link"},"400":{"description":"Invalid input"},"401":{"description":"Missing or revoked token"},"409":{"description":"Already listed or in review"},"429":{"description":"Too many drafts"}}}},"/api/v1/me/launches":{"get":{"operationId":"get_my_launches","summary":"Status, plan, launch date and upvotes of your own launches.","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Your launches"},"401":{"description":"Missing or revoked token"}}}}}}