Skip to main content
PUT
/
subscriptions
/
{external_id}
LAGO_URL="https://api.getlago.com"
API_KEY="__YOUR_API_KEY__"

curl --location --request PUT "$LAGO_URL/api/v1/subscriptions/:id" \
  --header "Authorization: Bearer $API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "subscription": {
    "name": "Repository B",
    "ending_at": "2022-10-08T00:00:00Z",
    "subscription_at": "2022-08-08T00:00:00Z",
    "plan_overrides": {
      "amount_cents": 10000,
      "amount_currency": "USD",
      "description": "Plan for early stage startups.",
      "invoice_display_name": "Startup plan",
      "name": "Startup",
      "tax_codes": [
        "french_standard_vat"
      ],
      "trial_period": 5,
      "charges": [
        {
          "id": "cha_12345",
          "billable_metric_id": "bm_12345",
          "invoice_display_name": "Setup",
          "min_amount_cents": 0,
          "tax_codes": [
            "standard_vat"
          ],
          "properties": {
            "graduated_ranges": [
              {
                "from_value": 0,
                "to_value": 10,
                "flat_amount": "10",
                "per_unit_amount": "0.5"
              }
            ]
          }
        },
        {
          "id": "cha_67890",
          "billable_metric_id": "bm_67890",
          "invoice_display_name": "FX Transfer",
          "min_amount_cents": 0,
          "properties": {
            "graduated_percentage_ranges": [
              {
                "from_value": 0,
                "to_value": 10,
                "rate": "1",
                "flat_amount": "10"
              }
            ]
          }
        },
        {
          "id": "cha_111213",
          "billable_metric_id": "bm_111213",
          "invoice_display_name": "API calls",
          "min_amount_cents": 0,
          "properties": {
            "amount": "30",
            "free_units": 100,
            "package_size": 1000
          }
        },
        {
          "id": "cha_141516",
          "billable_metric_id": "bm_141516",
          "invoice_display_name": "Interchange",
          "min_amount_cents": 0,
          "properties": {
            "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"
          }
        },
        {
          "id": "cha_171819",
          "billable_metric_id": "bm_171819",
          "invoice_display_name": "Seats",
          "min_amount_cents": 0,
          "properties": {
            "volume_ranges": [
              {
                "from_value": 0,
                "to_value": 10,
                "flat_amount": "10",
                "per_unit_amount": "0.5"
              }
            ]
          }
        },
        {
          "id": "cha_202122",
          "billable_metric_id": "bm_202122",
          "invoice_display_name": "Interchange",
          "min_amount_cents": 0,
          "filters": [
            {
              "values": {
                "cloud": ["aws"],
                "region": ["us-east-1"]
              },
              "properties": {
                "graduated_ranges": [
                  {
                    "from_value": 0,
                    "to_value": 10,
                    "flat_amount": "10",
                    "per_unit_amount": "0.5"
                  }
                ]
              }
            }
          ]
        }
      ]
    }
  }
}'
{
  "subscription": {
    "lago_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
    "external_id": "5eb02857-a71e-4ea2-bcf9-57d3a41bc6ba",
    "lago_customer_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
    "external_customer_id": "5eb02857-a71e-4ea2-bcf9-57d3a41bc6ba",
    "billing_time": "anniversary",
    "name": "Repository A",
    "plan_code": "premium",
    "status": "active",
    "created_at": "2022-08-08T00:00:00Z",
    "canceled_at": "2022-09-14T16:35:31Z",
    "started_at": "2022-08-08T00:00:00Z",
    "ending_at": "2022-10-08T00:00:00Z",
    "subscription_at": "2022-08-08T00:00:00Z",
    "terminated_at": "2022-09-14T16:35:31Z",
    "previous_plan_code": null,
    "next_plan_code": null,
    "downgrade_plan_date": "2022-04-30",
    "trial_ended_at": "2022-08-08T00:00:00Z",
    "current_billing_period_started_at": "2022-08-08T00:00:00Z",
    "current_billing_period_ending_at": "2022-09-08T00:00:00Z",
    "on_termination_credit_note": "credit",
    "on_termination_invoice": "generate",
    "plan_amount_cents": 10000,
    "plan_amount_currency": "USD",
    "applied_invoice_custom_sections": [
      {
        "lago_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
        "invoice_custom_section_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
        "created_at": "2023-07-06T14:35:58Z"
      }
    ],
    "payment_method": {
      "payment_method_type": "provider",
      "payment_method_id": "1a901a90-1a90-1a90-1a90-1a901a901a90"
    }
  }
}
LAGO_URL="https://api.getlago.com"
API_KEY="__YOUR_API_KEY__"

curl --location --request PUT "$LAGO_URL/api/v1/subscriptions/:id" \
  --header "Authorization: Bearer $API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "subscription": {
    "name": "Repository B",
    "ending_at": "2022-10-08T00:00:00Z",
    "subscription_at": "2022-08-08T00:00:00Z",
    "plan_overrides": {
      "amount_cents": 10000,
      "amount_currency": "USD",
      "description": "Plan for early stage startups.",
      "invoice_display_name": "Startup plan",
      "name": "Startup",
      "tax_codes": [
        "french_standard_vat"
      ],
      "trial_period": 5,
      "charges": [
        {
          "id": "cha_12345",
          "billable_metric_id": "bm_12345",
          "invoice_display_name": "Setup",
          "min_amount_cents": 0,
          "tax_codes": [
            "standard_vat"
          ],
          "properties": {
            "graduated_ranges": [
              {
                "from_value": 0,
                "to_value": 10,
                "flat_amount": "10",
                "per_unit_amount": "0.5"
              }
            ]
          }
        },
        {
          "id": "cha_67890",
          "billable_metric_id": "bm_67890",
          "invoice_display_name": "FX Transfer",
          "min_amount_cents": 0,
          "properties": {
            "graduated_percentage_ranges": [
              {
                "from_value": 0,
                "to_value": 10,
                "rate": "1",
                "flat_amount": "10"
              }
            ]
          }
        },
        {
          "id": "cha_111213",
          "billable_metric_id": "bm_111213",
          "invoice_display_name": "API calls",
          "min_amount_cents": 0,
          "properties": {
            "amount": "30",
            "free_units": 100,
            "package_size": 1000
          }
        },
        {
          "id": "cha_141516",
          "billable_metric_id": "bm_141516",
          "invoice_display_name": "Interchange",
          "min_amount_cents": 0,
          "properties": {
            "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"
          }
        },
        {
          "id": "cha_171819",
          "billable_metric_id": "bm_171819",
          "invoice_display_name": "Seats",
          "min_amount_cents": 0,
          "properties": {
            "volume_ranges": [
              {
                "from_value": 0,
                "to_value": 10,
                "flat_amount": "10",
                "per_unit_amount": "0.5"
              }
            ]
          }
        },
        {
          "id": "cha_202122",
          "billable_metric_id": "bm_202122",
          "invoice_display_name": "Interchange",
          "min_amount_cents": 0,
          "filters": [
            {
              "values": {
                "cloud": ["aws"],
                "region": ["us-east-1"]
              },
              "properties": {
                "graduated_ranges": [
                  {
                    "from_value": 0,
                    "to_value": 10,
                    "flat_amount": "10",
                    "per_unit_amount": "0.5"
                  }
                ]
              }
            }
          ]
        }
      ]
    }
  }
}'

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:

"5eb02857-a71e-4ea2-bcf9-57d3a41bc6ba"

Query Parameters

status
enum<string>
default:active

By default, this endpoint only return active subscriptions. If you want to update a subscription with a different status, you can specify it here.

Available options:
active,
pending
Example:

"active"

Body

application/json

Update an existing subscription

subscription
object
required
status
enum<string>

If the field is not defined and multiple active and pending subscriptions exists, Lago will update the active subscription. However, if you wish to update a pending subscription, please ensure that you include the status attribute with the pending value in your request body.

Available options:
active,
pending
Example:

"active"

Response

Subscription updated

subscription
object
required