{"openapi":"3.1.0","info":{"title":"Skip Wiese public site resources","description":"Read-only public documents for Skip Wiese. There is no OAuth write API on this artist site. Authenticated seller tools live on Uncommon Artwork.","version":"1.0.0","contact":{"name":"Skip Wiese","url":"https://skipwiese.com/contact"}},"servers":[{"url":"https://skipwiese.com"}],"x-api-version":"1.0.0","x-rate-limit-policy":"600 requests per 60 seconds per IP on public read-only endpoints.","x-rate-limit-headers":"RateLimit-Policy, RateLimit-Limit, RateLimit-Remaining, Retry-After","x-deprecation-policy":"Public read-only paths are versioned in the URL (/openapi.json, /llms.txt). Breaking changes will bump info.version and add Sunset headers before removal.","paths":{"/":{"get":{"summary":"Homepage","description":"Public homepage HTML. Prefer `Accept: text/markdown` on the same URL for a markdown catalog.","operationId":"getSiteHome","responses":{"200":{"description":"Homepage HTML or markdown depending on Accept.","content":{"text/html":{"schema":{"$ref":"#/components/schemas/HtmlDocument"}},"text/markdown":{"schema":{"$ref":"#/components/schemas/MarkdownDocument"}}}}}}},"/llms.txt":{"get":{"summary":"Agent catalog","description":"Plain-text index with when-to-use guidance for this site.","operationId":"getSiteLlmsTxt","responses":{"200":{"description":"Agent catalog for this site.","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/PlainTextDocument"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"resolution":{"type":"string"}}}}},"headers":{"Retry-After":{"schema":{"type":"integer"},"description":"Seconds to wait before retrying."}}}}}},"/sitemap.xml":{"get":{"summary":"Sitemap","description":"XML sitemap listing public pages on this site.","operationId":"getSiteSitemap","responses":{"200":{"description":"XML sitemap for public pages.","content":{"application/xml":{"schema":{"type":"string"}}}}}}},"/robots.txt":{"get":{"summary":"Robots allowlist","description":"Robots rules that allow major AI crawlers on public pages.","operationId":"getSiteRobotsTxt","responses":{"200":{"description":"Robots rules allowing major AI crawlers.","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/PlainTextDocument"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"resolution":{"type":"string"}}}}},"headers":{"Retry-After":{"schema":{"type":"integer"},"description":"Seconds to wait before retrying."}}}}}},"/for-agents":{"get":{"summary":"Agent resources","description":"Skip Wiese developer and agent resources.","operationId":"getSiteForAgents","responses":{"200":{"description":"Agent resources page.","content":{"text/html":{"schema":{"$ref":"#/components/schemas/HtmlDocument"}},"text/markdown":{"schema":{"$ref":"#/components/schemas/MarkdownDocument"}}}}}}},"/about":{"get":{"summary":"About","description":"About Skip Wiese, including biography and studio details.","operationId":"getSiteAbout","responses":{"200":{"description":"About page.","content":{"text/html":{"schema":{"$ref":"#/components/schemas/HtmlDocument"}},"text/markdown":{"schema":{"$ref":"#/components/schemas/MarkdownDocument"}}}}}}},"/contact":{"get":{"summary":"Contact","description":"Contact information for Skip Wiese.","operationId":"getSiteContact","responses":{"200":{"description":"Contact page.","content":{"text/html":{"schema":{"$ref":"#/components/schemas/HtmlDocument"}},"text/markdown":{"schema":{"$ref":"#/components/schemas/MarkdownDocument"}}}}}}},"/privacy":{"get":{"summary":"Privacy","description":"Privacy policy for Skip Wiese.","operationId":"getSitePrivacy","responses":{"200":{"description":"Privacy policy page.","content":{"text/html":{"schema":{"$ref":"#/components/schemas/HtmlDocument"}},"text/markdown":{"schema":{"$ref":"#/components/schemas/MarkdownDocument"}}}}}}},"/openapi.json":{"get":{"summary":"OpenAPI document","description":"Machine-readable OpenAPI description of public read-only resources.","operationId":"getSiteOpenApi","responses":{"200":{"description":"This document.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenApiDocument"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"resolution":{"type":"string"}}}}},"headers":{"Retry-After":{"schema":{"type":"integer"},"description":"Seconds to wait before retrying."}}}}}},"/api/site-markdown/{path}":{"get":{"summary":"Markdown representation","description":"Markdown body for a public page path. Prefer `Accept: text/markdown` on the canonical HTML URL when available.","operationId":"getSiteMarkdown","parameters":[{"name":"path","in":"path","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Markdown page body.","content":{"text/markdown":{"schema":{"$ref":"#/components/schemas/MarkdownDocument"}}}},"404":{"description":"Unknown public path.","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"resolution":{"type":"string"}}}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"resolution":{"type":"string"}}}}},"headers":{"Retry-After":{"schema":{"type":"integer"},"description":"Seconds to wait before retrying."}}}}}}},"components":{"schemas":{"PublicError":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"resolution":{"type":"string"}}},"MarkdownDocument":{"type":"string","description":"UTF-8 markdown document body."},"PlainTextDocument":{"type":"string","description":"UTF-8 plain-text document body."},"HtmlDocument":{"type":"string","description":"UTF-8 HTML document body."},"OpenApiDocument":{"type":"object","additionalProperties":true,"description":"OpenAPI 3.1 document."}},"securitySchemes":{"PublicRead":{"type":"oauth2","description":"This public site does not require authentication for read-only pages. Seller write APIs are on Uncommon Artwork only.","flows":{"implicit":{"authorizationUrl":"https://uncommonartwork.com/sign-in","scopes":{"public.read":"Read public pages, catalogs, and markdown representations."}}}}}},"security":[{"PublicRead":["public.read"]}]}