List Agent Gateway tools.
/agent/tools
- Operation ID
- listAgentGatewayTools
- Path template
- /agent/tools
- Responses
- 200, 401, 403, 429, 500
- Scopes
- No OAuth scopes
- Request body
- No body
Parameters
headertraceparentOptionalW3C trace context header accepted for distributed tracing.
Schema refs
stringExamples
00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01
Request headers
traceparentW3C trace context header accepted for distributed tracing.
Schema refs
stringExamples
00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01
Responses
200Agent Gateway tool registry.
application/jsonSchema refs
AgentToolRegistryResponseExamples
{"ok":true,"data":{"audience":"agent-gateway","dry_run_default":true,"mcp_facade":"example-value","policy":{"arbitrary_url_fetch":false,"download_actions":"example-value","private_data_exfiltration":false,"redaction_in_logs":true},"schema_version":1,"supported_schema_versions":[1],"tools":[{"name":"mods.search","title":"Representative Moddingflow example","mode":"read","requiredScopes":["openid"],"dryRunDefault":true,"confirmationRequiredFor":["example-value"],"description":"Representative value for the public API contract.","schemaVersion":1}]}}X-Moddingflow-Agent-Schema-VersionAgent Gateway tool schema version used by this response.
Schema refs
integerX-Request-IdServer-generated request id also present in error envelopes.
Schema refs
string
Examples
{"ok":true,"data":{"audience":"agent-gateway","dry_run_default":true,"mcp_facade":"example-value","policy":{"arbitrary_url_fetch":false,"download_actions":"example-value","private_data_exfiltration":false,"redaction_in_logs":true},"schema_version":1,"supported_schema_versions":[1],"tools":[{"name":"mods.search","title":"Representative Moddingflow example","mode":"read","requiredScopes":["openid"],"dryRunDefault":true,"confirmationRequiredFor":["example-value"],"description":"Representative value for the public API contract.","schemaVersion":1}]}}401Authentication is missing, expired, or invalid.
application/problem+jsonSchema refs
ProblemDetailsErrorExamples
{"type":"https://api.moddingflow.com/problems/unauthorized","title":"Unauthorized","status":401,"detail":"Bearer token is required.","instance":"urn:moddingflow:request:req_01JZ7Q3QYBBYB9C4T1E8VNW3YJ","ok":false,"code":"unauthorized","machine_code":"unauthorized","http_status":401,"request_id":"req_01JZ7Q3QYBBYB9C4T1E8VNW3YJ","trace_id":"trace_01JZ7Q3QYBBYB9C4T1E8VNW3YJ","retryable":false,"docs_slug":"errors.unauthorized","error":{"machine_code":"unauthorized","http_status":401,"message":"Bearer token is required.","request_id":"req_01JZ7Q3QYBBYB9C4T1E8VNW3YJ","trace_id":"trace_01JZ7Q3QYBBYB9C4T1E8VNW3YJ"}}44444444-4444-4444-8444-444444444444
X-Request-IdServer-generated request id also present in error envelopes.
Schema refs
string
Examples
{"type":"https://api.moddingflow.com/problems/unauthorized","title":"Unauthorized","status":401,"detail":"Bearer token is required.","instance":"urn:moddingflow:request:req_01JZ7Q3QYBBYB9C4T1E8VNW3YJ","ok":false,"code":"unauthorized","machine_code":"unauthorized","http_status":401,"request_id":"req_01JZ7Q3QYBBYB9C4T1E8VNW3YJ","trace_id":"trace_01JZ7Q3QYBBYB9C4T1E8VNW3YJ","retryable":false,"docs_slug":"errors.unauthorized","error":{"machine_code":"unauthorized","http_status":401,"message":"Bearer token is required.","request_id":"req_01JZ7Q3QYBBYB9C4T1E8VNW3YJ","trace_id":"trace_01JZ7Q3QYBBYB9C4T1E8VNW3YJ"}}44444444-4444-4444-8444-444444444444
403The token or public client lacks the required scope.
application/problem+jsonSchema refs
ProblemDetailsErrorExamples
{"type":"https://api.moddingflow.com/problems/forbidden","title":"Forbidden","status":403,"detail":"Required scope is missing.","instance":"urn:moddingflow:request:req_01JZ7Q3X2YQ0S6C6ZPFTW2SMX2","ok":false,"code":"forbidden","machine_code":"forbidden","http_status":403,"request_id":"req_01JZ7Q3X2YQ0S6C6ZPFTW2SMX2","trace_id":"trace_01JZ7Q3X2YQ0S6C6ZPFTW2SMX2","retryable":false,"required_scopes":["mods:write"],"docs_slug":"errors.forbidden","error":{"machine_code":"forbidden","http_status":403,"message":"Required scope is missing.","request_id":"req_01JZ7Q3X2YQ0S6C6ZPFTW2SMX2","trace_id":"trace_01JZ7Q3X2YQ0S6C6ZPFTW2SMX2"}}44444444-4444-4444-8444-444444444444
X-Request-IdServer-generated request id also present in error envelopes.
Schema refs
string
Examples
{"type":"https://api.moddingflow.com/problems/forbidden","title":"Forbidden","status":403,"detail":"Required scope is missing.","instance":"urn:moddingflow:request:req_01JZ7Q3X2YQ0S6C6ZPFTW2SMX2","ok":false,"code":"forbidden","machine_code":"forbidden","http_status":403,"request_id":"req_01JZ7Q3X2YQ0S6C6ZPFTW2SMX2","trace_id":"trace_01JZ7Q3X2YQ0S6C6ZPFTW2SMX2","retryable":false,"required_scopes":["mods:write"],"docs_slug":"errors.forbidden","error":{"machine_code":"forbidden","http_status":403,"message":"Required scope is missing.","request_id":"req_01JZ7Q3X2YQ0S6C6ZPFTW2SMX2","trace_id":"trace_01JZ7Q3X2YQ0S6C6ZPFTW2SMX2"}}44444444-4444-4444-8444-444444444444
429Rate limit exceeded.
application/problem+jsonSchema refs
ProblemDetailsErrorExamples
{"type":"https://api.moddingflow.com/problems/rate_limited","title":"Rate limit exceeded","status":429,"detail":"Public API rate limit exceeded before side effects.","instance":"urn:moddingflow:request:req_01JZ7Q54FMQNEJCW8CRK5VHM1C","ok":false,"code":"rate_limited","machine_code":"rate_limited","http_status":429,"request_id":"req_01JZ7Q54FMQNEJCW8CRK5VHM1C","trace_id":"trace_01JZ7Q54FMQNEJCW8CRK5VHM1C","retryable":true,"retry_after_seconds":60,"quota_bucket":"catalog.search.ip","docs_slug":"errors.rate_limited","error":{"machine_code":"rate_limited","http_status":429,"message":"Public API rate limit exceeded before side effects.","request_id":"req_01JZ7Q54FMQNEJCW8CRK5VHM1C","trace_id":"trace_01JZ7Q54FMQNEJCW8CRK5VHM1C"}}44444444-4444-4444-8444-444444444444
RateLimit-LimitQuota limit for the active public API rate-limit bucket.
Schema refs
integerExamples
120
RateLimit-RemainingRemaining quota in the active public API rate-limit bucket.
Schema refs
integerExamples
0
RateLimit-ResetSeconds until the active public API rate-limit bucket resets.
Schema refs
integerExamples
60
Retry-AfterSeconds the client should wait before retrying a rate-limited request.
Schema refs
integerExamples
60
X-Request-IdServer-generated request id also present in error envelopes.
Schema refs
string
Examples
{"type":"https://api.moddingflow.com/problems/rate_limited","title":"Rate limit exceeded","status":429,"detail":"Public API rate limit exceeded before side effects.","instance":"urn:moddingflow:request:req_01JZ7Q54FMQNEJCW8CRK5VHM1C","ok":false,"code":"rate_limited","machine_code":"rate_limited","http_status":429,"request_id":"req_01JZ7Q54FMQNEJCW8CRK5VHM1C","trace_id":"trace_01JZ7Q54FMQNEJCW8CRK5VHM1C","retryable":true,"retry_after_seconds":60,"quota_bucket":"catalog.search.ip","docs_slug":"errors.rate_limited","error":{"machine_code":"rate_limited","http_status":429,"message":"Public API rate limit exceeded before side effects.","request_id":"req_01JZ7Q54FMQNEJCW8CRK5VHM1C","trace_id":"trace_01JZ7Q54FMQNEJCW8CRK5VHM1C"}}44444444-4444-4444-8444-444444444444
500Unexpected server error.
application/problem+jsonSchema refs
ProblemDetailsErrorExamples
{"type":"https://api.moddingflow.com/problems/internal_error","title":"Internal server error","status":500,"detail":"Unexpected server error.","instance":"urn:moddingflow:request:req_01JZ7Q5B0VNX4D8S55A1PV39H7","ok":false,"code":"internal_error","machine_code":"internal_error","http_status":500,"request_id":"req_01JZ7Q5B0VNX4D8S55A1PV39H7","trace_id":"trace_01JZ7Q5B0VNX4D8S55A1PV39H7","retryable":true,"docs_slug":"errors.internal_error","error":{"machine_code":"internal_error","http_status":500,"message":"Unexpected server error.","request_id":"req_01JZ7Q5B0VNX4D8S55A1PV39H7","trace_id":"trace_01JZ7Q5B0VNX4D8S55A1PV39H7"}}44444444-4444-4444-8444-444444444444
X-Request-IdServer-generated request id also present in error envelopes.
Schema refs
string
Examples
{"type":"https://api.moddingflow.com/problems/internal_error","title":"Internal server error","status":500,"detail":"Unexpected server error.","instance":"urn:moddingflow:request:req_01JZ7Q5B0VNX4D8S55A1PV39H7","ok":false,"code":"internal_error","machine_code":"internal_error","http_status":500,"request_id":"req_01JZ7Q5B0VNX4D8S55A1PV39H7","trace_id":"trace_01JZ7Q5B0VNX4D8S55A1PV39H7","retryable":true,"docs_slug":"errors.internal_error","error":{"machine_code":"internal_error","http_status":500,"message":"Unexpected server error.","request_id":"req_01JZ7Q5B0VNX4D8S55A1PV39H7","trace_id":"trace_01JZ7Q5B0VNX4D8S55A1PV39H7"}}44444444-4444-4444-8444-444444444444