Skip to main content
PUT
/
subscriptions
/
lineitems
/
{id}
Update subscription line item
curl --request PUT \
  --url https://us.api.flexprice.io/v1/subscriptions/lineitems/{id} \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '
{
  "amount": "<string>",
  "commitment_amount": 123,
  "commitment_overage_factor": 123,
  "commitment_quantity": 123,
  "commitment_time_buckets": [
    {
      "commitment_value": "<string>",
      "end": {
        "hour": 12,
        "minute": 29
      },
      "id": "<string>",
      "overage_factor": "<string>",
      "start": {
        "hour": 12,
        "minute": 29
      },
      "true_up_enabled": true
    }
  ],
  "commitment_true_up_enabled": true,
  "commitment_windowed": true,
  "effective_from": "<string>",
  "metadata": {},
  "tiers": [
    {
      "unit_amount": "<string>",
      "flat_amount": "<string>",
      "up_to": 123
    }
  ],
  "transform_quantity": {
    "divide_by": 123
  }
}
'
import requests

url = "https://us.api.flexprice.io/v1/subscriptions/lineitems/{id}"

payload = {
    "amount": "<string>",
    "commitment_amount": 123,
    "commitment_overage_factor": 123,
    "commitment_quantity": 123,
    "commitment_time_buckets": [
        {
            "commitment_value": "<string>",
            "end": {
                "hour": 12,
                "minute": 29
            },
            "id": "<string>",
            "overage_factor": "<string>",
            "start": {
                "hour": 12,
                "minute": 29
            },
            "true_up_enabled": True
        }
    ],
    "commitment_true_up_enabled": True,
    "commitment_windowed": True,
    "effective_from": "<string>",
    "metadata": {},
    "tiers": [
        {
            "unit_amount": "<string>",
            "flat_amount": "<string>",
            "up_to": 123
        }
    ],
    "transform_quantity": { "divide_by": 123 }
}
headers = {
    "x-api-key": "<api-key>",
    "Content-Type": "application/json"
}

response = requests.put(url, json=payload, headers=headers)

print(response.text)
const options = {
  method: 'PUT',
  headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
  body: JSON.stringify({
    amount: '<string>',
    commitment_amount: 123,
    commitment_overage_factor: 123,
    commitment_quantity: 123,
    commitment_time_buckets: [
      {
        commitment_value: '<string>',
        end: {hour: 12, minute: 29},
        id: '<string>',
        overage_factor: '<string>',
        start: {hour: 12, minute: 29},
        true_up_enabled: true
      }
    ],
    commitment_true_up_enabled: true,
    commitment_windowed: true,
    effective_from: '<string>',
    metadata: {},
    tiers: [{unit_amount: '<string>', flat_amount: '<string>', up_to: 123}],
    transform_quantity: {divide_by: 123}
  })
};

fetch('https://us.api.flexprice.io/v1/subscriptions/lineitems/{id}', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://us.api.flexprice.io/v1/subscriptions/lineitems/{id}",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "PUT",
  CURLOPT_POSTFIELDS => json_encode([
    'amount' => '<string>',
    'commitment_amount' => 123,
    'commitment_overage_factor' => 123,
    'commitment_quantity' => 123,
    'commitment_time_buckets' => [
        [
                'commitment_value' => '<string>',
                'end' => [
                                'hour' => 12,
                                'minute' => 29
                ],
                'id' => '<string>',
                'overage_factor' => '<string>',
                'start' => [
                                'hour' => 12,
                                'minute' => 29
                ],
                'true_up_enabled' => true
        ]
    ],
    'commitment_true_up_enabled' => true,
    'commitment_windowed' => true,
    'effective_from' => '<string>',
    'metadata' => [
        
    ],
    'tiers' => [
        [
                'unit_amount' => '<string>',
                'flat_amount' => '<string>',
                'up_to' => 123
        ]
    ],
    'transform_quantity' => [
        'divide_by' => 123
    ]
  ]),
  CURLOPT_HTTPHEADER => [
    "Content-Type: application/json",
    "x-api-key: <api-key>"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://us.api.flexprice.io/v1/subscriptions/lineitems/{id}"

	payload := strings.NewReader("{\n  \"amount\": \"<string>\",\n  \"commitment_amount\": 123,\n  \"commitment_overage_factor\": 123,\n  \"commitment_quantity\": 123,\n  \"commitment_time_buckets\": [\n    {\n      \"commitment_value\": \"<string>\",\n      \"end\": {\n        \"hour\": 12,\n        \"minute\": 29\n      },\n      \"id\": \"<string>\",\n      \"overage_factor\": \"<string>\",\n      \"start\": {\n        \"hour\": 12,\n        \"minute\": 29\n      },\n      \"true_up_enabled\": true\n    }\n  ],\n  \"commitment_true_up_enabled\": true,\n  \"commitment_windowed\": true,\n  \"effective_from\": \"<string>\",\n  \"metadata\": {},\n  \"tiers\": [\n    {\n      \"unit_amount\": \"<string>\",\n      \"flat_amount\": \"<string>\",\n      \"up_to\": 123\n    }\n  ],\n  \"transform_quantity\": {\n    \"divide_by\": 123\n  }\n}")

	req, _ := http.NewRequest("PUT", url, payload)

	req.Header.Add("x-api-key", "<api-key>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.put("https://us.api.flexprice.io/v1/subscriptions/lineitems/{id}")
  .header("x-api-key", "<api-key>")
  .header("Content-Type", "application/json")
  .body("{\n  \"amount\": \"<string>\",\n  \"commitment_amount\": 123,\n  \"commitment_overage_factor\": 123,\n  \"commitment_quantity\": 123,\n  \"commitment_time_buckets\": [\n    {\n      \"commitment_value\": \"<string>\",\n      \"end\": {\n        \"hour\": 12,\n        \"minute\": 29\n      },\n      \"id\": \"<string>\",\n      \"overage_factor\": \"<string>\",\n      \"start\": {\n        \"hour\": 12,\n        \"minute\": 29\n      },\n      \"true_up_enabled\": true\n    }\n  ],\n  \"commitment_true_up_enabled\": true,\n  \"commitment_windowed\": true,\n  \"effective_from\": \"<string>\",\n  \"metadata\": {},\n  \"tiers\": [\n    {\n      \"unit_amount\": \"<string>\",\n      \"flat_amount\": \"<string>\",\n      \"up_to\": 123\n    }\n  ],\n  \"transform_quantity\": {\n    \"divide_by\": 123\n  }\n}")
  .asString();
require 'uri'
require 'net/http'

url = URI("https://us.api.flexprice.io/v1/subscriptions/lineitems/{id}")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Put.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"amount\": \"<string>\",\n  \"commitment_amount\": 123,\n  \"commitment_overage_factor\": 123,\n  \"commitment_quantity\": 123,\n  \"commitment_time_buckets\": [\n    {\n      \"commitment_value\": \"<string>\",\n      \"end\": {\n        \"hour\": 12,\n        \"minute\": 29\n      },\n      \"id\": \"<string>\",\n      \"overage_factor\": \"<string>\",\n      \"start\": {\n        \"hour\": 12,\n        \"minute\": 29\n      },\n      \"true_up_enabled\": true\n    }\n  ],\n  \"commitment_true_up_enabled\": true,\n  \"commitment_windowed\": true,\n  \"effective_from\": \"<string>\",\n  \"metadata\": {},\n  \"tiers\": [\n    {\n      \"unit_amount\": \"<string>\",\n      \"flat_amount\": \"<string>\",\n      \"up_to\": 123\n    }\n  ],\n  \"transform_quantity\": {\n    \"divide_by\": 123\n  }\n}"

response = http.request(request)
puts response.read_body
{
  "addon_association_id": "<string>",
  "billing_period_count": 123,
  "commitment_amount": "<string>",
  "commitment_overage_factor": "<string>",
  "commitment_quantity": "<string>",
  "commitment_time_buckets": [
    {
      "commitment_value": "<string>",
      "end": {
        "hour": 12,
        "minute": 29
      },
      "id": "<string>",
      "overage_factor": 123,
      "price_id": "<string>",
      "start": {
        "hour": 12,
        "minute": 29
      },
      "true_up_enabled": true
    }
  ],
  "commitment_true_up_enabled": true,
  "commitment_windowed": true,
  "created_at": "2023-11-07T05:31:56Z",
  "created_by": "<string>",
  "currency": "<string>",
  "customer_id": "<string>",
  "display_name": "<string>",
  "end_date": "2023-11-07T05:31:56Z",
  "entity_id": "<string>",
  "environment_id": "<string>",
  "id": "<string>",
  "metadata": {},
  "meter_display_name": "<string>",
  "meter_id": "<string>",
  "plan_display_name": "<string>",
  "price": {
    "addon": {
      "created_at": "2023-11-07T05:31:56Z",
      "created_by": "<string>",
      "description": "<string>",
      "entitlements": [
        {
          "addon": "<unknown>",
          "config_value": {},
          "created_at": "2023-11-07T05:31:56Z",
          "created_by": "<string>",
          "display_order": 123,
          "end_date": "2023-11-07T05:31:56Z",
          "entity_id": "<string>",
          "environment_id": "<string>",
          "feature": {
            "alert_settings": {
              "alert_enabled": true,
              "critical": {
                "threshold": 123
              },
              "info": {
                "threshold": 123
              },
              "warning": {
                "threshold": 123
              }
            },
            "created_at": "2023-11-07T05:31:56Z",
            "created_by": "<string>",
            "description": "<string>",
            "environment_id": "<string>",
            "group": {
              "created_at": "2023-11-07T05:31:56Z",
              "entity_ids": [
                "<string>"
              ],
              "entity_type": "<string>",
              "id": "<string>",
              "lookup_key": "<string>",
              "metadata": {},
              "name": "<string>",
              "status": "<string>",
              "updated_at": "2023-11-07T05:31:56Z"
            },
            "group_id": "<string>",
            "id": "<string>",
            "lookup_key": "<string>",
            "metadata": {},
            "meter": {
              "aggregation": {
                "expression": "<string>",
                "field": "<string>",
                "group_by": "<string>",
                "multiplier": "<string>"
              },
              "created_at": "2024-03-20T15:04:05Z",
              "event_name": "api_request",
              "filters": [
                {
                  "key": "<string>",
                  "values": [
                    "<string>"
                  ]
                }
              ],
              "id": "550e8400-e29b-41d4-a716-446655440000",
              "name": "API Usage Meter",
              "status": "published",
              "tenant_id": "tenant123",
              "updated_at": "2024-03-20T15:04:05Z"
            },
            "meter_id": "<string>",
            "name": "<string>",
            "reporting_unit": {
              "conversion_rate": 123,
              "unit_plural": "<string>",
              "unit_singular": "<string>"
            },
            "tenant_id": "<string>",
            "unit_plural": "<string>",
            "unit_singular": "<string>",
            "updated_at": "2023-11-07T05:31:56Z",
            "updated_by": "<string>"
          },
          "feature_id": "<string>",
          "id": "<string>",
          "is_enabled": true,
          "is_soft_limit": true,
          "parent_entitlement_id": "<string>",
          "plan": {
            "created_at": "2023-11-07T05:31:56Z",
            "created_by": "<string>",
            "credit_grants": [
              {
                "conversion_rate": "<string>",
                "created_at": "2023-11-07T05:31:56Z",
                "created_by": "<string>",
                "credit_grant_anchor": "2023-11-07T05:31:56Z",
                "credits": "<string>",
                "end_date": "2023-11-07T05:31:56Z",
                "environment_id": "<string>",
                "expiration_duration": 123,
                "id": "<string>",
                "metadata": {},
                "name": "<string>",
                "period_count": 123,
                "plan_id": "<string>",
                "priority": 123,
                "start_date": "2023-11-07T05:31:56Z",
                "subscription_id": "<string>",
                "tenant_id": "<string>",
                "topup_conversion_rate": "<string>",
                "updated_at": "2023-11-07T05:31:56Z",
                "updated_by": "<string>"
              }
            ],
            "description": "<string>",
            "display_order": 123,
            "entitlements": "<array>",
            "environment_id": "<string>",
            "id": "<string>",
            "lookup_key": "<string>",
            "metadata": {},
            "name": "<string>",
            "prices": "<array>",
            "tenant_id": "<string>",
            "updated_at": "2023-11-07T05:31:56Z",
            "updated_by": "<string>"
          },
          "plan_id": "<string>",
          "start_date": "2023-11-07T05:31:56Z",
          "static_value": "<string>",
          "tenant_id": "<string>",
          "updated_at": "2023-11-07T05:31:56Z",
          "updated_by": "<string>",
          "usage_limit": 123
        }
      ],
      "environment_id": "<string>",
      "id": "<string>",
      "lookup_key": "<string>",
      "metadata": {},
      "name": "<string>",
      "prices": "<array>",
      "tenant_id": "<string>",
      "updated_at": "2023-11-07T05:31:56Z",
      "updated_by": "<string>"
    },
    "amount": "<string>",
    "billing_cadence": "RECURRING",
    "billing_period_count": 123,
    "conversion_rate": "<string>",
    "created_at": "2023-11-07T05:31:56Z",
    "created_by": "<string>",
    "currency": "<string>",
    "description": "<string>",
    "display_amount": "<string>",
    "display_name": "<string>",
    "display_price_unit_amount": "<string>",
    "end_date": "2023-11-07T05:31:56Z",
    "entity_id": "<string>",
    "environment_id": "<string>",
    "group": {
      "created_at": "2023-11-07T05:31:56Z",
      "entity_ids": [
        "<string>"
      ],
      "entity_type": "<string>",
      "id": "<string>",
      "lookup_key": "<string>",
      "metadata": {},
      "name": "<string>",
      "status": "<string>",
      "updated_at": "2023-11-07T05:31:56Z"
    },
    "group_id": "<string>",
    "id": "<string>",
    "lookup_key": "<string>",
    "metadata": {},
    "meter": {
      "aggregation": {
        "expression": "<string>",
        "field": "<string>",
        "group_by": "<string>",
        "multiplier": "<string>"
      },
      "created_at": "2024-03-20T15:04:05Z",
      "event_name": "api_request",
      "filters": [
        {
          "key": "<string>",
          "values": [
            "<string>"
          ]
        }
      ],
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "name": "API Usage Meter",
      "status": "published",
      "tenant_id": "tenant123",
      "updated_at": "2024-03-20T15:04:05Z"
    },
    "meter_id": "<string>",
    "min_quantity": "<string>",
    "parent_price_id": "<string>",
    "plan": {
      "created_at": "2023-11-07T05:31:56Z",
      "created_by": "<string>",
      "credit_grants": [
        {
          "conversion_rate": "<string>",
          "created_at": "2023-11-07T05:31:56Z",
          "created_by": "<string>",
          "credit_grant_anchor": "2023-11-07T05:31:56Z",
          "credits": "<string>",
          "end_date": "2023-11-07T05:31:56Z",
          "environment_id": "<string>",
          "expiration_duration": 123,
          "id": "<string>",
          "metadata": {},
          "name": "<string>",
          "period_count": 123,
          "plan_id": "<string>",
          "priority": 123,
          "start_date": "2023-11-07T05:31:56Z",
          "subscription_id": "<string>",
          "tenant_id": "<string>",
          "topup_conversion_rate": "<string>",
          "updated_at": "2023-11-07T05:31:56Z",
          "updated_by": "<string>"
        }
      ],
      "description": "<string>",
      "display_order": 123,
      "entitlements": "<array>",
      "environment_id": "<string>",
      "id": "<string>",
      "lookup_key": "<string>",
      "metadata": {},
      "name": "<string>",
      "prices": "<array>",
      "tenant_id": "<string>",
      "updated_at": "2023-11-07T05:31:56Z",
      "updated_by": "<string>"
    },
    "price_unit": "<string>",
    "price_unit_amount": "<string>",
    "price_unit_id": "<string>",
    "price_unit_tiers": [
      {
        "flat_amount": "<string>",
        "unit_amount": "<string>",
        "up_to": 123
      }
    ],
    "pricing_unit": {
      "base_currency": "<string>",
      "code": "<string>",
      "conversion_rate": "<string>",
      "created_at": "2023-11-07T05:31:56Z",
      "created_by": "<string>",
      "environment_id": "<string>",
      "id": "<string>",
      "metadata": {},
      "name": "<string>",
      "symbol": "<string>",
      "tenant_id": "<string>",
      "updated_at": "2023-11-07T05:31:56Z",
      "updated_by": "<string>"
    },
    "sequence": 123,
    "start_date": "2023-11-07T05:31:56Z",
    "tenant_id": "<string>",
    "tiers": [
      {
        "flat_amount": "<string>",
        "unit_amount": "<string>",
        "up_to": 123
      }
    ],
    "transform_quantity": {
      "divide_by": 123
    },
    "trial_period_days": 123,
    "updated_at": "2023-11-07T05:31:56Z",
    "updated_by": "<string>"
  },
  "price_id": "<string>",
  "price_unit": "<string>",
  "price_unit_id": "<string>",
  "quantity": "<string>",
  "start_date": "2023-11-07T05:31:56Z",
  "subscription_id": "<string>",
  "subscription_phase_id": "<string>",
  "tenant_id": "<string>",
  "updated_at": "2023-11-07T05:31:56Z",
  "updated_by": "<string>"
}
{
  "http_status_code": 123,
  "message": "<string>"
}
{
  "http_status_code": 123,
  "message": "<string>"
}

Authorizations

x-api-key
string
header
required

Enter your API key in the format x-api-key <api-key>*

Path Parameters

id
string
required

Line Item ID

Body

application/json

Update Line Item Request

amount
string

Amount is the new price amount that overrides the original price

billing_model
enum<string>
Available options:
FLAT_FEE,
PACKAGE,
TIERED
commitment_amount
number

Commitment fields

commitment_duration
enum<string>
Available options:
MONTHLY,
ANNUAL,
WEEKLY,
DAILY,
QUARTERLY,
HALF_YEARLY,
ONETIME
commitment_overage_factor
number
commitment_quantity
number
commitment_time_buckets
object[]

Pointer so an explicit empty array can clear existing buckets (omission keeps them).

commitment_true_up_enabled
boolean
commitment_type
enum<string>
Available options:
amount,
quantity
commitment_windowed
boolean
effective_from
string

EffectiveFrom for the existing line item (if not provided, defaults to now)

metadata
object

Metadata for the new line item

tier_mode
enum<string>
Available options:
VOLUME,
SLAB
tiers
object[]

Tiers determines the pricing tiers for this line item

transform_quantity
object

Response

OK

addon_association_id
string
billing_period
enum<string>
Available options:
MONTHLY,
ANNUAL,
WEEKLY,
DAILY,
QUARTERLY,
HALF_YEARLY,
ONETIME
billing_period_count
integer

from price at create; default 1

commitment_amount
string

Commitment fields

commitment_duration
enum<string>
Available options:
MONTHLY,
ANNUAL,
WEEKLY,
DAILY,
QUARTERLY,
HALF_YEARLY,
ONETIME
commitment_overage_factor
string
commitment_quantity
string
commitment_time_buckets
object[]
commitment_true_up_enabled
boolean
commitment_type
enum<string>
Available options:
amount,
quantity
commitment_windowed
boolean
created_at
string<date-time>
created_by
string
currency
string
customer_id
string
display_name
string
end_date
string<date-time>
entity_id
string
entity_type
enum<string>
Available options:
plan,
addon,
subscription
environment_id
string
id
string
invoice_cadence
enum<string>
Available options:
ARREAR,
ADVANCE
metadata
object
meter_display_name
string
meter_id
string
plan_display_name
string
price
object
price_id
string
price_type
enum<string>
Available options:
USAGE,
FIXED
price_unit
string
price_unit_id
string
quantity
string
start_date
string<date-time>
status
enum<string>
Available options:
published,
deleted,
archived
subscription_id
string
subscription_phase_id
string
tenant_id
string
updated_at
string<date-time>
updated_by
string