{"openapi":"3.1.0","info":{"title":"Social Poller","version":"0.2.0","description":"Public profile lookups, owner-exported aggregates, dated metric history and isolated visual widgets. Private analytics are never exposed for arbitrary user searches."},"paths":{"/v1/search":{"get":{"summary":"Exact platform username lookup","parameters":[{"in":"query","name":"platform","required":true,"schema":{"type":"string","enum":["instagram","tiktok","youtube","twitch","bluesky","x","github","facebook","kick","reddit","linkedin","vrchat","steam","playstation","spotify"]}},{"in":"query","name":"username","required":true,"schema":{"type":"string","maxLength":253}}],"responses":{"200":{"description":"Dated, source-labeled aggregate response"},"400":{"description":"Invalid input"},"429":{"description":"Rate limited; Retry-After provided"}}}},"/v1/profiles/{platform}/{username}":{"get":{"parameters":[{"in":"path","name":"platform","required":true,"schema":{"type":"string","enum":["instagram","tiktok","youtube","twitch","bluesky","x","github","facebook","kick","reddit","linkedin","vrchat","steam","playstation","spotify"]}},{"in":"path","name":"username","required":true,"schema":{"type":"string","maxLength":253}}],"responses":{"200":{"description":"Dated, source-labeled aggregate response"},"400":{"description":"Invalid input"},"429":{"description":"Rate limited; Retry-After provided"}}}},"/v1/history/{platform}/{username}":{"get":{"summary":"Daily last observed values, separated by source / scope / precision; registered owners only","parameters":[{"in":"path","name":"platform","required":true,"schema":{"type":"string","enum":["instagram","tiktok","youtube","twitch","bluesky","x","github","facebook","kick","reddit","linkedin","vrchat","steam","playstation","spotify"]}},{"in":"path","name":"username","required":true,"schema":{"type":"string","maxLength":253}},{"in":"query","name":"metric","schema":{"type":"string","enum":["followers","following","posts","sampleLikes","averageLikes","averageComments","periodViews","reach","impressions","engagements","watchSeconds","linkClicks","shares","saves","likes","averageViews","views","viewers","repositories","stars","karma"],"default":"followers"}},{"in":"query","name":"days","schema":{"type":"integer","enum":[7,30,90,365],"default":30}}],"responses":{"200":{"description":"Dated, source-labeled aggregate response"},"400":{"description":"Invalid input"},"429":{"description":"Rate limited; Retry-After provided"}}}},"/v1/platforms":{"get":{"responses":{"200":{"description":"Dated, source-labeled aggregate response"},"400":{"description":"Invalid input"},"429":{"description":"Rate limited; Retry-After provided"}}}},"/v1/creators/akasammythepuppy":{"get":{"responses":{"200":{"description":"Dated, source-labeled aggregate response"},"400":{"description":"Invalid input"},"429":{"description":"Rate limited; Retry-After provided"}}}},"/v1/media-kit/akasammythepuppy":{"get":{"responses":{"200":{"description":"Dated, source-labeled aggregate response"},"400":{"description":"Invalid input"},"429":{"description":"Rate limited; Retry-After provided"}}}},"/v1/import/media-kit":{"post":{"summary":"Existing version-1 sanitized creator snapshot","security":[{"importToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"Maximum 64 KiB; only registered creator aggregates are accepted."}}}},"responses":{"200":{"description":"Validated aggregates accepted; retries deduplicate history"},"400":{"description":"Invalid aggregate payload"},"401":{"description":"Unauthorized"}}}},"/v1/import/profile":{"post":{"summary":"One registered owner export with explicit dates; report metrics require period.start and period.end","security":[{"importToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"Maximum 64 KiB; only registered creator aggregates are accepted."}}}},"responses":{"200":{"description":"Validated aggregates accepted; retries deduplicate history"},"400":{"description":"Invalid aggregate payload"},"401":{"description":"Unauthorized"}}}},"/v1/import/export":{"post":{"summary":"Up to ten validated owner observations in an observations array; generated by the local export parser","security":[{"importToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"Maximum 64 KiB; only registered creator aggregates are accepted."}}}},"responses":{"200":{"description":"Validated aggregates accepted; retries deduplicate history"},"400":{"description":"Invalid aggregate payload"},"401":{"description":"Unauthorized"}}}}},"components":{"securitySchemes":{"importToken":{"type":"http","scheme":"bearer"}}}}