Get SQL execution details¶
View the complete information for one SQL execution record to confirm its statement text, execution status, duration, and error information. By default, the API returns only records run by the current identity. With the required permission, it can return records for the entire workspace.
POST https://moi.matrixorigin.cn/newmoi/query/detail
Preparation before calling¶
Prepare a personal access token with access to the current workspace and the current workspace ID. First list SQL execution records, select the record to analyze, and note its statement ID and execution time.
Request body¶
curl -X POST "https://moi.matrixorigin.cn/newmoi/query/detail" \
-H "X-API-Key: $AI_STUDIO_API_KEY" \
-H "X-Workspace-ID: $WORKSPACE_ID" \
-H 'Content-Type: application/json' \
-d '{
"statement_id": "'"$STATEMENT_ID"'",
"start": "2026-08-26 09:44:00",
"end": "2026-08-26 09:46:00"
}'
Parameter |
Type |
Required |
Description |
|---|---|---|---|
statement_id |
string |
Yes |
Statement ID of the selected SQL execution record. |
start |
string |
Yes |
Query start time in |
end |
string |
Yes |
Query end time in |
scope |
string |
No |
View records for the current identity or the current workspace. |
Read scope
|
Records returned |
Permission |
|---|---|---|
self |
Records for the current identity. |
Default scope. |
workspace |
Workspace-wide records. |
Requires workspace audit read permission. |
Specify a query time range
You must specify both the start and end times, and the range must include the selected record’s execution time. This API uses the date-and-time format YYYY-MM-DD HH:MM:SS without a time zone. The time displayed in the list includes a time zone, so convert it before entering it here. For example, if the list displays 2026-08-26T09:45:35Z, you can use the range from 2026-08-26 09:44:00 through 2026-08-26 09:46:00.
Use the selected execution record
Enter the selected record’s statement ID in the statement ID field, and use a time range that includes the record’s execution time for the start and end time fields.
Success response¶
On success, the API returns the matching SQL execution record. If no record matches the range, data is null; this does not mean that the SQL statement failed.
{
"code": "OK",
"msg": "OK",
"data": {
"statement_id": "5c6f22fb-ef0e-4f46-b06f-c31e1a7afb48",
"transaction_id": "txn-01",
"session_id": "session-01",
"account": "acc01",
"user": "analyst",
"host": "127.0.0.1",
"database": "analytics",
"statement": "SELECT 1 AS n",
"status": "Success",
"query_type": "DQL",
"statement_type": "Select",
"sql_source_type": "cloud_user_sql",
"request_at": "2026-08-26T09:45:35Z",
"response_at": "2026-08-26T09:45:36Z",
"duration": 1000000,
"result_count": 1
}
}
Field |
Type |
Description |
|---|---|---|
code |
string |
|
msg |
string |
|
data |
object |
Matching execution record; |
data.statement_id |
string |
Statement ID. |
data.transaction_id |
string |
Transaction ID. |
data.session_id |
string |
Session ID. |
data.account |
string |
Account used for execution. |
data.user |
string |
Executing user. |
data.host |
string |
Execution host. |
data.database |
string |
Database used for execution. |
data.statement |
string |
SQL statement text. |
data.statement_tag |
string |
Statement tag. |
data.statement_fingerprint |
string |
Statement fingerprint. |
data.node_uuid |
string |
Execution node UUID. |
data.node_type |
string |
Execution node type. |
data.request_at |
string |
Execution start time. |
data.response_at |
string |
Execution end time. |
data.duration |
unsigned integer |
Execution duration in nanoseconds. |
data.status |
string |
Execution status. |
data.error_code |
string |
Error code. |
data.error |
string |
Error message. |
data.exec_plan |
string |
Stored execution profile. |
data.rows_read |
unsigned integer |
Number of rows read. |
data.bytes_scan |
unsigned integer |
Number of bytes scanned. |
data.statement_type |
string |
Statement type. |
data.query_type |
string |
Statement category. |
data.role_id |
unsigned integer |
Execution role ID. |
data.sql_source_type |
string |
SQL source type. |
data.result_count |
integer |
Number of result rows. |
data.cu |
number |
Capacity usage. |
data.connection_id |
integer |
Database connection ID. |
Error response¶
{
"code": "ErrParamInvalid",
"msg": "Invalid request parameter",
"data": null
}
Field |
Type |
Description |
|---|---|---|
code |
string |
Error code. |
msg |
string |
Error message. |
data |
null |
— |
Next steps¶
To view the execution profile, use the same statement ID and time range to get the SQL execution profile. To run the SQL again, confirm the SQL text, target database, and current identity’s permissions, then execute SQL.