Logo
Search
Docs

Assistant stats

GET https://app.sulus.ai/api/assistants/{assistantId}/stats

Call statistics for the dashboard

Authentication

Send a bearer token created on your dashboard's Developer page:

Authorization: Bearer <YOUR_API_KEY>

Path parameters

assistantId string Required

The assistant's public id (UUID).

Validation: uuid — the public assistant_id

Errors

StatusMeaningBody
404 Assistant not found, or outside your account scope {"success":false,"message":"Assistant not found"}
500 Statistics unavailable {"success":false,"message":"Failed to get assistant statistics"}
401 Missing or invalid bearer token
403 Feature assistants not enabled for the account

Notes

  • `data` is the live platform's raw per-assistant statistics payload passed through unmodified — its exact key set is internal and may evolve without notice; the fields shown here are representative, not exhaustive.
curl --request GET \
  --url https://app.sulus.ai/api/assistants/{assistantId}/stats \
  --header 'Authorization: Bearer <YOUR_API_KEY>'
import requests

url = "https://app.sulus.ai/api/assistants/{assistantId}/stats"
headers = {"Authorization": "Bearer <YOUR_API_KEY>"}

response = requests.get(url, headers=headers)
print(response.json())
package main

import (
	"fmt"
	"io"
	"net/http"
)

func main() {
	url := "https://app.sulus.ai/api/assistants/{assistantId}/stats"
	req, _ := http.NewRequest("GET", url, nil)
	req.Header.Add("Authorization", "Bearer <YOUR_API_KEY>")
	res, _ := http.DefaultClient.Do(req)
	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)
	fmt.Println(string(body))
}
Response 200
{
    "success": true,
    "data": {
        "totalCalls": 128,
        "totalMinutes": 342.5,
        "totalCost": 41.87,
        "averageCallDurationSeconds": 160.5,
        "inboundCalls": 121,
        "outboundCalls": 7,
        "successfulCalls": 118,
        "failedCalls": 10
    }
}