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

# The Policy object

<div className="xl:hidden">
  <CodeGroup>
    ```json The Policy object theme={null}
    {
        "id": "pol_BAmcmCVnWzqSlC5BFWKtpgHsOAo22N9N",
        "object": "policy",
        "created": "2026-04-01T00:39:10.282Z",
        "description": null,
        "metadata": {},
        "mode": "enforcement",
        "name": "Example Policy",
        "rules": {
            "allowed_operators": ["example_operator"],
            "denied_operators": [],
            "geofences": [
                {
                    "center": {
                        "latitude": 48.8698,
                        "longitude": 2.3319
                    },
                    "name": "Example Zone",
                    "radius_meters": 1500
                }
            ],
            "max_price_per_kwh": 25,
            "time_windows": [
                {
                    "days_of_week": ["monday", "tuesday", "wednesday", "thursday", "friday"],
                    "end_time": "18:00",
                    "start_time": "09:00"
                }
            ]
        },
        "status": "active"
    }
    ```
  </CodeGroup>
</div>

<div className="hidden xl:block">
  <ResponseExample>
    ```json The Policy object theme={null}
    {
        "id": "pol_BAmcmCVnWzqSlC5BFWKtpgHsOAo22N9N",
        "object": "policy",
        "created": "2026-04-01T00:39:10.282Z",
        "description": null,
        "metadata": {},
        "mode": "enforcement",
        "name": "Example Policy",
        "rules": {
            "allowed_operators": ["example_operator"],
            "denied_operators": [],
            "geofences": [
                {
                    "center": {
                        "latitude": 48.8698,
                        "longitude": 2.3319
                    },
                    "name": "Example Zone",
                    "radius_meters": 1500
                }
            ],
            "max_price_per_kwh": 25,
            "time_windows": [
                {
                    "days_of_week": ["monday", "tuesday", "wednesday", "thursday", "friday"],
                    "end_time": "18:00",
                    "start_time": "09:00"
                }
            ]
        },
        "status": "active"
    }
    ```
  </ResponseExample>
</div>

This object represents a policy in Charge. Use it to define rules that restrict charging behavior or generate charging suggestions.

## Attributes

<ResponseField name="id" type="string" required>
  Unique identifier for the object.
</ResponseField>

<ResponseField name="mode" type="string" required>
  The operational mode of the policy.

  Available options: `enforcement`, `suggestion`
</ResponseField>

<ResponseField name="name" type="string" required>
  A human-readable name for the policy.
</ResponseField>

<ResponseField name="rules" type="object" required>
  Rules that define how the policy behaves.

  <Expandable title="properties">
    <ResponseField name="allowed_operators" type="array of string">
      A list of charging station operator IDs that are permitted.
    </ResponseField>

    <ResponseField name="denied_operators" type="array of string">
      A list of charging station operator IDs that are explicitly forbidden.
    </ResponseField>

    <ResponseField name="geofences" type="array of object">
      A list of geographic areas where charging is permitted.

      <Expandable title="properties">
        <ResponseField name="center" type="object">
          No description available.

          <Expandable title="properties">
            <ResponseField name="latitude" type="number">
              No description available.
            </ResponseField>

            <ResponseField name="longitude" type="number">
              No description available.
            </ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="name" type="string">
          A name for the geofenced area.
        </ResponseField>

        <ResponseField name="radius_meters" type="integer">
          The radius from the center point in meters.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="max_price_per_kwh" type="integer | null">
      The maximum allowable price per kilowatt-hour in the account's default currency, in the smallest currency unit.
    </ResponseField>

    <ResponseField name="time_windows" type="array of object">
      Defines when charging is permitted.

      <Expandable title="properties">
        <ResponseField name="days_of_week" type="array of string">
          Days of the week this window applies to.

          Available options: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`
        </ResponseField>

        <ResponseField name="end_time" type="string">
          The end of the time window in 24-hour format.
        </ResponseField>

        <ResponseField name="start_time" type="string">
          The start of the time window in 24-hour format.
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="status" type="string" required>
  Current status of the policy.

  Available options: `active`, `inactive`
</ResponseField>

## More attributes

<ResponseField name="object" type="string" required>
  String representing the object's type.
</ResponseField>

<ResponseField name="created" type="string" required>
  Time at which the policy was created. RFC 3339 UTC timestamp with millisecond precision, e.g. `2026-03-03T14:05:23.789Z`.
</ResponseField>

<ResponseField name="description" type="string | null">
  An optional description of the policy's purpose.
</ResponseField>

<ResponseField name="metadata" type="object">
  Set of key-value pairs that you can attach to an object.
</ResponseField>
