Get an agent message credit attribution
curl --request GET \
--url https://dust.tt/api/w/{wId}/assistant/conversations/{cId}/messages/{mId}/consumption \
--header 'Authorization: Bearer <token>'import requests
url = "https://dust.tt/api/w/{wId}/assistant/conversations/{cId}/messages/{mId}/consumption"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://dust.tt/api/w/{wId}/assistant/conversations/{cId}/messages/{mId}/consumption', 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://dust.tt/api/w/{wId}/assistant/conversations/{cId}/messages/{mId}/consumption",
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>"
],
]);
$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://dust.tt/api/w/{wId}/assistant/conversations/{cId}/messages/{mId}/consumption"
req, _ := http.NewRequest("GET", url, nil)
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://dust.tt/api/w/{wId}/assistant/conversations/{cId}/messages/{mId}/consumption")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://dust.tt/api/w/{wId}/assistant/conversations/{cId}/messages/{mId}/consumption")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"billedCredits": 123,
"details": {
"attributionVersion": 123,
"agentWorkCredits": 123,
"tools": [
{
"label": "<string>",
"internalMCPServerName": "<string>",
"toolName": "<string>",
"callCount": 123,
"attributedCredits": 123,
"directCredits": 123,
"pending": true
}
]
}
}Private Messages
Get an agent message credit attribution
Returns exact billed credits and an additive attribution reconciled exclusively through model input rows.
GET
/
api
/
w
/
{wId}
/
assistant
/
conversations
/
{cId}
/
messages
/
{mId}
/
consumption
Get an agent message credit attribution
curl --request GET \
--url https://dust.tt/api/w/{wId}/assistant/conversations/{cId}/messages/{mId}/consumption \
--header 'Authorization: Bearer <token>'import requests
url = "https://dust.tt/api/w/{wId}/assistant/conversations/{cId}/messages/{mId}/consumption"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://dust.tt/api/w/{wId}/assistant/conversations/{cId}/messages/{mId}/consumption', 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://dust.tt/api/w/{wId}/assistant/conversations/{cId}/messages/{mId}/consumption",
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>"
],
]);
$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://dust.tt/api/w/{wId}/assistant/conversations/{cId}/messages/{mId}/consumption"
req, _ := http.NewRequest("GET", url, nil)
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://dust.tt/api/w/{wId}/assistant/conversations/{cId}/messages/{mId}/consumption")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://dust.tt/api/w/{wId}/assistant/conversations/{cId}/messages/{mId}/consumption")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"billedCredits": 123,
"details": {
"attributionVersion": 123,
"agentWorkCredits": 123,
"tools": [
{
"label": "<string>",
"internalMCPServerName": "<string>",
"toolName": "<string>",
"callCount": 123,
"attributedCredits": 123,
"directCredits": 123,
"pending": true
}
]
}
}Authorizations
Your DUST API key is a Bearer token.
Response
Credit attribution for the agent message
Authoritative credits billed for this agent message.
Additive attribution reconciled to the bill through model input rows, using the newest complete stored attribution version. Null when no stored version is complete.
Show child attributes
Show child attributes
⌘I