Skip to main content
POST
/
subscriptions
/
{id}
/
lineitems
Create subscription line item
curl --request POST \
  --url https://us.api.flexprice.io/v1/subscriptions/{id}/lineitems \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '
{
  "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,
  "display_name": "<string>",
  "end_date": "2023-11-07T05:31:56Z",
  "metadata": {},
  "price_id": "<string>",
  "quantity": 123,
  "start_date": "2023-11-07T05:31:56Z",
  "subscription_phase_id": "<string>"
}
'
import requests

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

payload = {
"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,
"display_name": "<string>",
"end_date": "2023-11-07T05:31:56Z",
"metadata": {},
"price_id": "<string>",
"quantity": 123,
"start_date": "2023-11-07T05:31:56Z",
"subscription_phase_id": "<string>"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}

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

print(response.text)
const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
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,
display_name: '<string>',
end_date: '2023-11-07T05:31:56Z',
metadata: {},
price_id: '<string>',
quantity: 123,
start_date: '2023-11-07T05:31:56Z',
subscription_phase_id: '<string>'
})
};

fetch('https://us.api.flexprice.io/v1/subscriptions/{id}/lineitems', 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/{id}/lineitems",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'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,
'display_name' => '<string>',
'end_date' => '2023-11-07T05:31:56Z',
'metadata' => [

],
'price_id' => '<string>',
'quantity' => 123,
'start_date' => '2023-11-07T05:31:56Z',
'subscription_phase_id' => '<string>'
]),
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/{id}/lineitems"

payload := strings.NewReader("{\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 \"display_name\": \"<string>\",\n \"end_date\": \"2023-11-07T05:31:56Z\",\n \"metadata\": {},\n \"price_id\": \"<string>\",\n \"quantity\": 123,\n \"start_date\": \"2023-11-07T05:31:56Z\",\n \"subscription_phase_id\": \"<string>\"\n}")

req, _ := http.NewRequest("POST", 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.post("https://us.api.flexprice.io/v1/subscriptions/{id}/lineitems")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\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 \"display_name\": \"<string>\",\n \"end_date\": \"2023-11-07T05:31:56Z\",\n \"metadata\": {},\n \"price_id\": \"<string>\",\n \"quantity\": 123,\n \"start_date\": \"2023-11-07T05:31:56Z\",\n \"subscription_phase_id\": \"<string>\"\n}")
.asString();
require 'uri'
require 'net/http'

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

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

request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\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 \"display_name\": \"<string>\",\n \"end_date\": \"2023-11-07T05:31:56Z\",\n \"metadata\": {},\n \"price_id\": \"<string>\",\n \"quantity\": 123,\n \"start_date\": \"2023-11-07T05:31:56Z\",\n \"subscription_phase_id\": \"<string>\"\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>"
}
{
"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

Subscription ID

Body

application/json

Create Line Item Request

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[]
commitment_true_up_enabled
boolean
commitment_type
enum<string>
Available options:
amount,
quantity
commitment_windowed
boolean
display_name
string
end_date
string<date-time>
metadata
object
price
object
price_id
string

PriceID references an existing price (plan, addon, or subscription-scoped). Exactly one of price_id or price must be set.

proration_behavior
enum<string>
Available options:
create_prorations,
none
quantity
number
start_date
string<date-time>
subscription_phase_id
string

Response

Created

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