Get report conversation
/report-conversations/{reportConversationId}curl -X GET https://api.tst.au.apgpay.dev/report-conversations/{reportConversationId} \
-H "Authorization: Bearer $API_KEY"Return one of the caller's conversations with its messages, in order, to reopen it.
Permissions
reports:queryRequires the `query` action on `reports` for the supplied runtime context
Path parameters
reportConversationIdstringResponses
reportConversationIdRconvIdrequiredIdentifier of one of the caller's conversations with Ask.
Example rconv_9f2Kd8QpLzXw
titlestringrequiredcreatedAtstring (date-time)requiredExample 2026-08-19T04:21:07Z
lastActiveAtstring (date-time)requiredExample 2026-08-19T04:21:07Z
Its messages in order, [] when it has none.
reportConversationMessageIdRconvMessageIdrequiredIdentifier of a message in a conversation with Ask.
Example rcmsg_9f2Kd8QpLzXw
indexinteger (int32)requiredIts position in the conversation, from 0.
Example 1250
statusRconvMessageStatusrequiredAnswering while it is answered, then Answered or Failed.
AnsweringAnsweredFailedUnknownpromptstringrequiredWhat the person wrote.
How it was answered. Absent unless it was.
typeWords alone, for a message that needs no figures.
textstringrequiredWhat the model wrote.
A question back to the person, with up to four suggested replies.
textstringrequiredThe question.
suggestionsarray of stringrequiredUp to four replies the person can pick, [] when there are none.
A proposal and what it shows. The proposal is a single Ask's proposal event: questions to ask, a chart drawing one, or a dashboard. Its figures come from asking its questions, never from the text.
textstringrequiredWhat the model wrote with it.
Questions to ask, a chart drawing one, or a dashboard laid out from several, which nothing saves. Its figures come from asking its questions.
kindRaskProposalKindrequiredquestionschartdashboardEach written as a saved chart's question is, so it opens in the editor as one.
typeenumrequiredRqryCmdRunreportDatasetIdstringrequiredmeasuresarray of stringWhat to add up, by name from the dataset's measures.
dimensionsarray of stringWhat to group by, by name from the dataset's dimensions.
Bucket by time. Absent for a total over all time.
typeenumrequiredRqryTimeSliceAttributesgrainstringrequiredA grain the dataset offers, by name.
typeFrom one date to another, both inclusive, in the question's timezone.
fromstring (date)requiredExample 2026-08-19
tostring (date)requiredExample 2026-08-19
The current period of grain so far.
grainstringrequiredThe last count whole periods of grain before the current one, ending where it starts.
countinteger (int32)requiredExample 42
grainstringrequiredFrom startsAt up to but not including endsAt, exactly: the first and last buckets are cut at the period's ends rather than widened to whole buckets, so a statement cycle that starts at 16:00 starts there. Buckets are still local time in the question's timezone.
periodstringA period the dataset declares in its periods, such as a statement cycle, or absent for bounds the caller names alone.
startsAtstring (date-time)requiredExample 2026-08-19T04:21:07Z
endsAtstring (date-time)requiredExample 2026-08-19T04:21:07Z
The whole period of grain before the current one.
grainstringrequiredcompareRqryComparisonAlso answer for an earlier range, adding a previous column for each measure, and a change column for each but a date.
PreviousPeriodSamePeriodLastYearPreviousBucketUnknownEvery filter must hold. A value is written as text whatever the dimension's kind: 12.50, 2026-09-01.
typeKeeps every row whose value is above this one. Only a dimension whose operators lists Above takes it; a row with no value is not kept.
dimensionstringrequiredvaluestringrequireddimensionstringrequiredKeeps every row whose value is this one or above. Only a dimension whose operators lists AtLeast takes it; a row with no value is not kept.
dimensionstringrequiredvaluestringrequiredKeeps every row whose value is this one or below. Only a dimension whose operators lists AtMost takes it; a row with no value is not kept.
dimensionstringrequiredvaluestringrequiredKeeps every row whose value is below this one. Only a dimension whose operators lists Below takes it; a row with no value is not kept.
dimensionstringrequiredvaluestringrequiredBoth ends inclusive.
dimensionstringrequiredfromstringrequiredtostringrequiredKeeps every row whose value holds this text, ignoring case. Only a dimension whose matchesText is true may be searched, and a search of a column needs a time slice to bound the rows it tests.
dimensionstringrequiredtextstringrequireddimensionstringrequiredvaluestringrequireddimensionstringrequiredvaluesarray of stringKeeps every row whose value is not this one, including a row with no value.
dimensionstringrequiredvaluestringrequiredKeeps every row whose value is none of these, including a row with no value.
dimensionstringrequiredvaluesarray of stringtypedimensionstringrequiredascendingbooleanrequiredExample true
Orders by the measure. A money measure in several currencies, the question grouping by its currency, is ordered by currency first and by amount within each currency, since amounts in different currencies are no one scale.
measurestringrequiredascendingbooleanrequiredExample true
ascendingbooleanrequiredExample true
limitinteger (int32)At most this many rows.
Example 25
pagestringnext from the previous answer, to continue the same row-mode question. It is opaque and forward only, and a question changed in anything but limit refuses it with 400.
segmentsarray of stringNamed filters from the dataset's segments, applied as well as filters.
Every one must hold of a group for it to be kept, tested after grouping. Each names one of measures; a value is a decimal written as text. Absent for none.
typemeasurestringrequiredvaluestringrequiredmeasurestringrequiredvaluestringrequiredmeasurestringrequiredvaluestringrequiredmeasurestringrequiredvaluestringrequiredmeasurestringrequiredvaluestringrequiredKeep only the values of one dimension with the most of a measure, and fold the rest into an Others row.
typeenumrequiredRqryTopAttributesdimensionstringrequiredOne of the question's dimensions, whose values are ranked.
countinteger (int32)requiredHow many values to keep, from 1 to 100, within each combination of the other dimensions.
Example 42
measurestringrequiredOne of the question's measures, largest first, summed over the whole range.
Ask as tenants beneath the caller, as a marketplace views a report as some of its merchants. Every tenant must be one the caller may read, and the answer stays within the caller's own tenants. Absent to ask as the caller.
typeOnly these customers.
customerIdsarray of CustIdrequiredExample cust_9f2Kd8QpLzXw
Only these enterprises.
enterpriseIdsarray of EntIdrequiredExample ent_9f2Kd8QpLzXw
Only these marketplaces.
marketplaceIdsarray of MktpIdrequiredExample mktp_9f2Kd8QpLzXw
Only these merchants.
merchantIdsarray of MchtIdrequiredExample mcht_9f2Kd8QpLzXw
asAtstring (date-time)Read each balance as at this instant: its latest snapshot before it, and every earlier one for a highest or lowest. Only balance measures have a value at an instant, and the question takes no time. Absent for all time.
Example 2026-08-19T04:21:07Z
Lay the answer out as a grid: rows and columns each name some of dimensions, together each of them once. The answer stays one row per cell of the grid, each row saying its level, with a total and, with subtotals, a subtotal per leading row dimension. Absent for none.
typeenumrequiredRqryPivotAttributesrowsarray of stringThe dimensions down the side, outermost first. The time bucket, when there is one, is always the first row key.
columnsarray of stringThe dimensions across the top. Each must have few values: together at most 50.
subtotalsbooleanrequiredAlso answer a subtotal for each leading prefix of rows. The grand total is always answered.
Example true
timezonestringThe timezone the question is answered in, an IANA name such as Australia/Perth or an offset such as +10:00, which keeps no daylight saving: where its buckets start, how its dates, periods and relative ranges are read, and which local day or hour a date part names. Absent for the asker's own, which the dataset's timezone gives: the timezone every active merchant the asker reads keeps, or the dataset's where they keep several.
For a chart proposal: the chart. Absent otherwise.
titlestringrequiredA short title a person would give the chart.
chartTypeRaskChartTyperequiredautolineareacolumnbarstackednumbertablepieFor a dashboard proposal: the dashboard. Absent otherwise.
titlestringrequiredA short title a person would give the dashboard.
Its tiles, one per question.
A chart a proposal draws.
titlestringrequiredA short title a person would give the chart.
chartTypeRaskChartTyperequiredautolineareacolumnbarstackednumbertablepiexinteger (int32)requiredIts left column, from 0.
Example 1250
yinteger (int32)requiredIts top row, from 0.
Example 1250
winteger (int32)requiredIts width in columns, 1 to 24.
Example 1250
hinteger (int32)requiredIts height in rows.
Example 1250
explanationstringrequiredOne or two sentences for the person: what the proposal shows, and what it read to answer it.
failurestringWhy it ended without an answer. Absent unless it failed.
What answering a message spent.
inputTokensinteger (int64)requiredTokens the model read.
Example 1250
outputTokensinteger (int64)requiredTokens the model wrote.
Example 1250
createdAtstring (date-time)requiredWhen it was sent.
Example 2026-08-19T04:21:07Z
endedAtstring (date-time)When it was answered or failed. Absent while it is answered.
Example 2026-08-19T04:21:07Z
{
"reportConversationId": "rconv_9f2Kd8QpLzXw",
"title": "string",
"createdAt": "2026-08-19T04:21:07Z",
"lastActiveAt": "2026-08-19T04:21:07Z",
"messages": [
{
"reportConversationMessageId": "rcmsg_9f2Kd8QpLzXw",
"index": 1250,
"status": "Answering",
"prompt": "string",
"reply": {
"type": "RconvReplyAnswer",
"text": "string"
},
"failure": "string",
"usage": {
"inputTokens": 1250,
"outputTokens": 1250
},
"createdAt": "2026-08-19T04:21:07Z",
"endedAt": "2026-08-19T04:21:07Z"
}
]
}Error responses
statusCodeinteger (int32)requiredHTTP status code for this error
errorCodestringrequiredAn APG Pay code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type.
messagestringrequiredHuman readable description of the error
tracerstringAn unique identifier for the request. Provide this to the support team if you wish to query a particular error.
detailstringOptional additional details for the error.
errorTypeDescriptionstringA description of the category of errors for the given statusCode.
metadataobjectOptional key value list of metadata
{
"statusCode": 100,
"errorCode": "string",
"message": "string",
"tracer": "string",
"detail": "string",
"errorTypeDescription": "string"
}statusCodeinteger (int32)requiredHTTP status code for this error
errorCodestringrequiredAn APG Pay code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type.
messagestringrequiredHuman readable description of the error
tracerstringAn unique identifier for the request. Provide this to the support team if you wish to query a particular error.
detailstringOptional additional details for the error.
errorTypeDescriptionstringA description of the category of errors for the given statusCode.
metadataobjectOptional key value list of metadata
{
"statusCode": 100,
"errorCode": "string",
"message": "string",
"tracer": "string",
"detail": "string",
"errorTypeDescription": "string"
}statusCodeinteger (int32)requiredHTTP status code for this error
errorCodestringrequiredAn APG Pay code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type.
messagestringrequiredHuman readable description of the error
tracerstringAn unique identifier for the request. Provide this to the support team if you wish to query a particular error.
detailstringOptional additional details for the error.
errorTypeDescriptionstringA description of the category of errors for the given statusCode.
metadataobjectOptional key value list of metadata
{
"statusCode": 100,
"errorCode": "string",
"message": "string",
"tracer": "string",
"detail": "string",
"errorTypeDescription": "string"
}statusCodeinteger (int32)requiredHTTP status code for this error
errorCodestringrequiredAn APG Pay code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type.
messagestringrequiredHuman readable description of the error
tracerstringAn unique identifier for the request. Provide this to the support team if you wish to query a particular error.
detailstringOptional additional details for the error.
errorTypeDescriptionstringA description of the category of errors for the given statusCode.
metadataobjectOptional key value list of metadata
{
"statusCode": 100,
"errorCode": "string",
"message": "string",
"tracer": "string",
"detail": "string",
"errorTypeDescription": "string"
}statusCodeinteger (int32)requiredHTTP status code for this error
errorCodestringrequiredAn APG Pay code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type.
messagestringrequiredHuman readable description of the error
tracerstringAn unique identifier for the request. Provide this to the support team if you wish to query a particular error.
detailstringOptional additional details for the error.
errorTypeDescriptionstringA description of the category of errors for the given statusCode.
metadataobjectOptional key value list of metadata
{
"statusCode": 100,
"errorCode": "string",
"message": "string",
"tracer": "string",
"detail": "string",
"errorTypeDescription": "string"
}statusCodeinteger (int32)requiredHTTP status code for this error
errorCodestringrequiredAn APG Pay code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type.
messagestringrequiredHuman readable description of the error
tracerstringAn unique identifier for the request. Provide this to the support team if you wish to query a particular error.
detailstringOptional additional details for the error.
errorTypeDescriptionstringA description of the category of errors for the given statusCode.
metadataobjectOptional key value list of metadata
{
"statusCode": 100,
"errorCode": "string",
"message": "string",
"tracer": "string",
"detail": "string",
"errorTypeDescription": "string"
}statusCodeinteger (int32)requiredHTTP status code for this error
errorCodestringrequiredAn APG Pay code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type.
messagestringrequiredHuman readable description of the error
tracerstringAn unique identifier for the request. Provide this to the support team if you wish to query a particular error.
detailstringOptional additional details for the error.
errorTypeDescriptionstringA description of the category of errors for the given statusCode.
metadataobjectOptional key value list of metadata
{
"statusCode": 100,
"errorCode": "string",
"message": "string",
"tracer": "string",
"detail": "string",
"errorTypeDescription": "string"
}statusCodeinteger (int32)requiredHTTP status code for this error
errorCodestringrequiredAn APG Pay code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type.
messagestringrequiredHuman readable description of the error
tracerstringAn unique identifier for the request. Provide this to the support team if you wish to query a particular error.
detailstringOptional additional details for the error.
errorTypeDescriptionstringA description of the category of errors for the given statusCode.
metadataobjectOptional key value list of metadata
{
"statusCode": 100,
"errorCode": "string",
"message": "string",
"tracer": "string",
"detail": "string",
"errorTypeDescription": "string"
}statusCodeinteger (int32)requiredHTTP status code for this error
errorCodestringrequiredAn APG Pay code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type.
messagestringrequiredHuman readable description of the error
tracerstringAn unique identifier for the request. Provide this to the support team if you wish to query a particular error.
detailstringOptional additional details for the error.
errorTypeDescriptionstringA description of the category of errors for the given statusCode.
metadataobjectOptional key value list of metadata
{
"statusCode": 100,
"errorCode": "string",
"message": "string",
"tracer": "string",
"detail": "string",
"errorTypeDescription": "string"
}statusCodeinteger (int32)requiredHTTP status code for this error
errorCodestringrequiredAn APG Pay code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type.
messagestringrequiredHuman readable description of the error
tracerstringAn unique identifier for the request. Provide this to the support team if you wish to query a particular error.
detailstringOptional additional details for the error.
errorTypeDescriptionstringA description of the category of errors for the given statusCode.
metadataobjectOptional key value list of metadata
{
"statusCode": 100,
"errorCode": "string",
"message": "string",
"tracer": "string",
"detail": "string",
"errorTypeDescription": "string"
}statusCodeinteger (int32)requiredHTTP status code for this error
errorCodestringrequiredAn APG Pay code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type.
messagestringrequiredHuman readable description of the error
tracerstringAn unique identifier for the request. Provide this to the support team if you wish to query a particular error.
detailstringOptional additional details for the error.
errorTypeDescriptionstringA description of the category of errors for the given statusCode.
metadataobjectOptional key value list of metadata
{
"statusCode": 100,
"errorCode": "string",
"message": "string",
"tracer": "string",
"detail": "string",
"errorTypeDescription": "string"
}statusCodeinteger (int32)requiredHTTP status code for this error
errorCodestringrequiredAn APG Pay code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type.
messagestringrequiredHuman readable description of the error
tracerstringAn unique identifier for the request. Provide this to the support team if you wish to query a particular error.
detailstringOptional additional details for the error.
errorTypeDescriptionstringA description of the category of errors for the given statusCode.
metadataobjectOptional key value list of metadata
{
"statusCode": 100,
"errorCode": "string",
"message": "string",
"tracer": "string",
"detail": "string",
"errorTypeDescription": "string"
}