{
  "serverInfo": {
    "name": "motomarkt-public-api",
    "version": "1.0.0",
    "title": "Motomarkt public catalog",
    "description": "Read-only access to Spain's motorcycle marketplace. Search by natural language, browse by canonical filters, or fetch listing details."
  },
  "transport": {
    "type": "http",
    "baseUrl": "https://motomarkt.pages.dev/api"
  },
  "capabilities": {
    "tools": {
      "listChanged": false
    },
    "resources": {
      "listChanged": false,
      "subscribe": false
    },
    "prompts": {
      "listChanged": false
    },
    "logging": false
  },
  "tools": [
    {
      "name": "searchListings",
      "title": "Search listings (Spanish NL)",
      "description": "Natural-language search over motorcycle, scooter, quad and trike listings in Spain. Returns parsed interpretation + listings + a redirect target when the query maps to a canonical SEO route.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "q": {
            "type": "string",
            "description": "Free-form Spanish query, e.g. \"Honda CB500 en Sevilla menos de 5000\".",
            "maxLength": 200
          },
          "page": {
            "type": "integer",
            "description": "Page number, defaults to 1",
            "minimum": 1
          }
        },
        "required": [
          "q"
        ]
      },
      "annotations": {
        "httpMethod": "GET",
        "httpUrl": "https://motomarkt.pages.dev/api/search",
        "paramStyle": "query"
      }
    },
    {
      "name": "browseListings",
      "title": "Browse listings (canonical filters)",
      "description": "Paginated listings filtered by the URL grammar.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "vehicleType": {
            "type": "string",
            "enum": [
              "motos",
              "scooters",
              "quads",
              "triciclos"
            ],
            "default": "motos"
          },
          "make": {
            "type": "string",
            "description": "Make slug, e.g. \"honda\"."
          },
          "model": {
            "type": "string",
            "description": "Model slug, e.g. \"cb500f\"."
          },
          "version": {
            "type": "string",
            "description": "Version slug."
          },
          "transaction": {
            "type": "string",
            "enum": [
              "venta",
              "renting"
            ],
            "default": "venta"
          },
          "condition": {
            "type": "string",
            "enum": [
              "nuevo",
              "km0",
              "segundaMano"
            ]
          },
          "prov": {
            "type": "string",
            "description": "Province slug, e.g. \"sevilla\"."
          },
          "muni": {
            "type": "string",
            "description": "Municipality slug."
          },
          "facets": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "default": 1
          },
          "pageSize": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 20
          },
          "sort": {
            "type": "string",
            "enum": [
              "recent",
              "priceAsc",
              "priceDesc"
            ]
          }
        }
      },
      "annotations": {
        "httpMethod": "GET",
        "httpUrl": "https://motomarkt.pages.dev/api/listings",
        "paramStyle": "query"
      }
    },
    {
      "name": "getListing",
      "title": "Get listing detail",
      "description": "Single listing with schema.org Motorcycle JSON-LD.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer"
          }
        },
        "required": [
          "id"
        ]
      },
      "annotations": {
        "httpMethod": "GET",
        "httpUrl": "https://motomarkt.pages.dev/api/listings/{id}",
        "paramStyle": "path"
      }
    },
    {
      "name": "getTaxonomy",
      "title": "Get taxonomy",
      "description": "Controlled vocabularies (makes, models, conditions, transactions, body types, etc.).",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "annotations": {
        "httpMethod": "GET",
        "httpUrl": "https://motomarkt.pages.dev/api/taxonomy"
      }
    },
    {
      "name": "getGeo",
      "title": "Get geography",
      "description": "Spanish provinces and municipalities with listing counts.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "annotations": {
        "httpMethod": "GET",
        "httpUrl": "https://motomarkt.pages.dev/api/geo"
      }
    },
    {
      "name": "lookupRoute",
      "title": "Resolve a canonical SEO route",
      "description": "Given a path like \"/motos/honda\", return the canonical route metadata.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "string"
          }
        },
        "required": [
          "path"
        ]
      },
      "annotations": {
        "httpMethod": "GET",
        "httpUrl": "https://motomarkt.pages.dev/api/routes",
        "paramStyle": "query"
      }
    }
  ],
  "resources": [
    {
      "uri": "https://motomarkt.pages.dev/llms.txt",
      "name": "llms.txt",
      "title": "Site orientation document",
      "description": "Markdown index of the JSON API and sitemaps per the llms.txt spec.",
      "mimeType": "text/markdown"
    },
    {
      "uri": "https://motomarkt.pages.dev/openapi.json",
      "name": "OpenAPI",
      "title": "OpenAPI 3.1 service description",
      "mimeType": "application/openapi+json"
    },
    {
      "uri": "https://motomarkt.pages.dev/sitemap.xml",
      "name": "Sitemap index",
      "mimeType": "application/xml"
    }
  ],
  "serviceDescription": "https://motomarkt.pages.dev/openapi.json"
}