ChartAssistant
Endpoints for ChartAssistant
Stay in the loop 🚀
Endpoints for ChartAssistant
POST/api/v1/chart-assistant/chat
Streams one turn of the conversation as an AI SDK UI message stream (server-sent events), for the useChat hook. The assistant reads the tenant statistics as the signed-in admin and finishes by describing a chart, which the client renders by replaying it through run. A tenant on the EU residency default has no model available and is refused.
Authentication: Bearer token (JWT)
application/jsonidstringRequiredmaxLength: 128messagesarray of object with any valuesRequiredmaxItems: 200{
"id": "string",
"messages": [
{}
]
}This response has no body.
chartAssistantInvalidMessages
curlcurl https://api.subrite.no/api/v1/chart-assistant/chat \
--request POST \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"id": "string",
"messages": [
{}
]
}'POST/api/v1/chart-assistant/run
Runs each source of a chart against its Subrite stats tool as the signed-in admin and returns the payloads. No model is involved, so this needs no AI entitlement and is what a saved chart renders through on every open.
Authentication: Bearer token (JWT)
application/jsonsourcesarray of ChartSourceRunDtoRequired2 required when the containing object is present3 fieldssourcesminItems: 1maxItems: 4messageCodestringRequired"chartAssistantInvalidMessages"messagestringerrorsarray of FieldErrorRequired7 fieldserrorsfieldstringRequired when parent is presentField path: errors[].fieldfieldValuestringRequired when parent is presentField path: errors[].fieldValueidentifierstringRequired when parent is presentField path: errors[].identifieridentifierValuestringRequired when parent is presentField path: errors[].identifierValuemessageCodestringRequired when parent is presentField path: errors[].messageCodemessagestringField path: errors[].messageerrorTypestringRequired when parent is presentField path: errors[].errorTypeunauthorized
This response has no body.
aiNotAvailableForResidency
messageCodestringRequired"aiNotAvailableForResidency"messagestringerrorsarray of FieldErrorRequired7 fieldserrorsfieldstringRequired when parent is presentField path: errors[].fieldfieldValuestringRequired when parent is presentField path: errors[].fieldValueidentifierstringRequired when parent is presentField path: errors[].identifieridentifierValuestringRequired when parent is presentField path: errors[].identifierValuemessageCodestringRequired when parent is presentField path: errors[].messageCodemessagestringField path: errors[].messageerrorTypestringRequired when parent is presentinternalServerError
messageCodestringRequiredmessagestringerrorsarray of FieldErrorRequired7 fieldserrorsfieldstringRequired when parent is presentField path: errors[].fieldfieldValuestringRequired when parent is presentField path: errors[].fieldValueidentifierstringRequired when parent is presentField path: errors[].identifieridentifierValuestringRequired when parent is presentField path: errors[].identifierValuemessageCodestringRequired when parent is presentField path: errors[].messageCodemessagestringField path: errors[].messageerrorTypestringRequired when parent is present{
"messageCode": "string",
"message": "string",
"errors": [
{}
]
}aiProviderNotConfigured
messageCodestringRequired"aiProviderNotConfigured"messagestringerrorsarray of FieldErrorRequired7 fieldserrorsfieldstringRequired when parent is presentField path: errors[].fieldfieldValuestringRequired when parent is presentField path: errors[].fieldValueidentifierstringRequired when parent is presentField path: errors[].identifieridentifierValuestringRequired when parent is presentField path: errors[].identifierValuemessageCodestringRequired when parent is presentField path: errors[].messageCodemessagestringField path: errors[].messageerrorTypestringRequired when parent is presentidstringRequired when parent is presentField path: sources[].idmaxLength: 40pattern: /^[a-z0-9_]+$/toolstringRequired when parent is presentField path: sources[].toolmaxLength: 100pattern: /^[a-z0-9_]+$/argsobject with any valuesOptionalField path: sources[].argspayloadsarray of ChartSourcePayloadDtoRequired2 fieldspayloadsidstringRequired when parent is presentField path: payloads[].idpayloadobject with any valuesRequired when parent is presentField path: payloads[].payload{
"payloads": [
{
"payload": {}
}
]
}chartAssistantUnknownTool, chartAssistantInvalidToolArguments
messageCodestringRequired"chartAssistantUnknownTool", "chartAssistantInvalidToolArguments"messagestringunauthorized
This response has no body.
chartAssistantToolForbidden
messageCodestringRequired"chartAssistantToolForbidden"messagestringchartAssistantToolFailed
messageCodestringRequired"chartAssistantToolFailed"messagestringinternalServerError
Same fields as Ask the chart assistant for a graph (500).
{
"messageCode": "string",
"message": "string",
"errors": [
{}
]
}curlcurl https://api.subrite.no/api/v1/chart-assistant/run \
--request POST \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"sources": [
{
"args": {}
}
]
}'errorsarray of FieldErrorRequired7 fieldserrorsfieldstringRequired when parent is presentField path: errors[].fieldfieldValuestringRequired when parent is presentField path: errors[].fieldValueidentifierstringRequired when parent is presentField path: errors[].identifieridentifierValuestringRequired when parent is presentField path: errors[].identifierValuemessageCodestringRequired when parent is presentField path: errors[].messageCodemessagestringField path: errors[].messageerrorTypestringRequired when parent is presentField path: errors[].errorType{
"messageCode": "chartAssistantUnknownTool",
"message": "string",
"errors": [
{}
]
}errorsarray of FieldErrorRequirederrorsfieldstringRequired when parent is presentField path: errors[].fieldfieldValuestringRequired when parent is presentField path: errors[].fieldValueidentifierstringRequired when parent is presentField path: errors[].identifieridentifierValuestringRequired when parent is presentField path: errors[].identifierValuemessageCodestringRequired when parent is presentField path: errors[].messageCodemessagestringField path: errors[].messageerrorTypestringRequired when parent is presentField path: errors[].errorType{
"messageCode": "chartAssistantToolForbidden",
"message": "string",
"errors": [
{}
]
}errorsarray of FieldErrorRequirederrorsfieldstringRequired when parent is presentField path: errors[].fieldfieldValuestringRequired when parent is presentField path: errors[].fieldValueidentifierstringRequired when parent is presentField path: errors[].identifieridentifierValuestringRequired when parent is presentField path: errors[].identifierValuemessageCodestringRequired when parent is presentField path: errors[].messageCodemessagestringField path: errors[].messageerrorTypestringRequired when parent is presentField path: errors[].errorType{
"messageCode": "chartAssistantToolFailed",
"message": "string",
"errors": [
{}
]
}