Skip to content

Instantly share code, notes, and snippets.

@gunzip
Created September 21, 2025 16:53
Show Gist options
  • Save gunzip/fee62ccd5c3231c77fa065c67f822b74 to your computer and use it in GitHub Desktop.
Save gunzip/fee62ccd5c3231c77fa065c67f822b74 to your computer and use it in GitHub Desktop.
{
"openapi": "3.1.0",
"paths": {
"/catalog": {
"get": {
"parameters": [
{
"in": "query",
"name": "url",
"schema": {
"type": "string",
"format": "uri"
}
},
{
"in": "query",
"name": "status",
"schema": {
"type": "string",
"enum": ["live", "archived"]
}
},
{
"in": "query",
"name": "collection",
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "q",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/ListCatalogs"
}
}
}
}
},
"components": {
"schemas": {
"Catalog": {
"$ref": "#/components/schemas/_catalog"
},
"CatalogMeta": {
"$ref": "#/components/schemas/_catalogmeta"
},
"_catalog": {
"type": "object",
"required": ["name"],
"additionalProperties": false,
"properties": {
"name": {
"type": "string",
},
"status": {
"type": "string",
"enum": ["live", "archived"]
},
"start": {
"type": "string",
"format": "date-time"
},
"end": {
"type": "string",
"format": "date-time"
}
},
"allOf": [
{
"$ref": "#/components/schemas/CatalogMeta"
}
]
},
"_catalogmeta": {
"type": "object",
"required": ["url"],
"additionalProperties": false,
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string",
"pattern": "^[a-zA-Z0-9]+$",
"default": ""
},
"description": {
"type": "string",
"default": ""
}
}
}
},
"responses": {
"ListCatalogs": {
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Catalog"
}
}
}
}
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment