{"slug":"agent402-tools-api-openapi-search-92c2f7","title":"Search operations in an OpenAPI 3.x or Swagger 2.x spec against a free-text quer","host":"agent402.tools","method":"POST","resource":"https://agent402.tools/api/openapi-search","category":"market","description":"Search operations in an OpenAPI 3.x or Swagger 2.x spec against a free-text query. Tokenizes the query (lowercase, alphanumeric runs), scores each operation by which fields the tokens match - operationId +3, path +3, tags +2, summary +2, description +1 per matched token - and returns ranked results ","price_listed":0.001,"price_asked":0.001,"state":"answering","state_label":"Answering","checks_7d":1,"answered_7d":1,"latency_ms_median":952,"reported_calls_30d":5,"reported_payers_30d":1,"networks":["algorand:wGHE2Pwdvd7S12BL5FaOP20EGYesN73ktiC1qzkkit8=","eip155:10","eip155:1329","eip155:137","eip155:143","eip155:42161","eip155:42220","eip155:43114","eip155:4663","eip155:8453","solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","stellar:pubnet"],"badge":"unverified","paid_checks_7d":0,"paid_ok_7d":0,"example_input":{"body":{"query":"user avatar","spec":{"paths":{"/posts":{"get":{"operationId":"listPosts","responses":{"200":{}},"summary":"List posts","tags":["posts"]}},"/users/{id}":{"get":{"operationId":"getUser","responses":{"200":{}},"summary":"Get a user","tags":["users"]}},"/users/{id}/avatar":{"put":{"operationId":"uploadUserAvatar","responses":{"200":{}},"summary":"Upload user avatar","tags":["users"]}}}}},"bodyType":"json","method":"POST","type":"http"},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"additionalProperties":false,"properties":{"body":{"properties":{"limit":{"description":"Maximum results to return (default 10, max 100)"},"query":{"description":"Free-text search query (tokenized lowercase)"},"spec":{"description":"OpenAPI/Swagger document (object or JSON string)"}},"required":["spec","query"]},"bodyType":{"enum":["json","form-data","text"],"type":"string"},"method":{"enum":["POST"],"type":"string"},"type":{"const":"http","type":"string"}},"required":["type","method","bodyType","body"],"type":"object"},"output":{"properties":{"example":{"properties":{"results":{"items":{"properties":{"matches":{"items":{"type":"string"},"type":"array"},"method":{"type":"string"},"operationId":{"type":"string"},"path":{"type":"string"},"score":{"type":"integer"},"summary":{"type":"string"},"tags":{"items":{"type":"string"},"type":"array"}},"type":"object"},"type":"array"},"total":{"type":"integer"}},"required":["total","results"],"type":"object"},"type":{"type":"string"}},"required":["type"],"type":"object"}},"required":["input"],"type":"object"},"history":[{"day":"2026-09-24","reachable":true,"status":402,"valid_402":true,"asked_usdc":0.001,"price_match":true,"latency_ms":952,"error":null}],"description_full":"Search operations in an OpenAPI 3.x or Swagger 2.x spec against a free-text query. Tokenizes the query (lowercase, alphanumeric runs), scores each operation by which fields the tokens match - operationId +3, path +3, tags +2, summary +2, description +1 per matched token - and returns ranked results with a `matches` array naming the contributing fields. Sort: score descending, then path ascending for stability. Limit defaults to 10 (max 100).","last_updated":"2026-09-21T11:06:59.754Z","schemes":["exact","upto"]}