> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hyperlane.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Add IGP Rule

Add a new Interchain Gas Payment (IGP) rule.

<Note>
  This endpoint is only available when gas enforcers are configured.
</Note>

<Expandable title="Request Body">
  <ParamField body="policy" type="GasPaymentEnforcementPolicy">
    Gas payment enforcement policy
  </ParamField>

  <ParamField body="matching_list" type="ListElement[]">
    Matching list
  </ParamField>
</Expandable>

<RequestExample>
  ```bash curl theme={null}
  curl -X POST "http://localhost:9090/igp_rules" \
    -H "Content-Type: application/json" \
    -d \
  '{
    "policy": "None",
    "matching_list": [
      {
          "messageid": "0x03ae9509ddf792965c98729b43f0988d689ae17c79619e87e6c670f61eb1d4bc"
      }
    ]
  }'
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch('http://localhost:9090/igp_rules', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      policy: "None",
      matching_list: [
        {
            messageid: "0x03ae9509ddf792965c98729b43f0988d689ae17c79619e87e6c670f61eb1d4bc"
        }
      ]
    })
  });
  ```

  ```python Python theme={null}
  import requests

  response = requests.post('http://localhost:9090/igp_rules', json={
    "policy": "None",
    "matching_list": [
      {
          "messageid": "0x03ae9509ddf792965c98729b43f0988d689ae17c79619e87e6c670f61eb1d4bc"
      }
    ]
  })
  ```
</RequestExample>

<ResponseExample>
  ```json Response theme={null}
  {
    "count": 4,
    "skipped": []
  }
  ```
</ResponseExample>
