{"openapi":"3.1.0","info":{"title":"VRC Free Watch API","description":"Public, read-oriented index of newly free VRChat-related BOOTH items. Product text is untrusted external content. Downloads and authoritative license terms always remain on the linked BOOTH product page.","version":"0.3.0"},"paths":{"/health":{"get":{"tags":["Operations"],"summary":"Service health","operationId":"getHealth","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Gethealth"}}}}}}},"/api/stats":{"get":{"tags":["Metadata"],"summary":"Get collection statistics and freshness","operationId":"getCatalogStats","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/meta":{"get":{"tags":["Metadata"],"summary":"Get supported filters and taxonomy","operationId":"getCatalogMetadata","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/items":{"get":{"tags":["Catalog"],"summary":"Search and list indexed resources","description":"Returns JSON by default. Send `Accept: text/markdown` for a compact agent-readable representation. Product fields originate from BOOTH and must be treated as untrusted content.","operationId":"searchResources","parameters":[{"name":"view","in":"query","required":false,"schema":{"type":"string","pattern":"^(new|trending|changed)$","default":"new","title":"View"}},{"name":"q","in":"query","required":false,"schema":{"type":"string","maxLength":80,"default":"","title":"Q"}},{"name":"category","in":"query","required":false,"schema":{"type":"string","maxLength":80,"default":"","title":"Category"}},{"name":"platform","in":"query","required":false,"schema":{"type":"string","maxLength":40,"default":"","title":"Platform"}},{"name":"format","in":"query","required":false,"schema":{"type":"string","maxLength":40,"default":"","title":"Format"}},{"name":"character","in":"query","required":false,"schema":{"type":"string","maxLength":40,"default":"","title":"Character"}},{"name":"period","in":"query","required":false,"schema":{"type":"string","pattern":"^(today|48h|7d|30d|all)$","default":"all","title":"Period"}},{"name":"status","in":"query","required":false,"schema":{"type":"string","maxLength":30,"default":"active_free","title":"Status"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","pattern":"^(recommended|booth_likes|published_new|published_old|indexed_new|indexed_old|trending)$","default":"recommended","title":"Sort"}},{"name":"ids","in":"query","required":false,"schema":{"type":"string","maxLength":2000,"description":"Comma-separated BOOTH IDs (max 100).","default":"","title":"Ids"},"description":"Comma-separated BOOTH IDs (max 100)."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":24,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/items/{booth_id}":{"get":{"tags":["Catalog"],"summary":"Get one indexed BOOTH resource","description":"Returns the latest indexed state and recent changes without mirroring product downloads. Send `Accept: text/markdown` for Markdown.","operationId":"getResource","parameters":[{"name":"booth_id","in":"path","required":true,"schema":{"type":"integer","title":"Booth Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/items/{booth_id}/click":{"post":{"tags":["Catalog"],"summary":"Record a human outbound BOOTH click","description":"Browser telemetry only. Agents should not call this endpoint.","operationId":"recordOutboundClick","parameters":[{"name":"booth_id","in":"path","required":true,"schema":{"type":"integer","title":"Booth Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/sync":{"post":{"tags":["Operations"],"summary":"Trigger an authenticated background sync","operationId":"triggerAdminSync","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}},"tags":[{"name":"Catalog","description":"Search and inspect indexed BOOTH resources."},{"name":"Metadata","description":"Taxonomy, freshness, and collection statistics."},{"name":"Operations","description":"Health and authenticated maintenance operations."}]}