Skip to main content

This endpoint allows you to modify the details of an existing rule. You can update properties like the rule’s name, description, status, source, and destination. This endpoint is useful for keeping your rules updated as your requirements evolve. For a live view and to test this API interactively, visit the API Playground.

Endpoint

  • Method: PUT
  • URL: https://api2.requestly.io/v1/rules/{ruleId}

Parameters

Path Parameters

  • ruleId (string, required): The unique identifier of the rule you want to update.

Body Parameters

ParameterTypeDescriptionDefault Value
namestringName of the rule.-
descriptionstringDescription of the rule.-
objectTypestringType of the object. Always set to rule.rule
ruleTypestringType of the rule. For this schema, it’s Redirect.-
statusstringStatus of the rule: Active or Inactive.Active
pairsarrayList of rule pairs defining the redirect conditions.-

cURL Request

curl --request PUT \
  --url https://api2.requestly.io/v1/rules/Redirect_wi3uJ \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --header 'x-api-key: YOUR_API_KEY' \
  --data '{
    "objectType": "rule",
    "ruleType": "Redirect",
    "status": "Inactive",
    "name": "Redirect Bing to Google",
    "pairs": [
      {
        "source": {
          "key": "Url",
          "operator": "Equals",
          "value": "https://www.bing.com/"
        },
        "destination": "https://www.google.com/",
        "destinationType": "url"
      }
    ]
  }'

Example Response

{
  "success": true,
  "data": {
    "id": "Redirect_wi3uJ",
    "creationDate": 1736960959780,
    "modificationDate": 1760142474884,
    "createdBy": "user_id",
    "lastModifiedBy": "user_id",
    "name": "Redirect Bing to Google",
    "description": "",
    "ruleType": "Redirect",
    "objectType": "rule",
    "pairs": [
      {
        "source": {
          "key": "Url",
          "operator": "Equals",
          "value": "https://www.bing.com/"
        },
        "destination": "https://www.google.com/",
        "destinationType": "url",
        "id": "2d9dv"
      }
    ],
    "status": "Inactive"
  }
}

Request Structure

Body Parameters

NameTypeRequiredDefaultDescription
namestringYesName of the rule.
descriptionstringNoDescription of the rule.
objectTypestringYesruleType of the object. For this endpoint, it is always rule.
ruleTypestringYesType of the rule. Possible values are: Redirect, Cancel, Replace, Headers, UserAgent, QueryParam, Request, Response, Delay.
statusstringNoActiveStatus of the rule, either Active or Inactive.
pairsarray of objectsYesList of rule pairs specific to the rule type. See details below.
groupIdstringNoThe ID of the group the rule belongs to. If omitted, the rule is ungrouped.

Rule Type Details

Each rule type has a unique structure for its pairs of objects. The schemas for each rule type are detailed below:

Common Source Schema

The source object is consistent across all rule types. It has the following structure:
PropertyTypeRequiredDescription
keystringYesThe key for the source (e.g., url, host, path).
operatorstringYesThe operator for matching (Equals, Contains, Matches, Wildcard_Matches).
valuestringYesThe value to match against.
filtersarrayNoOptional filters for more accurate targeting.

Redirect Rule

  • ruleType: Redirect
  • pairs schema:
PropertyTypeRequiredDescription
sourceobjectYesThe source object for matching (see common source schema).
destinationTypestringYesType of the destination (ubelowrl, map_local, or mock_or_file_picker).
destinationstringYesThe destination URL value.

Cancel Rule

  • ruleType: Cancel
  • pairs schema:
PropertyTypeRequiredDescription
sourceobjectYesThe source object for matching.

Replace Rule

  • ruleType: Replace
  • pairs schema:
PropertyTypeRequiredDescription
sourceobjectYesThe source object for matching.
fromstringYesThe target string to replace.
tostringYesThe replacement value.

Headers Rule

  • ruleType: Headers
  • pairs schema:
PropertyTypeRequiredDescription
sourceobjectYesThe source object for matching.
modificationsarrayYesList of header modifications (see below).
Header Modification Object:
PropertyTypeRequiredDescription
headerstringYesThe name of the header to modify.
typestringYesModification type (Add, Remove, or Modify).
valuestringNoThe value to set for the header (required for Add and Modify).

User-Agent Rule

  • ruleType: UserAgent
  • pairs schema:
PropertyTypeRequiredDescription
sourceobjectYesThe source object for matching.
userAgentstringYesThe User-Agent string to set.

Query Param Rule

  • ruleType: QueryParam
  • pairs schema:
PropertyTypeRequiredDescription
sourceobjectYesThe source object for matching.
modificationsarrayYesArray of query parameter modifications (see below).
Query Param Modification Object:
PropertyTypeRequiredDescription
paramstringYesThe name of the query parameter to modify.
typestringYesModification type (Add, Remove, or Remove All).
valuestringNoThe value to set (required for Add and Modify).

Modify Request Rule

  • ruleType: Request
  • pairs schema:
PropertyTypeRequiredDescription
typestringYesType of request modification (code or static).
valuestringYesThe request value or code.

Modify Response Rule

  • ruleType: Response
  • pairs schema:
PropertyTypeRequiredDescription
typestringYesType of response modification (code or static).
valuestringYesThe response value or status code.
serveWithoutRequestbooleanNoWhether to serve the response directly from Requestly.

Delay Rule

  • ruleType: Delay
  • pairs schema:
PropertyTypeRequiredDescription
sourceobjectYesThe source object for matching.
delaynumberYesDelay value in milliseconds.

Error Responses

Status CodeDescription
400Rule pairs or payload are invalid.
401Unauthorized action.
404Rule or group not found.
405Rule type update not allowed.
I