API reference
Ingestion
Attach request/response detail to a validation so it shows up in analytics and log search.
POST
/ingestBearerIngest request log
After /key/validate returns a requestId, POST the request and response metadata here. ReqKey correlates it by requestId and ships it to analytics via Vector. Bodies are truncated to 1000 characters.
Body
requestIdstringrequiredRequest ID returned by /key/validate.
methodstringHTTP method (GET, POST, …).
endpointstringAPI endpoint path.
pathstringFull request path including query string.
statusCodenumberResponse HTTP status code.
latencyMsnumberRequest latency in milliseconds.
clientIpstringClient IP address (alias: ip).
userAgentstringUser agent string.
userIdstringEnd-user identifier.
queryParamsobjectQuery parameters.
requestHeadersobjectRequest headers.
requestBodystringRequest body (first 1000 chars).
responseHeadersobjectResponse headers.
responseBodystringResponse body (first 1000 chars).
timestampstringISO timestamp (auto-generated if omitted).
Request
curl -X POST "https://api.reqkey.com/ingest" \
-H "Authorization: Bearer reqkey_xxx..." \
-H "Content-Type: application/json" \
-d '{
"requestId": "abc123xyz",
"method": "POST",
"endpoint": "/api/v1/payments",
"path": "/api/v1/payments?merchant=acme",
"statusCode": 200,
"latencyMs": 45,
"clientIp": "192.168.1.100",
"userAgent": "curl/7.64.1",
"requestBody": "{\"amount\": 100}",
"responseBody": "{\"status\": \"success\"}"
}'Response
{
"success": true,
"requestId": "abc123xyz",
"timestamp": "2026-01-30T12:34:56Z"
}- requestId links the log to the validation. Bodies over 1000 chars are truncated.
Errors
400Missing requestId or body parse error
401Missing or invalid authentication