import Stigg from '@stigg/typescript';
const client = new Stigg({
apiKey: process.env['STIGG_API_KEY'], // This is the default and can be omitted
});
const response = await client.v1.subscriptions.usage.chargeUsage('x');
console.log(response.data);import os
from stigg import Stigg
client = Stigg(
api_key=os.environ.get("STIGG_API_KEY"), # This is the default and can be omitted
)
response = client.v1.subscriptions.usage.charge_usage(
id="x",
)
print(response.data)package main
import (
"context"
"fmt"
"github.com/stiggio/stigg-go"
"github.com/stiggio/stigg-go/option"
)
func main() {
client := stigg.NewClient(
option.WithAPIKey("My API Key"),
)
response, err := client.V1.Subscriptions.Usage.ChargeUsage(
context.TODO(),
"x",
stigg.V1SubscriptionUsageChargeUsageParams{},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", response.Data)
}
package io.stigg.example;
import io.stigg.client.StiggClient;
import io.stigg.client.okhttp.StiggOkHttpClient;
import io.stigg.models.v1.subscriptions.usage.UsageChargeUsageParams;
import io.stigg.models.v1.subscriptions.usage.UsageChargeUsageResponse;
public final class Main {
private Main() {}
public static void main(String[] args) {
StiggClient client = StiggOkHttpClient.fromEnv();
UsageChargeUsageResponse response = client.v1().subscriptions().usage().chargeUsage("x");
}
}require "stigg"
stigg = Stigg::Client.new(api_key: "My API Key")
response = stigg.v1.subscriptions.usage.charge_usage("x")
puts(response)using System;
using Stigg.Client;
using Stigg.Client.Models.V1.Subscriptions.Usage;
StiggClient client = new();
UsageChargeUsageParams parameters = new() { ID = "x" };
var response = await client.V1.Subscriptions.Usage.ChargeUsage(parameters);
Console.WriteLine(response);stigg v1:subscriptions:usage charge-usage \
--api-key 'My API Key' \
--id xcurl --request POST \
--url https://api.stigg.io/api/v1/subscriptions/{id}/usage/charge \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"untilDate": "2023-11-07T05:31:56Z"
}
'<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.stigg.io/api/v1/subscriptions/{id}/usage/charge",
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([
'untilDate' => '2023-11-07T05:31:56Z'
]),
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;
}{
"data": {
"subscriptionId": "<string>",
"periodStart": "2023-11-07T05:31:56Z",
"periodEnd": "2023-11-07T05:31:56Z",
"invoiceBillingId": "<string>",
"usageCharged": [
{
"featureId": "<string>",
"usageAmount": 123
}
]
}
}{
"message": "<string>",
"code": "BadUserInput",
"reason": "<string>"
}{
"message": "<string>",
"code": "Unauthenticated"
}{
"message": "<string>",
"code": "IdentityForbidden"
}{
"message": "<string>",
"code": "CustomerNotFound"
}{
"message": "<string>",
"code": "RateLimitExceeded"
}Charge subscription usage
Immediately charges usage for a subscription via the billing integration. Calculates usage since the last charge and creates an invoice.
import Stigg from '@stigg/typescript';
const client = new Stigg({
apiKey: process.env['STIGG_API_KEY'], // This is the default and can be omitted
});
const response = await client.v1.subscriptions.usage.chargeUsage('x');
console.log(response.data);import os
from stigg import Stigg
client = Stigg(
api_key=os.environ.get("STIGG_API_KEY"), # This is the default and can be omitted
)
response = client.v1.subscriptions.usage.charge_usage(
id="x",
)
print(response.data)package main
import (
"context"
"fmt"
"github.com/stiggio/stigg-go"
"github.com/stiggio/stigg-go/option"
)
func main() {
client := stigg.NewClient(
option.WithAPIKey("My API Key"),
)
response, err := client.V1.Subscriptions.Usage.ChargeUsage(
context.TODO(),
"x",
stigg.V1SubscriptionUsageChargeUsageParams{},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", response.Data)
}
package io.stigg.example;
import io.stigg.client.StiggClient;
import io.stigg.client.okhttp.StiggOkHttpClient;
import io.stigg.models.v1.subscriptions.usage.UsageChargeUsageParams;
import io.stigg.models.v1.subscriptions.usage.UsageChargeUsageResponse;
public final class Main {
private Main() {}
public static void main(String[] args) {
StiggClient client = StiggOkHttpClient.fromEnv();
UsageChargeUsageResponse response = client.v1().subscriptions().usage().chargeUsage("x");
}
}require "stigg"
stigg = Stigg::Client.new(api_key: "My API Key")
response = stigg.v1.subscriptions.usage.charge_usage("x")
puts(response)using System;
using Stigg.Client;
using Stigg.Client.Models.V1.Subscriptions.Usage;
StiggClient client = new();
UsageChargeUsageParams parameters = new() { ID = "x" };
var response = await client.V1.Subscriptions.Usage.ChargeUsage(parameters);
Console.WriteLine(response);stigg v1:subscriptions:usage charge-usage \
--api-key 'My API Key' \
--id xcurl --request POST \
--url https://api.stigg.io/api/v1/subscriptions/{id}/usage/charge \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"untilDate": "2023-11-07T05:31:56Z"
}
'<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.stigg.io/api/v1/subscriptions/{id}/usage/charge",
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([
'untilDate' => '2023-11-07T05:31:56Z'
]),
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;
}{
"data": {
"subscriptionId": "<string>",
"periodStart": "2023-11-07T05:31:56Z",
"periodEnd": "2023-11-07T05:31:56Z",
"invoiceBillingId": "<string>",
"usageCharged": [
{
"featureId": "<string>",
"usageAmount": 123
}
]
}
}{
"message": "<string>",
"code": "BadUserInput",
"reason": "<string>"
}{
"message": "<string>",
"code": "Unauthenticated"
}{
"message": "<string>",
"code": "IdentityForbidden"
}{
"message": "<string>",
"code": "CustomerNotFound"
}{
"message": "<string>",
"code": "RateLimitExceeded"
}Authorizations
Server API Key
Headers
Account ID — optional when authenticating with a user JWT (Bearer token); falls back to the user's first membership. Ignored for API-key auth.
Environment ID — required when authenticating with a user JWT (Bearer token) on environment-scoped endpoints. Ignored for API-key auth (env is intrinsic to the key).
Path Parameters
The unique identifier of the entity
1 - 255Body
Request to immediately charge usage for a subscription.
Cutoff date for usage calculation. If not provided, the current time is used.
Response
The charge result including period, invoice ID, and usage details.
Response object
Result of charging subscription usage including the billing period and charged items.
Show child attributes
Show child attributes
Related topics
Updates to subscriptions with usage-based pricingOverviewDefining overagesProvision enterprise subscriptionsCharges