Get workspace billing status
curl --request GET \
--url https://api.checkfu.com/v1/billing/status \
--header 'Authorization: Bearer <token>' \
--header 'checkfu-version: <checkfu-version>'import requests
url = "https://api.checkfu.com/v1/billing/status"
headers = {
"checkfu-version": "<checkfu-version>",
"Authorization": "Bearer <token>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'checkfu-version': '<checkfu-version>', Authorization: 'Bearer <token>'}
};
fetch('https://api.checkfu.com/v1/billing/status', 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://api.checkfu.com/v1/billing/status",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"checkfu-version: <checkfu-version>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.checkfu.com/v1/billing/status"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("checkfu-version", "<checkfu-version>")
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.checkfu.com/v1/billing/status")
.header("checkfu-version", "<checkfu-version>")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.checkfu.com/v1/billing/status")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["checkfu-version"] = '<checkfu-version>'
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"organization_id": "<string>",
"workspace_id": "<string>",
"rollout": {
"catalog_visible": true,
"platform_supply_eligible": true,
"usage_projection_enabled": true,
"charging_enabled": true
},
"catalog": {
"kind": "hidden"
},
"commercial": {
"state": "ready",
"current_plan_id": "explore",
"payment_state": "current",
"pooled_credit": {
"granted_microusd": 4503599627370495,
"remaining_microusd": 4503599627370495,
"usage_microusd": 4503599627370495
}
},
"provisioning": {
"local_state": "pending",
"external_state": "pending",
"last_error_code": "<string>"
},
"model_access": {
"binding_id": "<string>",
"source": "workspace_override_configured",
"platform_supply_state": "available",
"provider": "<string>",
"model": "<string>",
"invalid_byok_falls_back": false
},
"builder_seats": {
"authoritative_quantity": 1,
"projection_state": "pending",
"remote_quantity": 1,
"source": "organization_membership"
},
"usage_projections": [
{
"state": "pending",
"count": 1
}
],
"local_usage": {
"charge_count": 1,
"correction_count": 1,
"original_charge": {
"microusd": 123,
"remainder_millionths": 0
},
"correction_delta": {
"microusd": 123,
"remainder_millionths": 0
},
"net_charge": {
"microusd": 123,
"remainder_millionths": 0
},
"dimensions": {
"uncached_input_tokens": 1,
"cached_input_tokens": 1,
"cache_write_input_tokens": 1,
"output_tokens": 1,
"reasoning_output_tokens": 1
}
},
"recovery_actions": [
"add_or_repair_byok"
]
}{
"error": {
"type": "validation.malformed",
"message": "<string>",
"more": "https://docs.checkfu.com/reference/errors#validation-malformed"
}
}{
"error": {
"type": "auth.invalid_key",
"message": "<string>",
"more": "https://docs.checkfu.com/reference/errors#auth-invalid-key"
}
}{
"error": {
"type": "auth.disabled_tenancy",
"message": "<string>",
"more": "https://docs.checkfu.com/reference/errors#auth-disabled-tenancy"
}
}{
"error": {
"type": "budget.exceeded",
"message": "<string>",
"more": "https://docs.checkfu.com/reference/errors#budget-exceeded"
}
}{
"error": {
"type": "runtime.internal",
"message": "<string>",
"more": "https://docs.checkfu.com/reference/errors#runtime-internal"
}
}Get workspace billing status
Returns the workspace’s billing snapshot: rollout, catalog, the organization commercial state, provisioning state, model access (the active…
GET
/
v1
/
billing
/
status
Get workspace billing status
curl --request GET \
--url https://api.checkfu.com/v1/billing/status \
--header 'Authorization: Bearer <token>' \
--header 'checkfu-version: <checkfu-version>'import requests
url = "https://api.checkfu.com/v1/billing/status"
headers = {
"checkfu-version": "<checkfu-version>",
"Authorization": "Bearer <token>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'checkfu-version': '<checkfu-version>', Authorization: 'Bearer <token>'}
};
fetch('https://api.checkfu.com/v1/billing/status', 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://api.checkfu.com/v1/billing/status",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"checkfu-version: <checkfu-version>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.checkfu.com/v1/billing/status"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("checkfu-version", "<checkfu-version>")
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.checkfu.com/v1/billing/status")
.header("checkfu-version", "<checkfu-version>")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.checkfu.com/v1/billing/status")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["checkfu-version"] = '<checkfu-version>'
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"organization_id": "<string>",
"workspace_id": "<string>",
"rollout": {
"catalog_visible": true,
"platform_supply_eligible": true,
"usage_projection_enabled": true,
"charging_enabled": true
},
"catalog": {
"kind": "hidden"
},
"commercial": {
"state": "ready",
"current_plan_id": "explore",
"payment_state": "current",
"pooled_credit": {
"granted_microusd": 4503599627370495,
"remaining_microusd": 4503599627370495,
"usage_microusd": 4503599627370495
}
},
"provisioning": {
"local_state": "pending",
"external_state": "pending",
"last_error_code": "<string>"
},
"model_access": {
"binding_id": "<string>",
"source": "workspace_override_configured",
"platform_supply_state": "available",
"provider": "<string>",
"model": "<string>",
"invalid_byok_falls_back": false
},
"builder_seats": {
"authoritative_quantity": 1,
"projection_state": "pending",
"remote_quantity": 1,
"source": "organization_membership"
},
"usage_projections": [
{
"state": "pending",
"count": 1
}
],
"local_usage": {
"charge_count": 1,
"correction_count": 1,
"original_charge": {
"microusd": 123,
"remainder_millionths": 0
},
"correction_delta": {
"microusd": 123,
"remainder_millionths": 0
},
"net_charge": {
"microusd": 123,
"remainder_millionths": 0
},
"dimensions": {
"uncached_input_tokens": 1,
"cached_input_tokens": 1,
"cache_write_input_tokens": 1,
"output_tokens": 1,
"reasoning_output_tokens": 1
}
},
"recovery_actions": [
"add_or_repair_byok"
]
}{
"error": {
"type": "validation.malformed",
"message": "<string>",
"more": "https://docs.checkfu.com/reference/errors#validation-malformed"
}
}{
"error": {
"type": "auth.invalid_key",
"message": "<string>",
"more": "https://docs.checkfu.com/reference/errors#auth-invalid-key"
}
}{
"error": {
"type": "auth.disabled_tenancy",
"message": "<string>",
"more": "https://docs.checkfu.com/reference/errors#auth-disabled-tenancy"
}
}{
"error": {
"type": "budget.exceeded",
"message": "<string>",
"more": "https://docs.checkfu.com/reference/errors#budget-exceeded"
}
}{
"error": {
"type": "runtime.internal",
"message": "<string>",
"more": "https://docs.checkfu.com/reference/errors#runtime-internal"
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
Available options:
2026-08-31 Response
Success
Pattern:
^org_[0-9a-f]{32}$Pattern:
^wrkspc_[0-9a-f]{32}$Show child attributes
Show child attributes
- Option 1
- Option 2
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Available options:
add_or_repair_byok, retry_provisioning, update_payment_method, wait_for_projection, contact_support