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

# List Geo Presets

> Retrieve your saved geo presets, reusable country sets for geo filtering

## Request

### Headers

<Note>
  A geo preset is a named, reusable country set. Presets are created and managed in the Bouncy dashboard (inside the geo filtering modal of any link or website editor). They are read-only via the API: use a preset's `id` as a rule's `presetId` when creating or updating links, or as `geoPresetId` on bulk create rows.
</Note>

## Response

<ResponseField name="success" type="boolean">
  Whether the operation succeeded
</ResponseField>

<ResponseField name="presets" type="array">
  Array of geo preset objects

  <Expandable title="properties">
    <ResponseField name="id" type="string">
      Preset ID. Pass this as a geo rule's `presetId` when creating or updating links, or as `geoPresetId` on bulk create rows.
    </ResponseField>

    <ResponseField name="name" type="string">
      Preset name
    </ResponseField>

    <ResponseField name="countries" type="array">
      The saved country list as ISO 3166-1 alpha-2 codes (e.g., `US`, `GB`). Presets store countries only: redirect URLs are set per rule when the preset is applied.
    </ResponseField>

    <ResponseField name="createdAt" type="string">
      ISO 8601 timestamp of creation
    </ResponseField>

    <ResponseField name="updatedAt" type="string">
      ISO 8601 timestamp of last update
    </ResponseField>
  </Expandable>
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl https://api.bouncy.ai/v1/geo-presets \
    -H "Authorization: Bearer bcy_live_pk_YOUR_API_KEY"
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch('https://api.bouncy.ai/v1/geo-presets', {
    headers: {
      'Authorization': 'Bearer bcy_live_pk_YOUR_API_KEY'
    }
  });

  const { presets } = await response.json();
  console.log(`You have ${presets.length} geo presets`);
  ```

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

  response = requests.get(
      'https://api.bouncy.ai/v1/geo-presets',
      headers={'Authorization': 'Bearer bcy_live_pk_YOUR_API_KEY'}
  )

  data = response.json()
  print(f"You have {len(data['presets'])} geo presets")
  ```
</RequestExample>

<ResponseExample>
  ```json 200 Success theme={null}
  {
    "success": true,
    "presets": [
      {
        "id": "a1B2c3D4e5F6g7H8",
        "name": "UK and US",
        "countries": ["US", "GB"],
        "createdAt": "2026-01-15T10:00:00Z",
        "updatedAt": "2026-02-05T14:30:00Z"
      },
      {
        "id": "z9Y8x7W6v5U4t3S2",
        "name": "Core EU markets",
        "countries": ["DE", "FR", "ES", "IT"],
        "createdAt": "2026-01-20T09:00:00Z",
        "updatedAt": "2026-01-20T09:00:00Z"
      }
    ]
  }
  ```
</ResponseExample>
