Search and page workspace run history
curl --request GET \
--url https://code.deepline.com/api/v2/dashboard/runs-history \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://code.deepline.com/api/v2/dashboard/runs-history', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://code.deepline.com/api/v2/dashboard/runs-history"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"runs": [
{
"runId": "<string>",
"workflowId": "<string>",
"workflowName": "<string>",
"status": "<string>",
"createdAt": 123,
"updatedAt": 123,
"playScope": "<string>",
"callerName": "<string>",
"callerEmail": "<string>",
"authorName": "<string>",
"authorEmail": "<string>",
"callerAgent": "<string>",
"executionMode": "<string>",
"bindingId": "<string>",
"parentWorkflowName": "<string>",
"outputRowCount": 123,
"hasOutput": true,
"billingTotalCredits": 123,
"triggerSource": "<string>"
}
],
"nextCursor": "<string>",
"hasMore": true,
"avatarsByName": {}
}{
"error": "Unauthorized"
}{
"error": "Unauthorized"
}{
"error": "Unauthorized"
}{
"error": "Unauthorized"
}Plays and runs
Search and page workspace run history
Returns runs newest first. Search matches Play/workflow names, run IDs and statuses. Follow nextCursor while hasMore is true, including pages with no matching runs; only a completed search establishes that no matches exist.
GET
/
api
/
v2
/
dashboard
/
runs-history
Search and page workspace run history
curl --request GET \
--url https://code.deepline.com/api/v2/dashboard/runs-history \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://code.deepline.com/api/v2/dashboard/runs-history', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://code.deepline.com/api/v2/dashboard/runs-history"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"runs": [
{
"runId": "<string>",
"workflowId": "<string>",
"workflowName": "<string>",
"status": "<string>",
"createdAt": 123,
"updatedAt": 123,
"playScope": "<string>",
"callerName": "<string>",
"callerEmail": "<string>",
"authorName": "<string>",
"authorEmail": "<string>",
"callerAgent": "<string>",
"executionMode": "<string>",
"bindingId": "<string>",
"parentWorkflowName": "<string>",
"outputRowCount": 123,
"hasOutput": true,
"billingTotalCredits": 123,
"triggerSource": "<string>"
}
],
"nextCursor": "<string>",
"hasMore": true,
"avatarsByName": {}
}{
"error": "Unauthorized"
}{
"error": "Unauthorized"
}{
"error": "Unauthorized"
}{
"error": "Unauthorized"
}Authentication: workspace API key in
Authorization: Bearer <key>.
Errors
| Status | Meaning |
|---|---|
| 400 | The request conflicts with current state or a retained request identity. |
| 401 | The request conflicts with current state or a retained request identity. |
| 403 | The request conflicts with current state or a retained request identity. |
| 500 | The request conflicts with current state or a retained request identity. |
Authorizations
Create a workspace API key in the Deepline dashboard before calling authenticated endpoints.
Query Parameters
Case-insensitive substring, at most 200 characters.
Maximum string length:
200Opaque continuation bound to the same workspace and search.
Search all, Play or Monitor runs by recorded trigger metadata; requires search.
Available options:
all, plays, monitors Maximum indexed history entries examined in this page.
Required range:
1 <= x <= 30