{
  "openapi": "3.0.3",
  "info": {
    "title": "WickedAPI Platform Directory",
    "version": "1.1.0",
    "description": "wickedapi.com is the showcase/index site for the WickedAPI platform — it is not itself a data API. This spec documents its machine-readable endpoints: `/services.json`, a directory of every live WickedAPI service with links to each one's own OpenAPI spec, docs, and llms.txt, and `/status.json`, live health of every service host. Start here, then follow `openapi_url` to the service you actually want to call.",
    "contact": {
      "url": "https://wickedapi.com"
    },
    "termsOfService": "https://wickedapi.com/"
  },
  "servers": [
    {
      "url": "https://wickedapi.com",
      "description": "Production"
    }
  ],
  "paths": {
    "/services.json": {
      "get": {
        "operationId": "list_services",
        "summary": "List every WickedAPI service",
        "description": "Static directory of all live WickedAPI services and tools: name, live URL, category, one-line description, auth modes, and (where applicable) that service's own `openapi_url`/`docs_url`/`llms_txt_url`/`agent_card_url`.",
        "tags": [
          "Directory"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceDirectory"
                }
              }
            }
          }
        }
      }
    },
    "/llms.txt": {
      "get": {
        "operationId": "get_llms_txt",
        "summary": "LLM-facing platform summary",
        "description": "Terse, llmstxt.org-convention summary of the whole platform for agents deciding what to call.",
        "tags": [
          "Directory"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/status.json": {
      "get": {
        "operationId": "get_status",
        "summary": "Live health of every service host",
        "description": "Each wickedapi.com/marketonbase.com host in services.json, probed from the wickedapi.com server with a GET to its root. Any HTTP answer below 500 is `live`; 5xx, timeouts (8s) and network errors are `down`. Cached for 60 seconds.",
        "tags": [
          "Directory"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StatusReport"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "ServiceDirectory": {
        "type": "object",
        "properties": {
          "platform": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "updated": {
            "type": "string",
            "format": "date"
          },
          "services": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "id",
                "name",
                "url",
                "category",
                "description"
              ],
              "properties": {
                "id": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "url": {
                  "type": "string",
                  "format": "uri"
                },
                "docs_url": {
                  "type": "string",
                  "format": "uri"
                },
                "openapi_url": {
                  "type": "string",
                  "format": "uri"
                },
                "llms_txt_url": {
                  "type": "string",
                  "format": "uri"
                },
                "agent_card_url": {
                  "type": "string",
                  "format": "uri"
                },
                "category": {
                  "type": "string",
                  "enum": [
                    "data",
                    "trust",
                    "payments",
                    "tooling"
                  ],
                  "description": "References `categories[].id`."
                },
                "description": {
                  "type": "string"
                },
                "auth": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "tagline": {
                  "type": "string"
                },
                "mcp_url": {
                  "type": "string",
                  "format": "uri"
                }
              }
            }
          },
          "categories": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "StatusReport": {
        "type": "object",
        "properties": {
          "checked_at": {
            "type": "string",
            "format": "date-time"
          },
          "probed_from": {
            "type": "string"
          },
          "ttl_s": {
            "type": "integer"
          },
          "services": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "id",
                "host",
                "state"
              ],
              "properties": {
                "id": {
                  "type": "string"
                },
                "host": {
                  "type": "string"
                },
                "state": {
                  "type": "string",
                  "enum": [
                    "live",
                    "down"
                  ]
                },
                "http_status": {
                  "type": "integer"
                },
                "ms": {
                  "type": "integer",
                  "description": "Round-trip time of the probe in milliseconds."
                },
                "error": {
                  "type": "string",
                  "enum": [
                    "timeout",
                    "unreachable"
                  ]
                }
              }
            }
          }
        }
      }
    }
  },
  "tags": [
    {
      "name": "Directory",
      "description": "Platform-wide service directory"
    }
  ]
}