List Flow Plan Credits Usage
curl --request POST \
--url https://api.example.com/api/public/tools/list_flow_plan_credits_usage \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"fromUtc": null,
"toUtc": null,
"limit": null,
"cursor": null
}
'import requests
url = "https://api.example.com/api/public/tools/list_flow_plan_credits_usage"
payload = {
"fromUtc": None,
"toUtc": None,
"limit": None,
"cursor": None
}
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({fromUtc: null, toUtc: null, limit: null, cursor: null})
};
fetch('https://api.example.com/api/public/tools/list_flow_plan_credits_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://api.example.com/api/public/tools/list_flow_plan_credits_usage",
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([
'fromUtc' => null,
'toUtc' => null,
'limit' => null,
'cursor' => null
]),
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://api.example.com/api/public/tools/list_flow_plan_credits_usage"
payload := strings.NewReader("{\n \"fromUtc\": null,\n \"toUtc\": null,\n \"limit\": null,\n \"cursor\": null\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://api.example.com/api/public/tools/list_flow_plan_credits_usage")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"fromUtc\": null,\n \"toUtc\": null,\n \"limit\": null,\n \"cursor\": null\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/public/tools/list_flow_plan_credits_usage")
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 \"fromUtc\": null,\n \"toUtc\": null,\n \"limit\": null,\n \"cursor\": null\n}"
response = http.request(request)
puts response.read_body{
"summary": "<string>",
"teamId": "<string>",
"effectiveFilters": {
"fromUtc": "2023-11-07T05:31:56Z",
"toUtc": "2023-11-07T05:31:56Z"
},
"items": [
{
"id": "<string>",
"name": "<string>",
"creditsUsage": {}
}
],
"pageCreditsUsed": 123,
"cursor": "<string>"
}{
"error": "<string>",
"message": "<string>",
"traceId": "<string>"
}{
"error": "<string>",
"message": "<string>",
"traceId": "<string>"
}{
"error": "<string>",
"message": "<string>",
"traceId": "<string>"
}{
"error": "<string>",
"message": "<string>",
"traceId": "<string>"
}{
"error": "<string>",
"message": "<string>",
"traceId": "<string>"
}{
"error": "<string>",
"message": "<string>",
"traceId": "<string>"
}{
"error": "<string>",
"message": "<string>",
"traceId": "<string>"
}{
"error": "<string>",
"message": "<string>",
"traceId": "<string>"
}FirstTouch tools
List Flow Plan Credits Usage
Lists credits spent by the current team’s flow plans from the same source as the flow-plan/credits-usage-cursor UI endpoint.
Usage notes
- Requires team billing access.
- Use fromUtc and toUtc for the reporting period.
- Follow cursor pages to calculate a complete total across all matching plans.
POST
/
api
/
public
/
tools
/
list_flow_plan_credits_usage
List Flow Plan Credits Usage
curl --request POST \
--url https://api.example.com/api/public/tools/list_flow_plan_credits_usage \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"fromUtc": null,
"toUtc": null,
"limit": null,
"cursor": null
}
'import requests
url = "https://api.example.com/api/public/tools/list_flow_plan_credits_usage"
payload = {
"fromUtc": None,
"toUtc": None,
"limit": None,
"cursor": None
}
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({fromUtc: null, toUtc: null, limit: null, cursor: null})
};
fetch('https://api.example.com/api/public/tools/list_flow_plan_credits_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://api.example.com/api/public/tools/list_flow_plan_credits_usage",
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([
'fromUtc' => null,
'toUtc' => null,
'limit' => null,
'cursor' => null
]),
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://api.example.com/api/public/tools/list_flow_plan_credits_usage"
payload := strings.NewReader("{\n \"fromUtc\": null,\n \"toUtc\": null,\n \"limit\": null,\n \"cursor\": null\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://api.example.com/api/public/tools/list_flow_plan_credits_usage")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"fromUtc\": null,\n \"toUtc\": null,\n \"limit\": null,\n \"cursor\": null\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/public/tools/list_flow_plan_credits_usage")
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 \"fromUtc\": null,\n \"toUtc\": null,\n \"limit\": null,\n \"cursor\": null\n}"
response = http.request(request)
puts response.read_body{
"summary": "<string>",
"teamId": "<string>",
"effectiveFilters": {
"fromUtc": "2023-11-07T05:31:56Z",
"toUtc": "2023-11-07T05:31:56Z"
},
"items": [
{
"id": "<string>",
"name": "<string>",
"creditsUsage": {}
}
],
"pageCreditsUsed": 123,
"cursor": "<string>"
}{
"error": "<string>",
"message": "<string>",
"traceId": "<string>"
}{
"error": "<string>",
"message": "<string>",
"traceId": "<string>"
}{
"error": "<string>",
"message": "<string>",
"traceId": "<string>"
}{
"error": "<string>",
"message": "<string>",
"traceId": "<string>"
}{
"error": "<string>",
"message": "<string>",
"traceId": "<string>"
}{
"error": "<string>",
"message": "<string>",
"traceId": "<string>"
}{
"error": "<string>",
"message": "<string>",
"traceId": "<string>"
}{
"error": "<string>",
"message": "<string>",
"traceId": "<string>"
}Authorizations
Body
application/json
Optional inclusive UTC lower bound for credits usage.
Optional inclusive UTC upper bound for credits usage.
Maximum flow plans to return. Defaults to 10 and is capped at 50.
Cursor returned by a previous list_flow_plan_credits_usage call.

