Get Usage
curl --request GET \
--url https://app.uselamina.ai/v1/account/usage \
--header 'x-api-key: <api-key>'import requests
url = "https://app.uselamina.ai/v1/account/usage"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://app.uselamina.ai/v1/account/usage', 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://app.uselamina.ai/v1/account/usage",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://app.uselamina.ai/v1/account/usage"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.uselamina.ai/v1/account/usage")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.uselamina.ai/v1/account/usage")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": {
"credits": {
"balance": 4250.5,
"totalEarned": 10000,
"totalSpent": 5749.5
},
"rateLimit": {
"limit": 100,
"windowMs": 60000
}
}
}{
"error": "Invalid API key"
}"Too many requests from this IP, please try again in a minute"Account
Get Usage
Check remaining credits and rate limit status for the workspace.
Use this before starting expensive operations (batch creates, video generation)
to verify sufficient credit balance. The rateLimit section shows the current
rate limit configuration (requests per window).
Credit model: Each app execution consumes credits based on the processing nodes involved. Image generation, video generation, and AI text generation each have different credit costs.
GET
/
v1
/
account
/
usage
Get Usage
curl --request GET \
--url https://app.uselamina.ai/v1/account/usage \
--header 'x-api-key: <api-key>'import requests
url = "https://app.uselamina.ai/v1/account/usage"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://app.uselamina.ai/v1/account/usage', 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://app.uselamina.ai/v1/account/usage",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://app.uselamina.ai/v1/account/usage"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.uselamina.ai/v1/account/usage")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.uselamina.ai/v1/account/usage")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": {
"credits": {
"balance": 4250.5,
"totalEarned": 10000,
"totalSpent": 5749.5
},
"rateLimit": {
"limit": 100,
"windowMs": 60000
}
}
}{
"error": "Invalid API key"
}"Too many requests from this IP, please try again in a minute"Returns the workspace’s credit balance and the API rate-limit configuration.
Use this to monitor consumption, enforce budget limits in your integration, or display remaining credits in a dashboard. The response includes the current credit
balance, lifetime totalEarned / totalSpent, a manageUrl for billing, and the rateLimit window (limit, windowMs). It does not return per-endpoint counters or a per-request spend breakdown.