{
  "openapi": "3.1.0",
  "x-zeroclick-navigation": {
    "fullSpec": "https://agents.rtrvr.ai/zcj/q5wlfmj8vety/openapi.json",
    "services": "https://agents.rtrvr.ai/zcj/q5wlfmj8vety/services",
    "serviceSpecTemplate": "https://agents.rtrvr.ai/zcj/q5wlfmj8vety/services/{slug}/openapi.json",
    "searchTemplate": "https://agents.rtrvr.ai/zcj/q5wlfmj8vety/openapi.json?q={text}",
    "operationTemplate": "https://agents.rtrvr.ai/zcj/q5wlfmj8vety/openapi.json?path={path}&method={method}",
    "firstPage": "https://agents.rtrvr.ai/zcj/q5wlfmj8vety/openapi.json?page=1",
    "instructions": [
      "Use this spec if it contains the operation and details you need. Otherwise, search or open a relevant service spec using the links below.",
      "Find service slugs in x-zeroclick-services or x-payment-info.rates[].service; use them in serviceSpecTemplate, never as request values.",
      "URL-encode template values. Search is ranked; service, path, and method filters are exact. Filters combine.",
      "Pages contain up to 10 operations; follow info.x-next or the Link header if you need more results. Shared operations retain all selector values."
    ]
  },
  "info": {
    "title": "Retriever AI",
    "version": "1.0.0",
    "description": "Retriever AI runs a cloud browser cluster that loads web pages and returns what an agent needs to read them: the visible text, the accessibility tree, and a map of every link on the page. Pages load in real browsers behind rotating proxies, so sites that rate limit or block plain HTTP fetches still come back, and no language model runs on the way out, so the output is raw page data ready for your own extraction, search, or retrieval pipeline. Each call takes one or more URLs and returns one tab per URL in the same order. Every call is one request at a flat rate. This server is a pay-per-use, transparent proxy in front of Retriever AI's own API: it handles identity, payment, and proxying. Agents can purchase autonomously or with their human's approval. The complete verified paid surface is listed at /openapi.json, the source of truth for available operations. Each operation here carries its live price in x-payment-info. Use the operations and details here when they meet your needs. Filtered specs contain only matching operations; if you cannot find what you need here, use search or the service catalog. The live catalog at /manifest.json is authoritative for prices and any free included units (prices[].includedUnits) - some meters include free usage per account before any charge, reserved for agents claimed by a human with a verified email.",
    "x-guidance": "Start with the free seller advisor: POST https://agents.rtrvr.ai/zcj/q5wlfmj8vety/zeroclick/agent/quote with your goal and known budget or requirements. This operation costs $0 and requires only an x402 or MPP wallet proof; it returns a guide and never executes a purchase. Without a wallet, GET https://agents.rtrvr.ai/zcj/q5wlfmj8vety/zeroclick/agent/guide?goal=URL_ENCODED_TASK or POST to that guide. Other operations below are the direct API reference; their own prices and access requirements still apply. Call the operations listed in this document at https://agents.rtrvr.ai. Each service's full price matrix, plans, and how to buy are at https://agents.rtrvr.ai/zcj/q5wlfmj8vety/services/{slug}; each operation's x-payment-info names the service it bills by slug (rates[].service). Slugs identify services in prices and usage reports and are never request values: when one operation serves several services, its request body schema lists the accepted values of the field that selects the service, so send one of those exactly as written. An unpaid call returns 402 Payment Required with a signed challenge; settle it with a supported payment method - x402 (Base USDC) or MPP (Tempo USDC) today - and retry with the proof attached. No upstream API key is needed, and an agent without a payment method can set one up instantly at no cost. Read GET https://agents.rtrvr.ai/zcj/q5wlfmj8vety/manifest.json for the live services, meters, plans, prices, and any free included units, and https://agents.rtrvr.ai/zcj/q5wlfmj8vety/llms-full.txt for the full agent guide, including how the free allowance works without funding (it requires an agent identity claimed by a human with a verified email)."
  },
  "x-service-info": {
    "categories": [
      "data",
      "web"
    ],
    "docs": {
      "homepage": "https://rtrvr.ai",
      "apiReference": "https://agents.rtrvr.ai/zcj/q5wlfmj8vety/openapi.json",
      "llms": "https://agents.rtrvr.ai/zcj/q5wlfmj8vety/llms.txt"
    }
  },
  "externalDocs": {
    "url": "https://agents.rtrvr.ai/zcj/q5wlfmj8vety/llms-full.txt",
    "description": "How to authenticate, pay, and call this API; links the upstream API reference."
  },
  "servers": [
    {
      "url": "https://agents.rtrvr.ai/zcj/q5wlfmj8vety",
      "description": "Pay-per-use access to Retriever AI's API"
    }
  ],
  "security": [
    {
      "payPerUse": []
    }
  ],
  "components": {
    "securitySchemes": {
      "payPerUse": {
        "type": "apiKey",
        "in": "header",
        "name": "x-payment",
        "description": "Pay-per-use access. An unpaid call returns 402 Payment Required with a signed challenge; settle it with a supported payment method (x402 or MPP today) and retry with the proof in this header (x402) or as Authorization: Payment (MPP; use ZC-Agent-Authorization for a separate buyer bearer). No upstream API key is needed, and an agent without a payment method can set one up instantly at no cost."
      },
      "sellerAgentX402": {
        "type": "apiKey",
        "in": "header",
        "name": "Payment-Signature",
        "description": "Signed $0 x402 proof from the 402 challenge"
      },
      "sellerAgentMpp": {
        "type": "http",
        "scheme": "Payment",
        "description": "Signed $0 MPP proof from the 402 challenge"
      }
    }
  },
  "paths": {
    "/scrape": {
      "post": {
        "summary": "Scrape website data",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "tabs": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "url": {
                            "type": "string"
                          },
                          "tree": {
                            "type": "string",
                            "description": "Accessibility tree as a JSON string. Omitted when onlyTextContent is true."
                          },
                          "error": {
                            "type": "string"
                          },
                          "tabId": {
                            "type": "integer"
                          },
                          "title": {
                            "type": "string"
                          },
                          "status": {
                            "enum": [
                              "success",
                              "error"
                            ],
                            "type": "string"
                          },
                          "content": {
                            "type": "string",
                            "description": "Extracted visible text."
                          },
                          "contentType": {
                            "type": "string"
                          },
                          "elementLinkRecord": {
                            "type": "object",
                            "description": "Tree element id to link URL. Present only with tree.",
                            "additionalProperties": {
                              "type": "string"
                            }
                          }
                        }
                      },
                      "description": "One entry per input URL, in input order."
                    },
                    "error": {
                      "type": "string"
                    },
                    "status": {
                      "enum": [
                        "success",
                        "error"
                      ],
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "metadata": {
                      "type": "object",
                      "properties": {
                        "taskRef": {
                          "type": "string"
                        },
                        "durationMs": {
                          "type": "integer"
                        },
                        "responseRef": {
                          "type": "object",
                          "description": "Storage reference for the full payload when the inline cap was exceeded."
                        },
                        "outputTooLarge": {
                          "type": "boolean"
                        },
                        "inlineOutputMaxBytes": {
                          "type": "integer"
                        }
                      }
                    },
                    "usageData": {
                      "type": "object",
                      "properties": {
                        "totalUsd": {
                          "type": "number"
                        },
                        "proxyCredits": {
                          "type": "number"
                        },
                        "totalCredits": {
                          "type": "number"
                        },
                        "browserCredits": {
                          "type": "number"
                        },
                        "proxyPageLoads": {
                          "type": "number"
                        },
                        "requestDurationMs": {
                          "type": "number"
                        },
                        "usingBillableProxy": {
                          "type": "boolean"
                        },
                        "proxyTabsDataFetches": {
                          "type": "number"
                        }
                      },
                      "description": "Infra usage on Retriever AI's side. Informational; the storefront bills one request per call."
                    },
                    "trajectoryId": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Successful response"
          },
          "402": {
            "description": "Payment required"
          }
        },
        "parameters": [
          {
            "in": "query",
            "name": "url",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "description": "Collect website data using the Retriever AI agent.",
        "operationId": "scrapeWebsite",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "example": {
                  "urls": [
                    "https://example.com"
                  ]
                },
                "required": [
                  "urls"
                ],
                "properties": {
                  "url": {
                    "type": "string",
                    "description": "The URL to scrape."
                  },
                  "urls": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "uri"
                    },
                    "minItems": 1,
                    "description": "Absolute URLs to load. One tab comes back per URL, in the same order."
                  },
                  "options": {
                    "type": "object",
                    "properties": {
                      "ui": {
                        "type": "object",
                        "properties": {
                          "emitEvents": {
                            "type": "boolean",
                            "default": false,
                            "description": "Write progress events for SSE or polling clients."
                          }
                        }
                      }
                    }
                  },
                  "response": {
                    "type": "object",
                    "properties": {
                      "inlineOutputMaxBytes": {
                        "type": "integer",
                        "default": 1048576,
                        "description": "Cap on the inline JSON. Larger results return per-tab previews plus metadata.responseRef for the full payload."
                      }
                    }
                  },
                  "settings": {
                    "type": "object",
                    "properties": {
                      "proxyConfig": {
                        "type": "object",
                        "properties": {
                          "mode": {
                            "enum": [
                              "none",
                              "default",
                              "custom",
                              "device"
                            ],
                            "type": "string",
                            "description": "Proxy mode for the page loads. default uses Retriever AI's rotating proxies."
                          },
                          "location": {
                            "type": "object",
                            "properties": {
                              "city": {
                                "type": "string"
                              },
                              "region": {
                                "type": "string"
                              },
                              "country": {
                                "type": "string"
                              }
                            }
                          },
                          "customProxies": {
                            "type": "array",
                            "items": {
                              "type": "object"
                            }
                          },
                          "selectedProxyId": {
                            "type": "string"
                          },
                          "selectedDeviceId": {
                            "type": "string"
                          },
                          "selectedProxyName": {
                            "type": "string"
                          }
                        }
                      },
                      "extractionConfig": {
                        "type": "object",
                        "properties": {
                          "pageLoadDelay": {
                            "type": "number",
                            "description": "Extra wait after page load before extraction."
                          },
                          "totalBudgetMs": {
                            "type": "integer"
                          },
                          "maxParallelTabs": {
                            "type": "integer",
                            "description": "How many URLs load at once."
                          },
                          "onlyTextContent": {
                            "type": "boolean",
                            "description": "Return extracted text only and omit the accessibility tree and link record."
                          },
                          "disableAutoScroll": {
                            "type": "boolean",
                            "description": "Skip the scroll pass that triggers lazy-loaded content."
                          },
                          "makeNewTabsActive": {
                            "type": "boolean"
                          },
                          "writeRowProcessingTime": {
                            "type": "boolean"
                          }
                        }
                      }
                    },
                    "description": "Per-call overrides merged over the stored profile."
                  },
                  "webhooks": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "required": [
                        "url"
                      ],
                      "properties": {
                        "url": {
                          "type": "string",
                          "format": "uri",
                          "description": "HTTPS endpoint that receives the JSON envelope."
                        },
                        "auth": {
                          "type": "object",
                          "properties": {
                            "type": {
                              "enum": [
                                "bearer",
                                "basic"
                              ],
                              "type": "string"
                            },
                            "token": {
                              "type": "string"
                            },
                            "password": {
                              "type": "string"
                            },
                            "username": {
                              "type": "string"
                            }
                          },
                          "description": "Bearer token or basic credentials for the receiving endpoint."
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "mode": {
                              "enum": [
                                "default",
                                "none"
                              ],
                              "type": "string",
                              "description": "default retries with backoff, none delivers once."
                            }
                          }
                        },
                        "events": {
                          "type": "array",
                          "items": {
                            "enum": [
                              "rtrvr.scrape.succeeded",
                              "rtrvr.scrape.failed",
                              "rtrvr.scrape.cancelled"
                            ],
                            "type": "string"
                          },
                          "description": "Events to deliver. Defaults to all three."
                        },
                        "secret": {
                          "type": "string",
                          "description": "HMAC secret. When set, deliveries carry an X-Rtrvr-Signature header."
                        },
                        "headers": {
                          "type": "object",
                          "description": "Extra headers on each delivery.",
                          "additionalProperties": {
                            "type": "string"
                          }
                        },
                        "timeoutMs": {
                          "type": "integer",
                          "default": 8000,
                          "description": "Delivery timeout in milliseconds."
                        }
                      }
                    },
                    "description": "Endpoints to POST the result to when the scrape succeeds, fails, or is cancelled."
                  },
                  "trajectoryId": {
                    "type": "string",
                    "description": "Optional stable id to group related scrapes for your own analytics."
                  }
                }
              }
            }
          },
          "required": true
        },
        "x-zeroclick-document-sources": [
          {
            "gaps": [
              "The provided documentation mentions a /scrape endpoint in the catalog but does not provide the specific OpenAPI schema details for it in the text. The operation object is inferred based on standard scraping patterns."
            ],
            "pages": [
              1
            ],
            "sourceId": "sds_-l3Jesl47bx0S3bvBYDge",
            "authority": "supplemental",
            "conflicts": [
              "/responses/200/description",
              "/requestBody/content/application/json/schema/required"
            ],
            "revisionId": "sdrn_19KW_kaAJprGF_35zKNCc"
          },
          {
            "gaps": [
              "The provided documentation mentions a /scrape endpoint in the catalog but does not provide the specific OpenAPI schema details for it in the text. The operation object is inferred based on standard scraping patterns."
            ],
            "pages": [
              1
            ],
            "sourceId": "sds_99wZTMspI6U4Mnn8igJ0b",
            "authority": "supplemental",
            "conflicts": [
              "/responses/200/description",
              "/requestBody/content/application/json/schema/required"
            ],
            "revisionId": "sdrn_MHS5LWFRa0PjDZuAIGPie"
          },
          {
            "gaps": [
              "The provided documentation mentions a /scrape endpoint in the catalog but does not provide the specific OpenAPI schema details for it in the text. The operation object is inferred based on standard scraping patterns."
            ],
            "pages": [
              1
            ],
            "sourceId": "sds_bZFH0Lx3HA8_GODWn08cx",
            "authority": "supplemental",
            "conflicts": [
              "/responses/200/description",
              "/requestBody/content/application/json/schema/required"
            ],
            "revisionId": "sdrn_9Lvz5v31qFbguVhK20AtA"
          },
          {
            "gaps": [
              "The provided documentation mentions a /scrape endpoint in the catalog but does not provide the specific OpenAPI schema details for it in the text. The operation object is inferred based on standard scraping patterns."
            ],
            "pages": [
              1
            ],
            "sourceId": "sds_dMaQU-0lHncK0dhuOqR51",
            "authority": "supplemental",
            "conflicts": [
              "/responses/200/description",
              "/requestBody/content/application/json/schema/required"
            ],
            "revisionId": "sdrn_uc3WKwhBAF4okGthaFPRl"
          },
          {
            "gaps": [
              "Detailed schema for WebhookSubscription and ScrapeApiResponse objects are conceptual in docs; inline definitions provided based on text."
            ],
            "pages": [
              1,
              2,
              3,
              4
            ],
            "sourceId": "sds_fbfe003ac4ed7dde4b02ac68e7a0eca6",
            "authority": "supplemental",
            "conflicts": [
              "/summary",
              "/responses/200/description",
              "/description",
              "/operationId",
              "/requestBody/content/application/json/schema/properties/settings/properties/proxyConfig/properties/mode/enum",
              "/requestBody/content/application/json/schema/properties/settings/properties/extractionConfig/properties/pageLoadDelay/type"
            ],
            "revisionId": "sdrn_hmjCDP7Eb7i0ZY7bbY-v0"
          },
          {
            "gaps": [
              "Full request/response schema for /scrape is not explicitly detailed in the provided text beyond high-level descriptions."
            ],
            "pages": [
              2
            ],
            "sourceId": "sds_M5o9mgJYngpMEdLlr9VvP",
            "authority": "supplemental",
            "conflicts": [
              "/summary",
              "/responses/200/description",
              "/description",
              "/operationId"
            ],
            "revisionId": "sdrn_2A04ArjCsFHX6VsvJAynF"
          },
          {
            "gaps": [
              "The provided documentation shows CLI usage 'rtrvr scrape https://example.com' but does not explicitly define the HTTP request body or response schema for the /scrape endpoint."
            ],
            "pages": [
              1
            ],
            "sourceId": "sds_Pq5RL1035M8kmDOXt19kL",
            "authority": "supplemental",
            "conflicts": [
              "/summary",
              "/responses/200/description",
              "/description",
              "/operationId"
            ],
            "revisionId": "sdrn_8pRKjs0AQnfdvypGn_nH9"
          },
          {
            "gaps": [
              "Full schema definition for settings object",
              "Full schema definition for webhook objects"
            ],
            "pages": [
              1,
              2,
              3,
              4,
              5
            ],
            "sourceId": "sds_vW9cBKBlE0me9XVGb60KN",
            "authority": "supplemental",
            "conflicts": [
              "/summary",
              "/responses/200/description",
              "/description",
              "/operationId",
              "/requestBody/content/application/json/schema/properties/urls/description",
              "/requestBody/content/application/json/schema/properties/response/properties/inlineOutputMaxBytes/type",
              "/requestBody/content/application/json/schema/properties/response/properties/inlineOutputMaxBytes/description",
              "/requestBody/content/application/json/schema/properties/settings/description",
              "/requestBody/content/application/json/schema/properties/trajectoryId/description"
            ],
            "revisionId": "sdrn_ylyy0CKLo4eRupyaZhdvM"
          },
          {
            "gaps": [
              "Missing full schema definition for /scrape in provided text; inferred from context."
            ],
            "pages": [
              1
            ],
            "sourceId": "sds_YCGro5x6MXb8Vl1ZFjsrn",
            "authority": "supplemental",
            "conflicts": [
              "/responses/200/description",
              "/requestBody/content/application/json/schema/required"
            ],
            "revisionId": "sdrn_nQuPbgHhUdnVNooXJdUEG"
          }
        ],
        "x-zeroclick-services": [
          "scrape"
        ],
        "x-payment-info": {
          "access": "payg",
          "protocols": [
            {
              "mpp": {
                "method": "tempo",
                "intent": "charge",
                "currency": "USD"
              }
            },
            {
              "x402": {
                "network": "eip155:8453",
                "scheme": "exact",
                "currency": "USDC"
              }
            }
          ],
          "offers": [
            {
              "amount": "50000",
              "currency": "0x20C000000000000000000000b9537d11c60E8b50",
              "description": "$0.050000 per request (requests, service scrape)",
              "intent": "charge",
              "method": "tempo"
            }
          ],
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.050000"
          },
          "rates": [
            {
              "service": "scrape",
              "meter": "requests",
              "unit": "request",
              "unitSize": 1,
              "priceUsd": "0.050000",
              "includedUnits": 0
            }
          ],
          "perCallUsage": [
            {
              "service": "scrape",
              "meter": "requests",
              "quantity": 1
            }
          ]
        }
      }
    },
    "/zeroclick/agent/quote": {
      "post": {
        "operationId": "sellerAgentQuote",
        "summary": "Get a free seller API quote and purchase guide",
        "description": "Describe your task to get the matching API contract, prices, prerequisites and next steps. This is a $0 wallet-proof lookup, not the seller's paid service. No purchase is executed. Without a wallet, use /zeroclick/agent/guide.",
        "servers": [
          {
            "url": "https://agents.rtrvr.ai/zcj/q5wlfmj8vety"
          }
        ],
        "security": [
          {
            "sellerAgentX402": []
          },
          {
            "sellerAgentMpp": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "type": "object",
                "properties": {
                  "goal": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 2000,
                    "description": "Describe the task and known inputs. Do not include credentials."
                  },
                  "quantity": {
                    "description": "Number of API calls, not returned items. Omit when unknown; describe desired output in goal.",
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 1000000
                  },
                  "budgetUsd": {
                    "description": "Total cash budget in USD. A quote does not authorize spending.",
                    "type": "string",
                    "pattern": "^(0|[1-9]\\d{0,8})(\\.\\d{1,6})?$"
                  },
                  "budgetExclusive": {
                    "type": "boolean"
                  },
                  "reviewAfterCalls": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 1000000
                  },
                  "requirements": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 300
                  },
                  "humanAvailable": {
                    "description": "Whether a human is in the loop. False recommends anonymous auth for a new autonomous identity; omit when unknown. Executing a human's request without further interruptions does not by itself mean false.",
                    "type": "boolean"
                  },
                  "payment": {
                    "description": "Known payment method for the eventual purchase, independent of this free lookup's wallet proof.",
                    "type": "string",
                    "enum": [
                      "x402",
                      "mpp",
                      "card"
                    ]
                  }
                },
                "required": [
                  "goal"
                ],
                "additionalProperties": false
              },
              "example": {
                "goal": "Find the available services, prices and purchase steps"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Task guidance; inspect status before executing anything",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "quoted",
                        "ready",
                        "needs_input",
                        "blocked",
                        "unknown",
                        "unsupported",
                        "unavailable"
                      ]
                    },
                    "priceUsd": {
                      "type": "string",
                      "const": "0"
                    },
                    "guide": {
                      "type": "string",
                      "description": "Markdown guidance containing the task result, exact contract, pricing and next steps when available. No purchase is executed."
                    },
                    "guideUrl": {
                      "type": "string",
                      "format": "uri",
                      "description": "Wallet-free advisor endpoint for further planning or recovery."
                    }
                  },
                  "required": [
                    "status",
                    "priceUsd",
                    "guide",
                    "guideUrl"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "402": {
            "description": "$0 x402 or MPP wallet proof required; sign and retry the same request. No funds are transferred."
          },
          "503": {
            "description": "Advisor unavailable; use the wallet-free guide or direct storefront references"
          }
        },
        "x-payment-info": {
          "access": "payg",
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0"
          },
          "protocols": [
            {
              "x402": {
                "network": "eip155:8453",
                "scheme": "exact",
                "currency": "USDC"
              }
            },
            {
              "mpp": {
                "method": "tempo",
                "intent": "charge",
                "currency": "USD"
              }
            }
          ],
          "offers": [
            {
              "amount": "0",
              "currency": "0x20C000000000000000000000b9537d11c60E8b50",
              "method": "tempo",
              "intent": "charge",
              "description": "Free seller advisor lookup"
            }
          ]
        }
      }
    }
  },
  "x-zeroclick-navigation-footer": {
    "instructions": [
      "Use this spec if it contains the operation and details you need. Otherwise, search or open a relevant service spec using the links below.",
      "Find service slugs in x-zeroclick-services or x-payment-info.rates[].service; use them in serviceSpecTemplate, never as request values.",
      "URL-encode template values. Search is ranked; service, path, and method filters are exact. Filters combine.",
      "Pages contain up to 10 operations; follow info.x-next or the Link header if you need more results. Shared operations retain all selector values."
    ],
    "fullSpec": "https://agents.rtrvr.ai/zcj/q5wlfmj8vety/openapi.json",
    "services": "https://agents.rtrvr.ai/zcj/q5wlfmj8vety/services",
    "serviceSpecTemplate": "https://agents.rtrvr.ai/zcj/q5wlfmj8vety/services/{slug}/openapi.json",
    "searchTemplate": "https://agents.rtrvr.ai/zcj/q5wlfmj8vety/openapi.json?q={text}",
    "operationTemplate": "https://agents.rtrvr.ai/zcj/q5wlfmj8vety/openapi.json?path={path}&method={method}",
    "firstPage": "https://agents.rtrvr.ai/zcj/q5wlfmj8vety/openapi.json?page=1"
  }
}
