# Retrieve a charge filter

## cURL

```bash
curl --request GET \
  --url 'https://api.getlago.com/api/v1/subscriptions/{external_id}/charges/{charge_code}/filters/{filter_id}?subscription_status=active' \
  --header 'Authorization: Bearer <token>'
```

### Response Status Codes

- **200**  
- **401**  
- **404**

```json
{
  "filter": {
    "lago_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
    "charge_code": "api_requests_charge",
    "invoice_display_name": "AWS",
    "properties": {
      "grouped_by": [
        "agent_name"
      ],
      "pricing_group_keys": [
        "agent_name"
      ],
      "graduated_ranges": [
        {
          "from_value": 0,
          "to_value": 10,
          "flat_amount": "10",
          "per_unit_amount": "0.5"
        }
      ],
      "graduated_percentage_ranges": [
        {
          "from_value": 0,
          "to_value": 10,
          "rate": "1",
          "flat_amount": "10"
        }
      ],
      "amount": "30",
      "free_units": 100,
      "package_size": 1000,
      "rate": "1",
      "fixed_amount": "0.5",
      "free_units_per_events": 5,
      "free_units_per_total_aggregation": "500",
      "per_transaction_max_amount": "3.75",
      "per_transaction_min_amount": "1.75",
      "volume_ranges": [
        {
          "from_value": 0,
          "to_value": 10,
          "flat_amount": "10",
          "per_unit_amount": "0.5"
        }
      ]
    },
    "values": {
      "region": [
        "us-east-1"
      ]
    }
  }
}
```

## Authorization

- **Authorization**: string, required
  - Bearer authentication header of the form `Bearer <token>`, where `<token>` is your auth token.

## Path Parameters

- **external_id**: string, required 
  - External ID of the existing subscription. 
  - Example: `"sub_1234567890"`

- **charge_code**: string, required  
  - Code of the existing charge.  
  - Example: `"api_requests_charge"`

- **filter_id**: string<uuid>, required  
  - Unique identifier of the charge filter.  
  - Example: `"1a901a90-1a90-1a90-1a90-1a901a901a90"`

## Query Parameters

- **subscription_status**: enum<string>  
  - default: active
  - Filter by subscription status. When provided, the subscription is looked up with this status instead of the default `active` status. Possible values are `pending`, `active`, `terminated`, or `canceled`.  
  - Available options: `pending`, `active`, `terminated`, `canceled`  
  - Example: `"active"`

## Response

### 200 application/json

- **filter**: object, required  
  - Charge filter values used to apply differentiated pricing based on additional event properties.
