{"openapi":"3.1.0","info":{"title":"Webhook.site (BYOK) API","version":"0.1.0","description":"Webhook.site (BYOK) lets an AI assistant read your own Webhook.site data through the Webhook.site API with a key you supply (Webhook.site API key). Read-only: 7 tools (list_tokens, get_token, list_requests, get_latest_request, get_request, list_groups, list_users). The BYOK key travels with each request, is used for that one call only and is never stored, logged or cached; it is only ever sent to...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-webhooksite.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-webhooksite/docs"},"termsOfService":"https://connectorbay.com/byok-webhooksite/terms"},"servers":[{"url":"https://byok-webhooksite.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-webhooksite/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/list_tokens":{"post":{"operationId":"list_tokens","summary":"List the Webhook.site tokens (test URLs and email addresses) of your account with alias, response settings, expiry and r","description":"List the Webhook.site tokens (test URLs and email addresses) of your account with alias, response settings, expiry and request counts. Use for \"Which Webhook.site URLs do I have and how many requests did each get\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"order_by":{"anyOf":[{"enum":["created_at","token_id"],"type":"string"},{"type":"null"}],"default":null,"description":"Order by created_at (default) or token_id.","title":"Order By"},"order_direction":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"default":null,"description":"Order direction: asc (default) or desc.","title":"Order Direction"},"per_page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many results per page (1 to 100).","title":"Per Page"},"page":{"anyOf":[{"maximum":100000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"title":"list_tokensArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_token":{"post":{"operationId":"get_token","summary":"Get one Webhook.site token: alias, default response, timeout, expiry and dates. Use for \"Show settings of Webhook.site t","description":"Get one Webhook.site token: alias, default response, timeout, expiry and dates. Use for \"Show settings of Webhook.site token 9981f9f4-657a-4ebf-be7c-1915bedd4775\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"token_id":{"description":"Webhook.site token id (the UUID at the end of your Webhook.site URL; aliases do not work here).","maxLength":60,"title":"Token Id","type":"string"}},"required":["token_id"],"title":"get_tokenArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_requests":{"post":{"operationId":"list_requests","summary":"List requests, emails and DNS lookups captured by a Webhook.site token, with method, URL, body, query and time. Supports","description":"List requests, emails and DNS lookups captured by a Webhook.site token, with method, URL, body, query and time. Supports search and date filters. Use for \"What requests did my Webhook.site URL receive recently\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"token_id":{"description":"Webhook.site token id (the UUID at the end of your Webhook.site URL; aliases do not work here).","maxLength":60,"title":"Token Id","type":"string"},"sorting":{"anyOf":[{"enum":["newest","oldest"],"type":"string"},{"type":"null"}],"default":null,"description":"Order: newest or oldest (the API default).","title":"Sorting"},"query":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Search expression, for example 'method:POST', 'content:foobar' or 'type:web AND method:PUT'.","title":"Query"},"date_from":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Only requests from this time on, format yyyy-MM-dd HH:mm:ss.","title":"Date From"},"date_to":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Only requests up to this time, format yyyy-MM-dd HH:mm:ss.","title":"Date To"},"per_page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many results per page (1 to 100).","title":"Per Page"},"page":{"anyOf":[{"maximum":100000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"required":["token_id"],"title":"list_requestsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_latest_request":{"post":{"operationId":"get_latest_request","summary":"Get the most recent request captured by a Webhook.site token with method, URL, body, query and time. Use for \"What was t","description":"Get the most recent request captured by a Webhook.site token with method, URL, body, query and time. Use for \"What was the last request my Webhook.site URL received\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"token_id":{"description":"Webhook.site token id (the UUID at the end of your Webhook.site URL; aliases do not work here).","maxLength":60,"title":"Token Id","type":"string"}},"required":["token_id"],"title":"get_latest_requestArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_request":{"post":{"operationId":"get_request","summary":"Get one captured request by id: method, URL, body, query string, size, country and time. Use for \"Show Webhook.site requ","description":"Get one captured request by id: method, URL, body, query string, size, country and time. Use for \"Show Webhook.site request a2a6a4ae-4130-4063-953a-84fa29d81d43\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"token_id":{"description":"Webhook.site token id (the UUID at the end of your Webhook.site URL; aliases do not work here).","maxLength":60,"title":"Token Id","type":"string"},"request_id":{"description":"Request id (UUID), from list_requests.","maxLength":60,"title":"Request Id","type":"string"}},"required":["token_id","request_id"],"title":"get_requestArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_groups":{"post":{"operationId":"list_groups","summary":"List the groups that organize your Webhook.site tokens. Use for \"What Webhook.site groups do I have\".","description":"List the groups that organize your Webhook.site tokens. Use for \"What Webhook.site groups do I have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"per_page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many results per page (1 to 100).","title":"Per Page"},"page":{"anyOf":[{"maximum":100000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"title":"list_groupsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_users":{"post":{"operationId":"list_users","summary":"List the users of your Webhook.site team with name, email, user type and last login. Needs an Administrator key. Use for","description":"List the users of your Webhook.site team with name, email, user type and last login. Needs an Administrator key. Use for \"Who has access to my Webhook.site team\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"per_page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many results per page (1 to 100).","title":"Per Page"},"page":{"anyOf":[{"maximum":100000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"title":"list_usersArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}