RequestRocketRequestRocketDocs
ControlOverrides

Overrides API

Inject headers, query parameters, or body fields.

Overrides live on proxies and MCP servers. Path, header, query, body, and token matches are on Predicates. An override attaches to a proxy or a direct MCP server. A proxy-backed MCP server returns 409. Create the override on the backing proxy.

Applicable overrides are merged from lowest to highest priority. An override value replaces a caller header, query parameter, or JSON body field with the same key. When multiple overrides set one key, the highest-priority value wins. Keep secrets in target credentials, not override maps.

Endpoints

MethodPathWhat it does
GET/api/clients/:clientId/proxies/:proxyId/overridesList proxy overrides
POST/api/clients/:clientId/proxies/:proxyId/overridesCreate a proxy override
PUT/api/clients/:clientId/proxies/:proxyId/overrides/:overrideIdUpdate a proxy override
DELETE/api/clients/:clientId/proxies/:proxyId/overrides/:overrideIdDelete a proxy override
GET/api/clients/:clientId/mcps/:mcpId/overridesList MCP overrides
POST/api/clients/:clientId/mcps/:mcpId/overridesCreate an MCP override

List overrides

GET /api/clients/:clientId/proxies/:proxyId/overrides returns the overrides on that proxy. The MCP path returns the same shape. Add /:overrideId to return one override.

Query parameters

None.

Response attributes

AttributeTypeDescription
overridesarrayOne or more override objects.
overrides[].sKeystringOverride id. Pass this as overrideId on other endpoints.
overrides[].pKey / parentIdstringProxy or direct MCP server id.
overrides[].userIdstringCreator user id.
overrides[].clientIdstringOrganisation id.
overrides[].overrideHeadersobject or nullHeader names and values merged into the upstream request.
overrides[].overrideQueryParamsobject or nullQuery names and values merged into the upstream request.
overrides[].overrideDataobject or nullJSON body fields merged into the upstream body.
overrides[].overrideModestring"all" or "conditional".
overrides[].effectstring or null"include" or "exclude" when conditional.
overrides[].overrideActivebooleanWhether the override runs.
overrides[].prioritynumberHigher numbers are evaluated first.
overrides[].methodsarray or nullHTTP methods the override applies to, or null for all.
overrides[].pathobject or nullPath predicate.
overrides[].queryarray or nullQuery-parameter predicates.
overrides[].headersarray or nullHeader predicates.
overrides[].bodyarray or nullJSON body predicates.
overrides[].tokenarray or nullJWT claim predicates.
overrides[].variablesarray or nullVariable bindings.
overrides[].notesstring or nullFree-text note.
overrides[].alertsobject or nullDigest policy.
overrides[].overrideRegionstringRegion copied from the parent.
overrides[].createdAtstringISO 8601 creation time.
overrides[].updatedAtstringISO 8601 last update time.
messagestring"Success".

Create a proxy override

POST /api/clients/:clientId/proxies/:proxyId/overrides adds maps that are merged into the upstream request. Body overrides apply to JSON bodies.

Request

curl -X POST "https://api.requestrocket.com/api/clients/:clientId/proxies/:proxyId/overrides" \
  -H "Authorization: u-your-token" \
  -H "Content-Type: application/json" \
  -d '{
  "overrideMode": "all",
  "overrideActive": true,
  "overrideHeaders": {
    "X-Source": "requestrocket"
  }
}'
import axios from "axios";

const response = await axios.request({
  method: "POST",
  url: "https://api.requestrocket.com/api/clients/:clientId/proxies/:proxyId/overrides",
  headers: {
    "Authorization": "u-your-token",
    "Content-Type": "application/json",
  },
  data: {
  "overrideMode": "all",
  "overrideActive": true,
  "overrideHeaders": {
    "X-Source": "requestrocket"
  }
}
});

console.log(response.status, response.data);
import requests

response = requests.request(
    "POST",
    "https://api.requestrocket.com/api/clients/:clientId/proxies/:proxyId/overrides",
    headers={
        "Authorization": "u-your-token",
        "Content-Type": "application/json",
    },
    data="{\n  \"overrideMode\": \"all\",\n  \"overrideActive\": true,\n  \"overrideHeaders\": {\n    \"X-Source\": \"requestrocket\"\n  }\n}"
)
print(response.status_code, response.json())
package main

import (
    "fmt"
    "io"
    "net/http"
    "strings"
)

func main() {
    payload := strings.NewReader(`{
  "overrideMode": "all",
  "overrideActive": true,
  "overrideHeaders": {
    "X-Source": "requestrocket"
  }
}`)
    req, _ := http.NewRequest("POST", "https://api.requestrocket.com/api/clients/:clientId/proxies/:proxyId/overrides", payload)
    req.Header.Set("Authorization", "u-your-token")
    req.Header.Set("Content-Type", "application/json")
    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/overrides"))
            .method("POST", HttpRequest.BodyPublishers.ofString("{\n  \"overrideMode\": \"all\",\n  \"overrideActive\": true,\n  \"overrideHeaders\": {\n    \"X-Source\": \"requestrocket\"\n  }\n}"))
            .header("Authorization", "u-your-token")
            .header("Content-Type", "application/json")
            .build();
        HttpResponse<String> response = HttpClient.newHttpClient()
            .send(request, HttpResponse.BodyHandlers.ofString());
        System.out.println(response.statusCode());
        System.out.println(response.body());
    }
}

Responses

{
  "overrides": [
    {
      "pKey": "5d8a1c30-4e72-4b19-8f6a-0c3d9e7b1a25",
      "sKey": "6a2d8f04-7c19-4e53-b0a8-3f5c1d9e7b42",
      "userId": "0f8e6c1a-2b7d-4c3e-9a55-1d2e3f4a5b6c",
      "clientId": "b3a1c7d2-5e44-4f0a-9c1e-7d2f8a6b1c90",
      "parentId": "5d8a1c30-4e72-4b19-8f6a-0c3d9e7b1a25",
      "overrideRegion": "us-east-2",
      "overrideHeaders": {
        "X-Source": "requestrocket"
      },
      "overrideQueryParams": null,
      "overrideData": null,
      "overrideMode": "all",
      "effect": null,
      "overrideActive": true,
      "methods": null,
      "path": null,
      "query": null,
      "headers": null,
      "body": null,
      "token": null,
      "variables": null,
      "priority": 0,
      "notes": null,
      "alerts": null,
      "createdAt": "2026-11-02T07:30:00.000Z",
      "updatedAt": "2026-11-02T07:30:00.000Z"
    }
  ],
  "message": "Success"
}
{
  "message": "Input failed data validation",
  "errors": [
    "/overrideMode: must have required property 'overrideMode'"
  ]
}
{
  "message": "Unauthorized"
}
{
  "Message": "User is not authorized to access this resource with an explicit deny in an identity-based policy"
}
{
  "message": "method / endpoint not supported"
}

Returns an overrides array containing the created override, with message set to "Success".

Request body

ParameterTypeRequiredDescription
overrideModestring✓"all" merges the maps on every call. "conditional" uses the predicate.
overrideActiveboolean✓When true, the override runs.
overrideHeadersobject—Map of header name to string value, merged into the upstream request.
overrideQueryParamsobject—Map of query-parameter name to string value, merged into the upstream request.
overrideDataobject—Map of JSON field name to string value, merged into the upstream JSON body.
effectstring—"include" applies the maps when the predicate matches. "exclude" applies them unless the predicate matches. Used when overrideMode is "conditional".
methodsstring[]—HTTP methods: "GET", "POST", "PUT", "PATCH", "DELETE", "HEAD", or "OPTIONS". Omit to match every method.
pathobject—Path check. Same shape as Predicates.
queryobject[]—Query-parameter checks. Same shape as Predicates.
headersobject[]—Header checks. Same shape as Predicates.
bodyobject[]—JSON body checks. Same shape as Predicates.
tokenobject[]—JWT claim checks. Same shape as Predicates.
variablesobject[]—{ name, source, key } bindings. source is "headers", "params", "body", "static", or "jwtClaim". See Predicates.
prioritynumber—Evaluation order. A higher number is evaluated first. Defaults to 0.
notesstring—Free-text note stored on the override.
alertsobject—Digest policy. Shape: { enabled, cadence?, alertNote? }. enabled is required inside the object. cadence is "minute", "hour", "day", or "month", and is required when enabled is true. alertNote is at most 500 characters.

The server sets pKey, sKey, userId, clientId, parentId, overrideRegion, createdAt, and updatedAt.

Returns an overrides array. The attributes match List overrides.

Update an override

PUT /api/clients/:clientId/proxies/:proxyId/overrides/:overrideId updates one override. The MCP path takes the same body.

All fields are optional. Omit a field to leave it unchanged; send null to clear it.

Request body

ParameterTypeRequiredDescription
overrideModestring—"all" or "conditional".
overrideActiveboolean—Whether the override runs.
overrideHeadersobject—Map of header name to string value. Replaces the saved header map.
overrideQueryParamsobject—Map of query-parameter name to string value. Replaces the saved query map.
overrideDataobject—Map of JSON field name to string value. Replaces the saved body map.
effectstring—"include" or "exclude".
methodsstring[]—HTTP methods: "GET", "POST", "PUT", "PATCH", "DELETE", "HEAD", or "OPTIONS".
pathobject—Path check. Same shape as Predicates.
queryobject[]—Query-parameter checks. Same shape as Predicates.
headersobject[]—Header checks. Same shape as Predicates.
bodyobject[]—JSON body checks. Same shape as Predicates.
tokenobject[]—JWT claim checks. Same shape as Predicates.
variablesobject[]—{ name, source, key } bindings. See Predicates.
prioritynumber—Evaluation order. A higher number is evaluated first.
notesstring—Free-text note.
alertsobject—{ enabled, cadence?, alertNote? }. When the saved policy has enabled: true, cadence is required.

Returns an overrides array with the updated override. The attributes match List overrides. updatedAt is the time of this call.

Delete an override

DELETE /api/clients/:clientId/proxies/:proxyId/overrides/:overrideId removes the override. The response message is "Override deleted successfully".

Next

On this page