{"openapi":"3.1.1","info":{"title":"vvivid.dev public content API","version":"1.0.0","description":"Anonymous read-only metadata for published articles, project notes, and pages. Generated by Hugo at build time; full text is available at each item's markdown_url.","contact":{"name":"Ou David","url":"https://vvivid.dev/"}},"servers":[{"url":"https://vvivid.dev"}],"externalDocs":{"url":"https://vvivid.dev/api/"},"security":[],"paths":{"/api/content.json":{"get":{"operationId":"listPublishedContent","summary":"List all published content metadata","description":"Returns one complete snapshot, with no pagination, query filtering, or server-side search. Filter items locally by section, title, description, or tags. Unknown query parameters are ignored.","responses":{"200":{"description":"Published content, ordered by Hugo's content date descending; undated pages follow dated pages.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentIndex"}}}},"405":{"$ref":"#/components/responses/MethodNotAllowed"},"default":{"$ref":"#/components/responses/HTTPError"}}},"head":{"operationId":"headPublishedContent","summary":"Read content snapshot response headers without its body","responses":{"200":{"description":"The same headers as GET, with an empty body."},"405":{"$ref":"#/components/responses/MethodNotAllowed"},"default":{"$ref":"#/components/responses/HTTPError"}}}}},"components":{"schemas":{"ContentIndex":{"type":"object","required":["version","site","count","items"],"properties":{"version":{"type":"string","const":"1"},"site":{"type":"object","required":["title","url"],"properties":{"title":{"type":"string"},"url":{"type":"string","format":"uri"}}},"count":{"type":"integer","minimum":0,"description":"Number of items in this snapshot."},"items":{"type":"array","items":{"$ref":"#/components/schemas/ContentItem"}}}},"ContentItem":{"type":"object","required":["title","description","url","markdown_url","section","author","language","tags","categories","word_count","reading_time_minutes"],"properties":{"title":{"type":"string"},"description":{"type":"string","description":"Authored description, falling back to a plain-text summary."},"url":{"type":"string","format":"uri","description":"Canonical HTML URL for citations."},"markdown_url":{"type":"string","format":"uri","description":"Direct Markdown representation of the page."},"section":{"type":"string","description":"Hugo section, such as posts or projects; empty for a top-level page."},"author":{"type":"string"},"language":{"type":"string","description":"Hugo language identifier."},"tags":{"type":"array","items":{"type":"string"}},"categories":{"type":"array","items":{"type":"string"}},"published_at":{"type":"string","format":"date-time","description":"Hugo's resolved publication date; omitted when unknown."},"modified_at":{"type":"string","format":"date-time","description":"Hugo's resolved last modification date, which defaults to the content date; omitted when unknown."},"word_count":{"type":"integer","minimum":0},"reading_time_minutes":{"type":"integer","minimum":0},"repository_url":{"type":"string","format":"uri"},"project_url":{"type":"string","format":"uri"}}}},"responses":{"MethodNotAllowed":{"description":"The static origin only supports GET and HEAD for content. Other methods are not write operations.","content":{"text/html":{"schema":{"type":"string"}}}},"HTTPError":{"description":"An HTTP serving error. Unknown resource paths return 404. Error bodies are HTML, not a JSON API envelope.","content":{"text/html":{"schema":{"type":"string"}}}}}}}