Request logs API
List and read proxied calls.
Proxy calls and direct MCP server calls are separate collections. The regional runtime sets each request record to expire after 90 days. A single-call path adds the request id.
Endpoints
| Method | Path | What it does |
|---|---|---|
| GET | /api/clients/:clientId/proxies/:proxyId/requests | List proxy calls |
| GET | /api/clients/:clientId/proxies/:proxyId/requests/:requestId | Read one proxy call |
| GET | /api/clients/:clientId/mcps/:mcpId/requests | List MCP calls |
| GET | /api/clients/:clientId/mcps/:mcpId/requests/:requestId | Read one MCP call |
List proxy calls
GET /api/clients/:clientId/proxies/:proxyId/requests lists calls for that proxy. Add /:requestId to read one.
Request
curl -X GET "https://api.requestrocket.com/api/clients/:clientId/proxies/:proxyId/requests" \
-H "Authorization: u-your-token"import axios from "axios";
const response = await axios.request({
method: "GET",
url: "https://api.requestrocket.com/api/clients/:clientId/proxies/:proxyId/requests",
headers: {
"Authorization": "u-your-token",
}
});
console.log(response.status, response.data);import requests
response = requests.request(
"GET",
"https://api.requestrocket.com/api/clients/:clientId/proxies/:proxyId/requests",
headers={
"Authorization": "u-your-token",
}
)
print(response.status_code, response.json())package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
var payload io.Reader
req, _ := http.NewRequest("GET", "https://api.requestrocket.com/api/clients/:clientId/proxies/:proxyId/requests", payload)
req.Header.Set("Authorization", "u-your-token")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode, string(body))
}import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class Example {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.requestrocket.com/api/clients/:clientId/proxies/:proxyId/requests"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.header("Authorization", "u-your-token")
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}Responses
{
"message": "Success",
"totalRequests": 1,
"requests": [
{
"pKey": "5d8a1c30-4e72-4b19-8f6a-0c3d9e7b1a25",
"sKey": "f3a6c812-9d04-4e75-b1a8-2c0e5d7f9b31",
"parentId": "5d8a1c30-4e72-4b19-8f6a-0c3d9e7b1a25",
"clientId": "b3a1c7d2-5e44-4f0a-9c1e-7d2f8a6b1c90",
"processed": true,
"processedAt": 1762072200000
}
]
}{
"message": "Invalid nextToken"
}{
"Message": "User is not authorized to access this resource with an explicit deny in an identity-based policy"
}{
"message": "method / endpoint not supported"
}The MCP list is GET /api/clients/:clientId/mcps/:mcpId/requests and takes the same query. An MCP server that uses a backing proxy responds with 409. Read those calls on the proxy.
Returns
The response contains one page of calls in requests, the page length in totalRequests, and message set to Success. When another page exists, the response includes nextToken. GET /api/clients/:clientId/proxies/:proxyId/requests/:requestId returns that one call in requests.
Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
processedAfter | string | Inclusive start of processedAt. Omitted means the start of the log. | |
processedBefore | string | Inclusive end of processedAt. Omitted means the current time. | |
pageSize | number | Page size. Default 100. Maximum 1000. | |
nextToken | string | Cursor from the previous page. An invalid token returns 400 with message Invalid nextToken. | |
method | string | HTTP method, compared with proxyData.method after uppercasing. | |
pathPrefix | string | Calls whose proxyData.apiPath starts with this string. | |
proxyStatus | number | Calls whose proxy status code equals this value. | |
targetStatus | number | Calls whose target status code equals this value. | |
anyStatus | number | Calls whose proxy status or target status equals this value. |
Response attributes
| Attribute | Type | Description |
|---|---|---|
message | string | Success on a completed call. |
totalRequests | number | Number of calls in this page. |
nextToken | string | Cursor for the next page. Present when DynamoDB has a further page. |
requests | array | The calls, newest processedAt first. |
pKey | string | Parent id. The proxy id or the MCP server id. |
sKey | string | Request id. |
parentId | string | Parent id. |
clientId | string | Organisation id. |
userId | string | User id recorded on the call. |
processed | boolean | Whether the call has been ingested into the platform. |
processedAt | number | Unix time in milliseconds when the call was processed. |
proxyData | object | Proxy side of the call: status, message, method, apiPath, apiParams, apiHeaders, receivedAt, sentAt, and duration in seconds. |
targetData | object | Target side: status, sentAt, receivedAt, duration in seconds, and location for the stored target response. |
validationData | object | Booleans for authentication, scope, whether the call was sent, and whether a response was received. |
authorizationDecisions | object | Allow or deny outcome per scope that ran rules: proxy, proxyCredential, target, targetCredential. |
mcpData | object | Present on MCP calls: mcpId, mcpName, toolName, toolMethod, toolPath, status, message, and duration in seconds. |
alertsTriggered | array | Alerts this call fired. Each entry has sourceType, sourceId, cadence, and reason. |
rulesData | object | Rules that matched, under rulesMatched. |
metersData | object | Meters that matched, under metersMatched. |
filtersData | object | Filters that matched, under filtersMatched. |
overridesData | object | Overrides that matched, under overridesMatched. |
requestTransformsData | object | Request transform that matched, under transformMatched. |
responseTransformsData | object | Response transform that matched, under transformMatched. |
alertsData | object | Standalone alerts that matched, under alertsMatched. |