{"openapi":"3.1.0","info":{"title":"Flynnstone Public Research API","version":"1.0.0","summary":"Authless, read-only access to indexed Flynnstone research.","description":"The public v1 API needs no API key and exposes only reviewed, indexed research. No separate sandbox is required. Incompatible changes use a new versioned URL."},"externalDocs":{"description":"Flynnstone developer quickstart and API lifecycle policy","url":"https://flynnstone.ai/developers"},"servers":[{"url":"https://flynnstone.ai/api/v1","description":"Public production API; safe for read-only integration testing."}],"security":[],"tags":[{"name":"Discovery","description":"API capability and endpoint discovery."},{"name":"Research","description":"Indexed research articles and series."},{"name":"Sources","description":"Approved public source catalogs."}],"paths":{"/":{"get":{"tags":["Discovery"],"operationId":"getApiDiscovery","summary":"Discover the public API","description":"Returns the current API version, authentication policy, documentation links, and reachable endpoint URLs.","parameters":[],"responses":{"200":{"description":"Public API discovery document.","headers":{"RateLimit-Policy":{"description":"Quota policy using draft-ietf-httpapi-ratelimit-headers-11 structured-field syntax.","schema":{"type":"string","example":"\"public\";q=30;w=60"}},"RateLimit":{"description":"Current quota state using draft-ietf-httpapi-ratelimit-headers-11 structured-field syntax.","schema":{"type":"string","example":"\"public\";r=99;t=60"}},"Link":{"description":"Link to the stable versioning and deprecation policy.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Discovery"}}}},"405":{"description":"The method is not available because the public API is read-only.","headers":{"RateLimit-Policy":{"description":"Quota policy using draft-ietf-httpapi-ratelimit-headers-11 structured-field syntax.","schema":{"type":"string","example":"\"public\";q=30;w=60"}},"RateLimit":{"description":"Current quota state using draft-ietf-httpapi-ratelimit-headers-11 structured-field syntax.","schema":{"type":"string","example":"\"public\";r=99;t=60"}},"Link":{"description":"Link to the stable versioning and deprecation policy.","schema":{"type":"string"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"406":{"description":"No supported response representation is acceptable.","headers":{"RateLimit-Policy":{"description":"Quota policy using draft-ietf-httpapi-ratelimit-headers-11 structured-field syntax.","schema":{"type":"string","example":"\"public\";q=30;w=60"}},"RateLimit":{"description":"Current quota state using draft-ietf-httpapi-ratelimit-headers-11 structured-field syntax.","schema":{"type":"string","example":"\"public\";r=99;t=60"}},"Link":{"description":"Link to the stable versioning and deprecation policy.","schema":{"type":"string"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"429":{"description":"The request quota is exhausted for the current window.","headers":{"RateLimit-Policy":{"description":"Quota policy using draft-ietf-httpapi-ratelimit-headers-11 structured-field syntax.","schema":{"type":"string","example":"\"public\";q=30;w=60"}},"RateLimit":{"description":"Current quota state using draft-ietf-httpapi-ratelimit-headers-11 structured-field syntax.","schema":{"type":"string","example":"\"public\";r=99;t=60"}},"Link":{"description":"Link to the stable versioning and deprecation policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay in seconds before another request should be attempted.","schema":{"type":"integer","minimum":1}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"500":{"description":"The server could not generate the requested public representation.","headers":{"RateLimit-Policy":{"description":"Quota policy using draft-ietf-httpapi-ratelimit-headers-11 structured-field syntax.","schema":{"type":"string","example":"\"public\";q=30;w=60"}},"RateLimit":{"description":"Current quota state using draft-ietf-httpapi-ratelimit-headers-11 structured-field syntax.","schema":{"type":"string","example":"\"public\";r=99;t=60"}},"Link":{"description":"Link to the stable versioning and deprecation policy.","schema":{"type":"string"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}}}},"/articles":{"get":{"tags":["Research"],"operationId":"listArticles","summary":"List indexed articles","description":"Returns a filtered, cursor-paginated catalog drawn only from the indexed article projection.","parameters":[{"name":"topic","in":"query","required":false,"description":"Exact normalized topic.","schema":{"type":"string","minLength":1}},{"name":"article_type","in":"query","required":false,"description":"Exact article genre.","schema":{"type":"string","minLength":1}},{"name":"published_after","in":"query","required":false,"description":"Return articles published after this date.","schema":{"type":"string","format":"date"}},{"name":"limit","in":"query","required":false,"description":"Page size.","schema":{"type":"integer","minimum":1,"maximum":50,"default":20}},{"name":"cursor","in":"query","required":false,"description":"Opaque cursor returned by the preceding page.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"Indexed article catalog.","headers":{"RateLimit-Policy":{"description":"Quota policy using draft-ietf-httpapi-ratelimit-headers-11 structured-field syntax.","schema":{"type":"string","example":"\"public\";q=30;w=60"}},"RateLimit":{"description":"Current quota state using draft-ietf-httpapi-ratelimit-headers-11 structured-field syntax.","schema":{"type":"string","example":"\"public\";r=99;t=60"}},"Link":{"description":"Link to the stable versioning and deprecation policy.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArticleCatalog"}}}},"400":{"description":"A filter, page size, date, or cursor is invalid.","headers":{"RateLimit-Policy":{"description":"Quota policy using draft-ietf-httpapi-ratelimit-headers-11 structured-field syntax.","schema":{"type":"string","example":"\"public\";q=30;w=60"}},"RateLimit":{"description":"Current quota state using draft-ietf-httpapi-ratelimit-headers-11 structured-field syntax.","schema":{"type":"string","example":"\"public\";r=99;t=60"}},"Link":{"description":"Link to the stable versioning and deprecation policy.","schema":{"type":"string"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"405":{"description":"The method is not available because the public API is read-only.","headers":{"RateLimit-Policy":{"description":"Quota policy using draft-ietf-httpapi-ratelimit-headers-11 structured-field syntax.","schema":{"type":"string","example":"\"public\";q=30;w=60"}},"RateLimit":{"description":"Current quota state using draft-ietf-httpapi-ratelimit-headers-11 structured-field syntax.","schema":{"type":"string","example":"\"public\";r=99;t=60"}},"Link":{"description":"Link to the stable versioning and deprecation policy.","schema":{"type":"string"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"406":{"description":"No supported response representation is acceptable.","headers":{"RateLimit-Policy":{"description":"Quota policy using draft-ietf-httpapi-ratelimit-headers-11 structured-field syntax.","schema":{"type":"string","example":"\"public\";q=30;w=60"}},"RateLimit":{"description":"Current quota state using draft-ietf-httpapi-ratelimit-headers-11 structured-field syntax.","schema":{"type":"string","example":"\"public\";r=99;t=60"}},"Link":{"description":"Link to the stable versioning and deprecation policy.","schema":{"type":"string"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"429":{"description":"The request quota is exhausted for the current window.","headers":{"RateLimit-Policy":{"description":"Quota policy using draft-ietf-httpapi-ratelimit-headers-11 structured-field syntax.","schema":{"type":"string","example":"\"public\";q=30;w=60"}},"RateLimit":{"description":"Current quota state using draft-ietf-httpapi-ratelimit-headers-11 structured-field syntax.","schema":{"type":"string","example":"\"public\";r=99;t=60"}},"Link":{"description":"Link to the stable versioning and deprecation policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay in seconds before another request should be attempted.","schema":{"type":"integer","minimum":1}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"500":{"description":"The server could not generate the requested public representation.","headers":{"RateLimit-Policy":{"description":"Quota policy using draft-ietf-httpapi-ratelimit-headers-11 structured-field syntax.","schema":{"type":"string","example":"\"public\";q=30;w=60"}},"RateLimit":{"description":"Current quota state using draft-ietf-httpapi-ratelimit-headers-11 structured-field syntax.","schema":{"type":"string","example":"\"public\";r=99;t=60"}},"Link":{"description":"Link to the stable versioning and deprecation policy.","schema":{"type":"string"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}}}},"/articles/{slug}":{"get":{"tags":["Research"],"operationId":"getArticle","summary":"Get one indexed article","description":"Returns the reviewed public projection for one exact article slug.","parameters":[{"name":"slug","in":"path","required":true,"description":"Canonical article slug.","schema":{"type":"string","pattern":"^[a-z0-9-]+$"}}],"responses":{"200":{"description":"One indexed article.","headers":{"RateLimit-Policy":{"description":"Quota policy using draft-ietf-httpapi-ratelimit-headers-11 structured-field syntax.","schema":{"type":"string","example":"\"public\";q=30;w=60"}},"RateLimit":{"description":"Current quota state using draft-ietf-httpapi-ratelimit-headers-11 structured-field syntax.","schema":{"type":"string","example":"\"public\";r=99;t=60"}},"Link":{"description":"Link to the stable versioning and deprecation policy.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArticleDocument"}}}},"404":{"description":"The article is missing or has not completed the index gate.","headers":{"RateLimit-Policy":{"description":"Quota policy using draft-ietf-httpapi-ratelimit-headers-11 structured-field syntax.","schema":{"type":"string","example":"\"public\";q=30;w=60"}},"RateLimit":{"description":"Current quota state using draft-ietf-httpapi-ratelimit-headers-11 structured-field syntax.","schema":{"type":"string","example":"\"public\";r=99;t=60"}},"Link":{"description":"Link to the stable versioning and deprecation policy.","schema":{"type":"string"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"405":{"description":"The method is not available because the public API is read-only.","headers":{"RateLimit-Policy":{"description":"Quota policy using draft-ietf-httpapi-ratelimit-headers-11 structured-field syntax.","schema":{"type":"string","example":"\"public\";q=30;w=60"}},"RateLimit":{"description":"Current quota state using draft-ietf-httpapi-ratelimit-headers-11 structured-field syntax.","schema":{"type":"string","example":"\"public\";r=99;t=60"}},"Link":{"description":"Link to the stable versioning and deprecation policy.","schema":{"type":"string"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"406":{"description":"No supported response representation is acceptable.","headers":{"RateLimit-Policy":{"description":"Quota policy using draft-ietf-httpapi-ratelimit-headers-11 structured-field syntax.","schema":{"type":"string","example":"\"public\";q=30;w=60"}},"RateLimit":{"description":"Current quota state using draft-ietf-httpapi-ratelimit-headers-11 structured-field syntax.","schema":{"type":"string","example":"\"public\";r=99;t=60"}},"Link":{"description":"Link to the stable versioning and deprecation policy.","schema":{"type":"string"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"429":{"description":"The request quota is exhausted for the current window.","headers":{"RateLimit-Policy":{"description":"Quota policy using draft-ietf-httpapi-ratelimit-headers-11 structured-field syntax.","schema":{"type":"string","example":"\"public\";q=30;w=60"}},"RateLimit":{"description":"Current quota state using draft-ietf-httpapi-ratelimit-headers-11 structured-field syntax.","schema":{"type":"string","example":"\"public\";r=99;t=60"}},"Link":{"description":"Link to the stable versioning and deprecation policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay in seconds before another request should be attempted.","schema":{"type":"integer","minimum":1}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"500":{"description":"The server could not generate the requested public representation.","headers":{"RateLimit-Policy":{"description":"Quota policy using draft-ietf-httpapi-ratelimit-headers-11 structured-field syntax.","schema":{"type":"string","example":"\"public\";q=30;w=60"}},"RateLimit":{"description":"Current quota state using draft-ietf-httpapi-ratelimit-headers-11 structured-field syntax.","schema":{"type":"string","example":"\"public\";r=99;t=60"}},"Link":{"description":"Link to the stable versioning and deprecation policy.","schema":{"type":"string"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}}}},"/index/latest":{"get":{"tags":["Research"],"operationId":"getLatestIndex","summary":"Get the latest economics index","description":"Returns the latest indexed issue in the Butcher Economics Index series.","parameters":[],"responses":{"200":{"description":"Latest indexed issue.","headers":{"RateLimit-Policy":{"description":"Quota policy using draft-ietf-httpapi-ratelimit-headers-11 structured-field syntax.","schema":{"type":"string","example":"\"public\";q=30;w=60"}},"RateLimit":{"description":"Current quota state using draft-ietf-httpapi-ratelimit-headers-11 structured-field syntax.","schema":{"type":"string","example":"\"public\";r=99;t=60"}},"Link":{"description":"Link to the stable versioning and deprecation policy.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LatestIndex"}}}},"405":{"description":"The method is not available because the public API is read-only.","headers":{"RateLimit-Policy":{"description":"Quota policy using draft-ietf-httpapi-ratelimit-headers-11 structured-field syntax.","schema":{"type":"string","example":"\"public\";q=30;w=60"}},"RateLimit":{"description":"Current quota state using draft-ietf-httpapi-ratelimit-headers-11 structured-field syntax.","schema":{"type":"string","example":"\"public\";r=99;t=60"}},"Link":{"description":"Link to the stable versioning and deprecation policy.","schema":{"type":"string"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"406":{"description":"No supported response representation is acceptable.","headers":{"RateLimit-Policy":{"description":"Quota policy using draft-ietf-httpapi-ratelimit-headers-11 structured-field syntax.","schema":{"type":"string","example":"\"public\";q=30;w=60"}},"RateLimit":{"description":"Current quota state using draft-ietf-httpapi-ratelimit-headers-11 structured-field syntax.","schema":{"type":"string","example":"\"public\";r=99;t=60"}},"Link":{"description":"Link to the stable versioning and deprecation policy.","schema":{"type":"string"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"429":{"description":"The request quota is exhausted for the current window.","headers":{"RateLimit-Policy":{"description":"Quota policy using draft-ietf-httpapi-ratelimit-headers-11 structured-field syntax.","schema":{"type":"string","example":"\"public\";q=30;w=60"}},"RateLimit":{"description":"Current quota state using draft-ietf-httpapi-ratelimit-headers-11 structured-field syntax.","schema":{"type":"string","example":"\"public\";r=99;t=60"}},"Link":{"description":"Link to the stable versioning and deprecation policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay in seconds before another request should be attempted.","schema":{"type":"integer","minimum":1}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"500":{"description":"The server could not generate the requested public representation.","headers":{"RateLimit-Policy":{"description":"Quota policy using draft-ietf-httpapi-ratelimit-headers-11 structured-field syntax.","schema":{"type":"string","example":"\"public\";q=30;w=60"}},"RateLimit":{"description":"Current quota state using draft-ietf-httpapi-ratelimit-headers-11 structured-field syntax.","schema":{"type":"string","example":"\"public\";r=99;t=60"}},"Link":{"description":"Link to the stable versioning and deprecation policy.","schema":{"type":"string"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}}}},"/sources":{"get":{"tags":["Sources"],"operationId":"listSources","summary":"List public source catalogs","description":"Returns the approved public source inventory used by Flynnstone research.","parameters":[],"responses":{"200":{"description":"Public source catalog.","headers":{"RateLimit-Policy":{"description":"Quota policy using draft-ietf-httpapi-ratelimit-headers-11 structured-field syntax.","schema":{"type":"string","example":"\"public\";q=30;w=60"}},"RateLimit":{"description":"Current quota state using draft-ietf-httpapi-ratelimit-headers-11 structured-field syntax.","schema":{"type":"string","example":"\"public\";r=99;t=60"}},"Link":{"description":"Link to the stable versioning and deprecation policy.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SourceCatalog"}}}},"405":{"description":"The method is not available because the public API is read-only.","headers":{"RateLimit-Policy":{"description":"Quota policy using draft-ietf-httpapi-ratelimit-headers-11 structured-field syntax.","schema":{"type":"string","example":"\"public\";q=30;w=60"}},"RateLimit":{"description":"Current quota state using draft-ietf-httpapi-ratelimit-headers-11 structured-field syntax.","schema":{"type":"string","example":"\"public\";r=99;t=60"}},"Link":{"description":"Link to the stable versioning and deprecation policy.","schema":{"type":"string"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"406":{"description":"No supported response representation is acceptable.","headers":{"RateLimit-Policy":{"description":"Quota policy using draft-ietf-httpapi-ratelimit-headers-11 structured-field syntax.","schema":{"type":"string","example":"\"public\";q=30;w=60"}},"RateLimit":{"description":"Current quota state using draft-ietf-httpapi-ratelimit-headers-11 structured-field syntax.","schema":{"type":"string","example":"\"public\";r=99;t=60"}},"Link":{"description":"Link to the stable versioning and deprecation policy.","schema":{"type":"string"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"429":{"description":"The request quota is exhausted for the current window.","headers":{"RateLimit-Policy":{"description":"Quota policy using draft-ietf-httpapi-ratelimit-headers-11 structured-field syntax.","schema":{"type":"string","example":"\"public\";q=30;w=60"}},"RateLimit":{"description":"Current quota state using draft-ietf-httpapi-ratelimit-headers-11 structured-field syntax.","schema":{"type":"string","example":"\"public\";r=99;t=60"}},"Link":{"description":"Link to the stable versioning and deprecation policy.","schema":{"type":"string"}},"Retry-After":{"description":"Delay in seconds before another request should be attempted.","schema":{"type":"integer","minimum":1}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"500":{"description":"The server could not generate the requested public representation.","headers":{"RateLimit-Policy":{"description":"Quota policy using draft-ietf-httpapi-ratelimit-headers-11 structured-field syntax.","schema":{"type":"string","example":"\"public\";q=30;w=60"}},"RateLimit":{"description":"Current quota state using draft-ietf-httpapi-ratelimit-headers-11 structured-field syntax.","schema":{"type":"string","example":"\"public\";r=99;t=60"}},"Link":{"description":"Link to the stable versioning and deprecation policy.","schema":{"type":"string"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}}}}},"components":{"schemas":{"ProblemDetails":{"type":"object","additionalProperties":false,"description":"RFC 9457 problem detail with stable Flynnstone recovery fields.","required":["type","title","status","detail","instance","code","resolution"],"properties":{"type":{"type":"string","format":"uri-reference"},"title":{"type":"string"},"status":{"type":"integer","minimum":400,"maximum":599},"detail":{"type":"string"},"instance":{"type":"string","format":"uri-reference"},"code":{"type":"string","description":"Stable Flynnstone error code."},"resolution":{"type":"string","description":"A direct recovery hint."}}},"Article":{"type":"object","additionalProperties":false,"required":["id","slug","canonical_url","title","summary","body","body_url","article_type","topics","published","modified","disclosure","claims","sources"],"properties":{"id":{"type":"string","description":"Stable URN for the article."},"slug":{"type":"string","pattern":"^[a-z0-9-]+$"},"canonical_url":{"type":"string","format":"uri"},"title":{"type":"string"},"summary":{"type":"string"},"body":{"type":"string","description":"Reviewed article body in Markdown."},"body_url":{"type":"string","format":"uri"},"article_type":{"type":"string"},"topics":{"type":"array","maxItems":50,"items":{"type":"string"}},"published":{"type":"string","format":"date"},"modified":{"type":"string","format":"date"},"disclosure":{"type":["string","null"]},"claims":{"type":"array","maxItems":100,"items":{"type":"object","additionalProperties":false,"required":["statement","value","source_name","source_url","accessed_at","locator"],"properties":{"statement":{"type":"string"},"value":{"type":["string","number"]},"source_name":{"type":"string"},"source_url":{"type":"string","format":"uri"},"accessed_at":{"type":"string","format":"date"},"locator":{"type":"string"}}}},"sources":{"type":"array","maxItems":100,"items":{"type":"object","additionalProperties":false,"required":["name","url"],"properties":{"name":{"type":"string"},"url":{"type":"string","format":"uri"}}}}}},"Source":{"type":"object","additionalProperties":false,"required":["id","name","url","cadence"],"properties":{"id":{"type":"string"},"name":{"type":"string"},"url":{"type":"string","format":"uri"},"cadence":{"type":"string"}}},"Discovery":{"type":"object","additionalProperties":false,"required":["version","authentication","sandbox","documentation","agent_access","deprecation_policy","openapi","endpoints"],"properties":{"version":{"type":"string","const":"v1"},"authentication":{"type":"object","additionalProperties":false,"required":["required","api_key"],"properties":{"required":{"type":"boolean","const":false},"api_key":{"type":"boolean","const":false}}},"sandbox":{"type":"object","additionalProperties":false,"required":["required","reason"],"properties":{"required":{"type":"boolean","const":false},"reason":{"type":"string"}}},"documentation":{"type":"string","format":"uri"},"agent_access":{"type":"string","format":"uri"},"deprecation_policy":{"type":"string","format":"uri"},"openapi":{"type":"string","format":"uri"},"endpoints":{"type":"object","additionalProperties":false,"required":["articles","latest_index","sources"],"properties":{"articles":{"type":"string","format":"uri"},"latest_index":{"type":"string","format":"uri"},"sources":{"type":"string","format":"uri"}}}}},"ArticleCatalog":{"type":"object","additionalProperties":false,"required":["version","items","next_cursor","total"],"properties":{"version":{"type":"string","const":"v1"},"items":{"type":"array","maxItems":50,"items":{"$ref":"#/components/schemas/Article"}},"next_cursor":{"type":["string","null"]},"total":{"type":"integer","minimum":0}}},"ArticleDocument":{"type":"object","additionalProperties":false,"required":["version","article"],"properties":{"version":{"type":"string","const":"v1"},"article":{"$ref":"#/components/schemas/Article"}}},"LatestIndex":{"type":"object","additionalProperties":false,"required":["version","series","issue"],"properties":{"version":{"type":"string","const":"v1"},"series":{"type":"object","additionalProperties":false,"required":["id","name","cadence"],"properties":{"id":{"type":"string"},"name":{"type":"string"},"cadence":{"type":"string"}}},"issue":{"oneOf":[{"$ref":"#/components/schemas/Article"},{"type":"null"}],"description":"Latest indexed issue, or null before the first issue completes review."}}},"SourceCatalog":{"type":"object","additionalProperties":false,"required":["version","items","total"],"properties":{"version":{"type":"string","const":"v1"},"items":{"type":"array","maxItems":500,"items":{"$ref":"#/components/schemas/Source"}},"total":{"type":"integer","minimum":0}}}}},"x-versioning-policy":{"current":"v1","breakingChanges":"A breaking change requires a new URL version.","noticeDays":180,"deprecationHeaders":["Deprecation","Sunset","Link"]},"x-rate-limit-specification":"draft-ietf-httpapi-ratelimit-headers-11"}
