{
  "openapi": "3.1.1",
  "info": {
    "title": "Little Agent Club public data",
    "version": "1.0.0",
    "description": "Public read-only snapshots of the same catalog used by the guide. No key needed. Provider descriptions and attributed examples are not our own test findings. Source dates are preserved as recorded, not refreshed at build time. Search and filtering happen in the client. These static files have no application-level request quota; hosting limits may apply."
  },
  "servers": [
    {
      "url": "https://littleagentclub.com"
    }
  ],
  "security": [],
  "paths": {
    "/api/v1/agents.json": {
      "get": {
        "operationId": "listAgents",
        "summary": "Agent descriptions, profile links, source dates and references.",
        "responses": {
          "200": {
            "description": "Published snapshot. Check evidence labels, source references and their recorded dates.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/tools.json": {
      "get": {
        "operationId": "listTools",
        "summary": "Specialist tools, kept separate from personal agents.",
        "responses": {
          "200": {
            "description": "Published snapshot. Check evidence labels, source references and their recorded dates.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ToolsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/models.json": {
      "get": {
        "operationId": "listModels",
        "summary": "The model catalog, with documented access and source dates.",
        "responses": {
          "200": {
            "description": "Published snapshot. Check evidence labels, source references and their recorded dates.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ModelsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/use-cases.json": {
      "get": {
        "operationId": "listUseCases",
        "summary": "Source-specific examples and club suggestions, with evidence labels.",
        "responses": {
          "200": {
            "description": "Published snapshot. Check evidence labels, source references and their recorded dates.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UseCasesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/search.json": {
      "get": {
        "operationId": "getSearchIndex",
        "summary": "Names, descriptions and links for search in your own client.",
        "responses": {
          "200": {
            "description": "Published snapshot. Check evidence labels, source references and their recorded dates.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchIndex"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Source": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string"
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "kind": {
            "type": "string"
          },
          "agentIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "uniqueItems": true
          }
        },
        "required": [
          "label",
          "url"
        ],
        "additionalProperties": false
      },
      "Agent": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "kind": {
            "type": "string",
            "enum": [
              "agent"
            ]
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "site": {
            "type": "string",
            "format": "uri"
          },
          "description": {
            "type": "string"
          },
          "checkedOn": {
            "type": "string"
          },
          "descriptionCheckedOn": {
            "type": "string"
          },
          "sources": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Source"
            }
          }
        },
        "required": [
          "id",
          "name",
          "kind",
          "url",
          "site",
          "description",
          "checkedOn",
          "descriptionCheckedOn",
          "sources"
        ],
        "additionalProperties": false
      },
      "Tool": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "kind": {
            "type": "string",
            "enum": [
              "tool"
            ]
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "site": {
            "type": "string",
            "format": "uri"
          },
          "description": {
            "type": "string"
          },
          "checkedOn": {
            "type": "string"
          },
          "descriptionCheckedOn": {
            "type": "string"
          },
          "sources": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Source"
            }
          }
        },
        "required": [
          "id",
          "name",
          "kind",
          "url",
          "site",
          "description",
          "checkedOn",
          "descriptionCheckedOn",
          "sources"
        ],
        "additionalProperties": false
      },
      "Model": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "kind": {
            "type": "string",
            "enum": [
              "model"
            ]
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "description": {
            "type": "string"
          },
          "access": {
            "type": "string"
          },
          "notes": {
            "type": "string"
          },
          "checkedOn": {
            "type": "string"
          },
          "sources": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Source"
            }
          }
        },
        "required": [
          "id",
          "name",
          "kind",
          "url",
          "description",
          "checkedOn",
          "sources"
        ],
        "additionalProperties": false
      },
      "UseCase": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "agentIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "uniqueItems": true
          },
          "checkedOn": {
            "type": "string"
          },
          "evidence": {
            "type": "string"
          },
          "evidenceKind": {
            "type": [
              "string",
              "null"
            ]
          },
          "listedInLibrary": {
            "type": "boolean"
          },
          "limitation": {
            "type": "string"
          },
          "sources": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Source"
            }
          }
        },
        "required": [
          "id",
          "title",
          "description",
          "url",
          "agentIds",
          "checkedOn",
          "evidence",
          "evidenceKind",
          "listedInLibrary",
          "sources"
        ],
        "additionalProperties": false
      },
      "UseCaseCollection": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "topic": {
            "type": "string"
          },
          "sourceIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "uniqueItems": true,
            "minItems": 1
          }
        },
        "required": [
          "id",
          "title",
          "description",
          "topic",
          "sourceIds"
        ],
        "additionalProperties": false
      },
      "AgentsResponse": {
        "type": "object",
        "properties": {
          "site": {
            "type": "string",
            "format": "uri"
          },
          "evidence": {
            "type": "string"
          },
          "agents": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Agent"
            }
          }
        },
        "required": [
          "site",
          "evidence",
          "agents"
        ],
        "additionalProperties": false
      },
      "ToolsResponse": {
        "type": "object",
        "properties": {
          "site": {
            "type": "string",
            "format": "uri"
          },
          "evidence": {
            "type": "string"
          },
          "tools": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tool"
            }
          }
        },
        "required": [
          "site",
          "evidence",
          "tools"
        ],
        "additionalProperties": false
      },
      "ModelsResponse": {
        "type": "object",
        "properties": {
          "site": {
            "type": "string",
            "format": "uri"
          },
          "evidence": {
            "type": "string"
          },
          "models": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Model"
            }
          }
        },
        "required": [
          "site",
          "evidence",
          "models"
        ],
        "additionalProperties": false
      },
      "UseCasesResponse": {
        "type": "object",
        "properties": {
          "site": {
            "type": "string",
            "format": "uri"
          },
          "evidence": {
            "type": "string"
          },
          "excludedCount": {
            "type": "integer",
            "minimum": 0
          },
          "useCases": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UseCase"
            }
          },
          "collections": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UseCaseCollection"
            }
          }
        },
        "required": [
          "site",
          "evidence",
          "excludedCount",
          "useCases",
          "collections"
        ],
        "additionalProperties": false
      },
      "SearchEntry": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "url": {
            "type": "string",
            "format": "uri-reference"
          },
          "type": {
            "type": "string",
            "enum": [
              "Agent",
              "Tool",
              "Model",
              "Page"
            ]
          },
          "keywords": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "uniqueItems": true
          }
        },
        "required": [
          "title",
          "description",
          "url",
          "type"
        ],
        "additionalProperties": false
      },
      "SearchIndex": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SearchEntry"
        }
      }
    }
  }
}
