Skip to main content
POST
/
subscriptions
/
{external_id}
/
charges
/
{charge_code}
/
filters
Create a charge filter
curl --request POST \
  --url https://api.getlago.com/api/v1/subscriptions/{external_id}/charges/{charge_code}/filters \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "filter": {
    "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"
      ]
    },
    "cascade_updates": true,
    "invoice_display_name": "AWS"
  }
}
'
{
  "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"
      ]
    }
  }
}

Authorizations

Authorization
string
header
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"

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"

Body

application/json

Charge filter payload

filter
object
required

Response

Charge filter created

filter
object
required

Charge filter values used to apply differentiated pricing based on additional event properties.