{"openapi":"3.0.0","info":{"title":"CreatorScout Developer API","description":"Secure, structured creator discovery and CRM integration endpoints for AI Agents.","version":"1.0.0"},"servers":[{"url":"https://creatorscout.dev","description":"Production Server"},{"url":"http://localhost:3000","description":"Local Development Server"}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","description":"Enter your Developer API key (prefixed with cs_live_)"}}},"security":[{"BearerAuth":[]}],"paths":{"/api/v1/creators/search":{"get":{"summary":"Search Creators","description":"Query YouTube channels and Twitch live streams in parallel, merged and relevance-ranked.","parameters":[{"name":"q","in":"query","required":true,"description":"Search keyword, genre, or game title (e.g. metroidvania)","schema":{"type":"string"}},{"name":"minSubs","in":"query","description":"Minimum subscriber or follower count","schema":{"type":"integer","default":0}},{"name":"maxSubs","in":"query","description":"Maximum subscriber or follower count (500000 is treated as uncapped)","schema":{"type":"integer","default":500000}},{"name":"platforms","in":"query","description":"Comma-separated platforms to search (e.g. 'youtube', 'twitch', 'youtube,twitch')","schema":{"type":"string","default":"youtube,twitch"}},{"name":"language","in":"query","description":"2-letter BCP-47 language filter code (e.g. 'en')","schema":{"type":"string","default":"en"}},{"name":"recency","in":"query","description":"Active window filter in days (only creators active within this window are matched)","schema":{"type":"integer","default":30}},{"name":"overlapWeight","in":"query","description":"Custom ranking weight for title/game text overlap (0.0 to 1.0)","schema":{"type":"number","default":0.5}},{"name":"engagementWeight","in":"query","description":"Custom ranking weight for views-to-sub ratio or live viewers (0.0 to 1.0)","schema":{"type":"number","default":0.3}},{"name":"recencyWeight","in":"query","description":"Custom ranking weight for recent activity decay (0.0 to 1.0)","schema":{"type":"number","default":0.2}}],"responses":{"200":{"description":"A list of relevance-sorted creators matching the query."},"401":{"description":"Unauthorized. Invalid or missing API key."},"403":{"description":"Forbidden. Pro subscription required."}}}},"/api/v1/creators/save":{"post":{"summary":"Save Creator to Outreach CRM","description":"Programmatically save a vetted creator profile into the outreach pipeline.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"projectId":{"type":"string","default":"default","description":"Scoped campaign namespace ID"},"creator":{"type":"object","required":["id","platforms","name","handle","channelUrl"],"description":"Full creator profile object returned by search"}}}}}},"responses":{"200":{"description":"Successfully saved creator."},"400":{"description":"Invalid creator schema or payload structure."},"401":{"description":"Unauthorized. Invalid or missing API key."},"403":{"description":"Forbidden. Pro subscription required."}}}},"/api/v1/whoami":{"get":{"summary":"Validate API Key (Whoami)","description":"Verify if the provided API token is valid and retrieve basic account info (e.g. email and billing tier).","responses":{"200":{"description":"Token is active and valid. Returns user profile email and tier."},"401":{"description":"Unauthorized. Invalid or missing API key."}}}}}}