Create a LicenseFee v2

Create a LicenseFee object.

Learn more about calling API v2 endpoints.

Parameters

  • currencystringRequired

    The currency of this LicenseFee.

  • display_namestringRequired

    A customer-facing name for the LicenseFee. This name is used in Stripe-hosted products like the Customer Portal and Checkout. It does not show up on Invoices. Maximum length of 250 characters.

  • licensed_itemstringRequired

    The LicensedItem that this rate binds to.

  • service_intervalenumRequired

    The interval for assessing service. For example, a monthly LicenseFee with a rate of $1 for the first 10 “workloads” and $2 thereafter means “$1 per workload up to 10 workloads during a month of service.” This is similar to but distinct from billing interval; the service interval deals with the rate at which the customer accumulates fees, while the billing interval in Cadence deals with the rate the customer is billed.

    Possible enum values
    day

    Assess service by days.

    month

    Assess service by months.

    week

    Assess service by weeks.

    year

    Assess service by years.

  • service_interval_countintegerRequired

    The length of the interval for assessing service. For example, set this to 3 and service_interval to "month" in order to specify quarterly service.

  • tax_behaviorenumRequired

    The Stripe Tax tax behavior - whether the license fee is inclusive or exclusive of tax.

    Possible enum values
    exclusive

    Price excludes tax.

    inclusive

    Price includes tax.

  • lookup_keystring

    An internal key you can use to search for a particular LicenseFee. Maximum length of 200 characters.

  • metadatamap

    Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.

  • tiering_modeenum

    Defines whether the tiered price should be graduated or volume-based. In volume-based tiering, the maximum quantity within a period determines the per-unit price. In graduated tiering, the pricing changes as the quantity grows into new tiers. Can only be set if tiers is set.

    Possible enum values
    graduated

    Use graduated tiering: the pricing at each tier applies to the quantity within that tier.

    volume

    Use volume-based tiering: the maximum quantity within a period determines the per-unit price for that period.

  • tiersarray of objects

    Each element represents a pricing tier. Cannot be set if unit_amount is provided.

  • transform_quantityobject

    Apply a transformation to the reported usage or set quantity before computing the amount billed.

  • unit_amountstring

    The per-unit amount to be charged, represented as a decimal string in minor currency units with at most 12 decimal places. Cannot be set if tiers is provided.

Returns

Response attributes

  • idstring

    The ID of the LicenseFee.

  • objectstring, value is "v2.billing.license_fee"

    String representing the object’s type. Objects of the same type share the same value of the object field.

  • activeboolean

    Whether this LicenseFee is active. Inactive LicenseFees cannot be used in new activations or be modified.

  • createdtimestamp

    Timestamp of when the object was created.

  • currencystring

    The currency of this LicenseFee.

  • display_namestring

    A customer-facing name for the LicenseFee. This name is used in Stripe-hosted products like the Customer Portal and Checkout. It does not show up on Invoices. Maximum length of 250 characters.

  • latest_versionstring

    The ID of the LicenseFee’s most recently created version.

  • licensed_itemobject

    The LicensedItem that this license fee binds to.

  • live_versionstring

    The ID of the version that will be used by all Subscriptions when no specific version is specified.

  • livemodeboolean

    Has the value true if the object exists in live mode or the value false if the object exists in test mode.

  • lookup_keynullable string

    An internal key you can use to search for a particular LicenseFee. Maximum length of 200 characters.

  • metadatanullable map

    Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.

  • service_intervalenum

    The interval for assessing service.

    Possible enum values
    day

    Assess service by days.

    month

    Assess service by months.

    week

    Assess service by weeks.

    year

    Assess service by years.

  • service_interval_countinteger

    The length of the interval for assessing service. For example, set this to 3 and service_interval to "month" in order to specify quarterly service.

  • tax_behaviorenum

    The Stripe Tax tax behavior - whether the license fee is inclusive or exclusive of tax.

    Possible enum values
    exclusive

    Price excludes tax.

    inclusive

    Price includes tax.

  • tiering_modenullable enum

    Defines whether the tiering price should be graduated or volume-based. In volume-based tiering, the maximum quantity within a period determines the per-unit price. In graduated tiering, the pricing changes as the quantity grows into new tiers. Can only be set if tiers is set.

    Possible enum values
    graduated

    Use graduated tiering: the pricing at each tier applies to the quantity within that tier.

    volume

    Use volume-based tiering: the maximum quantity within a period determines the per-unit price for that period.

  • tiersarray of objects

    Each element represents a pricing tier. Cannot be set if unit_amount is provided.

  • transform_quantitynullable object

    Apply a transformation to the reported usage or set quantity before computing the amount billed.

  • unit_amountnullable string

    The per-unit amount to be charged, represented as a decimal string in minor currency units with at most 12 decimal places. Cannot be set if tiers is provided.

Error Codes
400display_name_too_long

Returned when the provided display_name is longer than the maximum length of 100 characters.

404billable_item_not_found

Returned when the provided billable_item ID cannot be found.

POST /v2/billing/license_fees
curl -X POST https://api.stripe.com/v2/billing/license_fees \
-H "Authorization: Bearer sk_test_BQokikJ...2HlWgH4olfQ2sk_test_BQokikJOvBiI2HlWgH4olfQ2" \
-H "Stripe-Version: 2025-07-30.preview" \
--json '{
"currency": "usd",
"display_name": "Monthly fee",
"lookup_key": "monthly-fee",
"metadata": {
"key": "value"
},
"tax_behavior": "exclusive",
"licensed_item": "bli_61SbQ4ZVMJ2ESqq2416S40x4RVA8P2F2ShZStd6x6RCy",
"service_interval": "month",
"service_interval_count": 1,
"unit_amount": "20.00"
}'
Response
{
"active": true,
"created": "2025-01-01T00:00:00.000Z",
"currency": "usd",
"display_name": "Monthly fee",
"id": "licf_61SbQ4ZVMJ2ESqq2416S40x4RVA8P2F2ShZStd6x6RCy",
"latest_version": "licfv_61SbQ4ZVMJ2ESqq2416S40x4RVA8P2F2ShZStd6x6RCy",
"licensed_item": {
"created": "2025-01-01T00:00:00.000Z",
"display_name": "Monthly fee item",
"id": "bli_61SbQ4ZVMJ2ESqq2416S40x4RVA8P2F2ShZStd6x6RCy",
"lookup_key": "monthly-fee-item",
"metadata": {
"key": "value"
},
"object": "v2.billing.licensed_item",
"unit_label": "per month",
"livemode": true
},
"live_version": "licfv_61SbQ4ZVMJ2ESqq2416S40x4RVA8P2F2ShZStd6x6RCy",
"lookup_key": "monthly-fee",
"metadata": {
"key": "value"
},
"object": "v2.billing.license_fee",
"service_interval": "month",
"service_interval_count": 1,
"tax_behavior": "exclusive",
"tiers": [],
"unit_amount": "20.00",
"livemode": true
}

Update a LicenseFee v2

Update a LicenseFee object.

Learn more about calling API v2 endpoints.

Parameters

  • display_namestringRequired

    A customer-facing name for the LicenseFee. This name is used in Stripe-hosted products like the Customer Portal and Checkout. It does not show up on Invoices. Maximum length of 250 characters.

  • idstringRequired

    The ID of the LicenseFee to update.

  • live_versionstring

    Changes the version that new LicenseFee will use. Providing live_version = "latest" will set the LicenseFee’s live_version to its latest version.

  • lookup_keystring

    An internal key you can use to search for a particular LicenseFee. Maximum length of 200 characters.

  • metadatamap

    Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.

  • tiering_modeenum

    Defines whether the tiered price should be graduated or volume-based. In volume-based tiering, the maximum quantity within a period determines the per-unit price. In graduated tiering, the pricing changes as the quantity grows into new tiers. Can only be set if tiers is set.

    Possible enum values
    graduated

    Use graduated tiering: the pricing at each tier applies to the quantity within that tier.

    volume

    Use volume-based tiering: the maximum quantity within a period determines the per-unit price for that period.

  • tiersarray of objects

    Each element represents a pricing tier. Cannot be set if unit_amount is provided.

  • transform_quantityobject

    Apply a transformation to the reported usage or set quantity before computing the amount billed.

  • unit_amountstring

    The per-unit amount to be charged, represented as a decimal string in minor currency units with at most 12 decimal places. Cannot be set if tiers is provided.

Returns

Response attributes

  • idstring

    The ID of the LicenseFee.

  • objectstring, value is "v2.billing.license_fee"

    String representing the object’s type. Objects of the same type share the same value of the object field.

  • activeboolean

    Whether this LicenseFee is active. Inactive LicenseFees cannot be used in new activations or be modified.

  • createdtimestamp

    Timestamp of when the object was created.

  • currencystring

    The currency of this LicenseFee.

  • display_namestring

    A customer-facing name for the LicenseFee. This name is used in Stripe-hosted products like the Customer Portal and Checkout. It does not show up on Invoices. Maximum length of 250 characters.

  • latest_versionstring

    The ID of the LicenseFee’s most recently created version.

  • licensed_itemobject

    The LicensedItem that this license fee binds to.

  • live_versionstring

    The ID of the version that will be used by all Subscriptions when no specific version is specified.

  • livemodeboolean

    Has the value true if the object exists in live mode or the value false if the object exists in test mode.

  • lookup_keynullable string

    An internal key you can use to search for a particular LicenseFee. Maximum length of 200 characters.

  • metadatanullable map

    Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.

  • service_intervalenum

    The interval for assessing service.

    Possible enum values
    day

    Assess service by days.

    month

    Assess service by months.

    week

    Assess service by weeks.

    year

    Assess service by years.

  • service_interval_countinteger

    The length of the interval for assessing service. For example, set this to 3 and service_interval to "month" in order to specify quarterly service.

  • tax_behaviorenum

    The Stripe Tax tax behavior - whether the license fee is inclusive or exclusive of tax.

    Possible enum values
    exclusive

    Price excludes tax.

    inclusive

    Price includes tax.

  • tiering_modenullable enum

    Defines whether the tiering price should be graduated or volume-based. In volume-based tiering, the maximum quantity within a period determines the per-unit price. In graduated tiering, the pricing changes as the quantity grows into new tiers. Can only be set if tiers is set.

    Possible enum values
    graduated

    Use graduated tiering: the pricing at each tier applies to the quantity within that tier.

    volume

    Use volume-based tiering: the maximum quantity within a period determines the per-unit price for that period.

  • tiersarray of objects

    Each element represents a pricing tier. Cannot be set if unit_amount is provided.

  • transform_quantitynullable object

    Apply a transformation to the reported usage or set quantity before computing the amount billed.

  • unit_amountnullable string

    The per-unit amount to be charged, represented as a decimal string in minor currency units with at most 12 decimal places. Cannot be set if tiers is provided.

Error Codes
400display_name_too_long

Returned when the provided display_name is longer than the maximum length of 100 characters.

POST /v2/billing/license_fees/:id
cURL
curl -X POST https://api.stripe.com/v2/billing/license_fees/licf_61SbQ4ZVMJ2ESqq2416S40x4RVA8P2F2ShZStd6x6RCy \
-H "Authorization: Bearer sk_test_BQokikJ...2HlWgH4olfQ2sk_test_BQokikJOvBiI2HlWgH4olfQ2" \
-H "Stripe-Version: 2025-07-30.preview" \
--json '{
"display_name": "Updated Monthly fee",
"metadata": {
"existing_key": "updated_value",
"new_key": "new_value"
},
"lookup_key": "updated-monthly-fee",
"live_version": "licfv_61SbQ4ZVMJ2ESqq2416S40x4RVA8P2F2ShZStd6x6RCy",
"unit_amount": "25.00"
}'
Response
{
"active": true,
"created": "2025-01-01T00:00:00.000Z",
"currency": "usd",
"display_name": "Updated Monthly fee",
"id": "licf_61SbQ4ZVMJ2ESqq2416S40x4RVA8P2F2ShZStd6x6RCy",
"latest_version": "licfv_61SbQ4ZVMJ2ESqq2416S40x4RVA8P2F2ShZStd6x6RCy",
"licensed_item": {
"created": "2025-01-01T00:00:00.000Z",
"display_name": "Monthly fee item",
"id": "bli_61SbQ4ZVMJ2ESqq2416S40x4RVA8P2F2ShZStd6x6RCy",
"lookup_key": "monthly-fee-item",
"metadata": {
"key": "value"
},
"object": "v2.billing.licensed_item",
"unit_label": "per month",
"livemode": true
},
"live_version": "licfv_61SbQ4ZVMJ2ESqq2416S40x4RVA8P2F2ShZStd6x6RCy",
"lookup_key": "updated-monthly-fee",
"metadata": {
"existing_key": "updated_value",
"new_key": "new_value"
},
"object": "v2.billing.license_fee",
"service_interval": "month",
"service_interval_count": 1,
"tax_behavior": "exclusive",
"tiers": [],
"unit_amount": "25.00",
"livemode": true
}

Retrieve a LicenseFee v2

Retrieve a LicenseFee object.

Learn more about calling API v2 endpoints.

Parameters

  • idstringRequired

    The ID of the LicenseFee object to retrieve.

Returns

Response attributes

  • idstring

    The ID of the LicenseFee.

  • objectstring, value is "v2.billing.license_fee"

    String representing the object’s type. Objects of the same type share the same value of the object field.

  • activeboolean

    Whether this LicenseFee is active. Inactive LicenseFees cannot be used in new activations or be modified.

  • createdtimestamp

    Timestamp of when the object was created.

  • currencystring

    The currency of this LicenseFee.

  • display_namestring

    A customer-facing name for the LicenseFee. This name is used in Stripe-hosted products like the Customer Portal and Checkout. It does not show up on Invoices. Maximum length of 250 characters.

  • latest_versionstring

    The ID of the LicenseFee’s most recently created version.

  • licensed_itemobject

    The LicensedItem that this license fee binds to.

  • live_versionstring

    The ID of the version that will be used by all Subscriptions when no specific version is specified.

  • livemodeboolean

    Has the value true if the object exists in live mode or the value false if the object exists in test mode.

  • lookup_keynullable string

    An internal key you can use to search for a particular LicenseFee. Maximum length of 200 characters.

  • metadatanullable map

    Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.

  • service_intervalenum

    The interval for assessing service.

    Possible enum values
    day

    Assess service by days.

    month

    Assess service by months.

    week

    Assess service by weeks.

    year

    Assess service by years.

  • service_interval_countinteger

    The length of the interval for assessing service. For example, set this to 3 and service_interval to "month" in order to specify quarterly service.

  • tax_behaviorenum

    The Stripe Tax tax behavior - whether the license fee is inclusive or exclusive of tax.

    Possible enum values
    exclusive

    Price excludes tax.

    inclusive

    Price includes tax.

  • tiering_modenullable enum

    Defines whether the tiering price should be graduated or volume-based. In volume-based tiering, the maximum quantity within a period determines the per-unit price. In graduated tiering, the pricing changes as the quantity grows into new tiers. Can only be set if tiers is set.

    Possible enum values
    graduated

    Use graduated tiering: the pricing at each tier applies to the quantity within that tier.

    volume

    Use volume-based tiering: the maximum quantity within a period determines the per-unit price for that period.

  • tiersarray of objects

    Each element represents a pricing tier. Cannot be set if unit_amount is provided.

  • transform_quantitynullable object

    Apply a transformation to the reported usage or set quantity before computing the amount billed.

  • unit_amountnullable string

    The per-unit amount to be charged, represented as a decimal string in minor currency units with at most 12 decimal places. Cannot be set if tiers is provided.

Error Codes
404license_fee_not_found

Returned when the provided license_fee ID cannot be found.

GET /v2/billing/license_fees/:id
curl https://api.stripe.com/v2/billing/license_fees/licf_61SbQ4ZVMJ2ESqq2416S40x4RVA8P2F2ShZStd6x6RCy \
-H "Authorization: Bearer sk_test_BQokikJ...2HlWgH4olfQ2sk_test_BQokikJOvBiI2HlWgH4olfQ2" \
-H "Stripe-Version: 2025-07-30.preview"
Response
{
"active": true,
"created": "2025-01-01T00:00:00.000Z",
"currency": "usd",
"display_name": "Monthly fee",
"id": "licf_61SbQ4ZVMJ2ESqq2416S40x4RVA8P2F2ShZStd6x6RCy",
"latest_version": "licfv_61SbQ4ZVMJ2ESqq2416S40x4RVA8P2F2ShZStd6x6RCy",
"licensed_item": {
"created": "2025-01-01T00:00:00.000Z",
"display_name": "Monthly fee item",
"id": "bli_61SbQ4ZVMJ2ESqq2416S40x4RVA8P2F2ShZStd6x6RCy",
"lookup_key": "monthly-fee-item",
"metadata": {
"key": "value"
},
"object": "v2.billing.licensed_item",
"unit_label": "per month",
"livemode": true
},
"live_version": "licfv_61SbQ4ZVMJ2ESqq2416S40x4RVA8P2F2ShZStd6x6RCy",
"lookup_key": "monthly-fee",
"metadata": {
"key": "value"
},
"object": "v2.billing.license_fee",
"service_interval": "month",
"service_interval_count": 1,
"tax_behavior": "exclusive",
"tiers": [],
"unit_amount": "20.00",
"livemode": true
}

Retrieve a LicenseFeeVersion v2

Retrieve a LicenseFeeVersion object.

Learn more about calling API v2 endpoints.

Parameters

  • idstringRequired

    The ID of the version to retrieve.

  • license_fee_idstringRequired

    The ID of the License fee object.

Returns

Response attributes

  • idstring

    The ID of the LicenseFeeVersion.

  • objectstring, value is "v2.billing.license_fee_version"

    String representing the object’s type. Objects of the same type share the same value of the object field.

  • createdtimestamp

    Timestamp of when the object was created.

  • license_fee_idstring

    The ID of the parent LicenseFee.

  • livemodeboolean

    Has the value true if the object exists in live mode or the value false if the object exists in test mode.

  • tiering_modenullable enum

    Defines whether the tiering price should be graduated or volume-based. In volume-based tiering, the maximum quantity within a period determines the per-unit price. In graduated tiering, the pricing changes as the quantity grows into new tiers. Can only be set if tiers is set.

    Possible enum values
    graduated

    Use graduated tiering: the pricing at each tier applies to the quantity within that tier.

    volume

    Use volume-based tiering: the maximum quantity within a period determines the per-unit price for that period.

  • tiersarray of objects

    Each element represents a pricing tier. Cannot be set if unit_amount is provided.

  • transform_quantitynullable object

    Apply a transformation to the reported usage or set quantity before computing the amount billed.

  • unit_amountnullable string

    The per-unit amount to be charged, represented as a decimal string in minor currency units with at most 12 decimal places. Cannot be set if tiers is provided.

Error Codes
404license_fee_not_found

Returned when the provided license_fee ID cannot be found.

404license_fee_version_not_found

Returned when the provided license_fee_version ID cannot be found.

GET /v2/billing/license_fees/:id/versions/:id
curl https://api.stripe.com/v2/billing/license_fees/licf_61SbQ4ZVMJ2ESqq2416S40x4RVA8P2F2ShZStd6x6RCy/versions/licfv_61SbQ4ZVMJ2ESqq2416S40x4RVA8P2F2ShZStd6x6RCy \
-H "Authorization: Bearer sk_test_BQokikJ...2HlWgH4olfQ2sk_test_BQokikJOvBiI2HlWgH4olfQ2" \
-H "Stripe-Version: 2025-07-30.preview"
Response
{
"created": "2025-01-01T00:00:00.000Z",
"id": "licfv_61SbQ4ZVMJ2ESqq2416S40x4RVA8P2F2ShZStd6x6RCy",
"license_fee_id": "licf_61SbQ4ZVMJ2ESqq2416S40x4RVA8P2F2ShZStd6x6RCy",
"object": "v2.billing.license_fee_version",
"unit_amount": "20.00",
"tiers": [],
"livemode": true
}

List LicenseFees v2

List all LicenseFee objects.

Learn more about calling API v2 endpoints.

Parameters

  • lookup_keysarray of stringsRequired

    Filter by lookup keys. You can specify up to 10 lookup keys.

  • licensed_itemstring

    Filter by licensed item.

  • limitinteger

    Optionally set the maximum number of results per page. Defaults to 20.

  • pagestring

    A cursor for use in pagination.

Returns

Response attributes

  • dataarray of objects

    List of LicenseFees.

  • next_page_urlnullable string

    The URL to get the next page of results, if there are any.

  • previous_page_urlnullable string

    The URL to get the previous page of results, if there are any.

GET /v2/billing/license_fees
curl -G https://api.stripe.com/v2/billing/license_fees \
-H "Authorization: Bearer sk_test_BQokikJ...2HlWgH4olfQ2sk_test_BQokikJOvBiI2HlWgH4olfQ2" \
-H "Stripe-Version: 2025-07-30.preview" \
-d lookup_keys=monthly-fee
Response
{
"data": [
{
"active": true,
"created": "2025-01-01T00:00:00.000Z",
"currency": "usd",
"display_name": "Monthly fee",
"id": "licf_61SbQ4ZVMJ2ESqq2416S40x4RVA8P2F2ShZStd6x6RCy",
"latest_version": "licfv_61SbQ4ZVMJ2ESqq2416S40x4RVA8P2F2ShZStd6x6RCy",
"licensed_item": {
"created": "2025-01-01T00:00:00.000Z",
"display_name": "Monthly fee item",
"id": "bli_61SbQ4ZVMJ2ESqq2416S40x4RVA8P2F2ShZStd6x6RCy",
"lookup_key": "monthly-fee-item",
"metadata": {
"key": "value"
},
"object": "v2.billing.licensed_item",
"unit_label": "per month",
"livemode": true
},
"live_version": "licfv_61SbQ4ZVMJ2ESqq2416S40x4RVA8P2F2ShZStd6x6RCy",
"lookup_key": "monthly-fee",
"metadata": {
"key": "value"
},
"object": "v2.billing.license_fee",
"service_interval": "month",
"service_interval_count": 1,
"tax_behavior": "exclusive",
"tiers": [],
"unit_amount": "20.00",
"livemode": true
}
],
"next_page_url": null,
"previous_page_url": null
}