List workspaces
Sorts by name, slug, created_at (default, newest first) and updated_at; q searches names and slugs. Filters, each repeatable: is_default (true, false), created_by and updated_by (usr_… or sa_…), plus the created and updated time ranges; facets count each of them.
Query parameters
is_defaultstring[]created_bystring[]updated_bystring[]limitintegerRows per page, 1 to 200. Omitted: every row.
at least 1at most 200cursorstringqstringSearch: rows whose name (or the list's other searchable text) contains this, any case.
at most 200 charactersorderstringSort field; a leading
-sorts down. Each list names the fields it sorts by.at most 64 charactersmatches ^-?[a-z_]+$includestring[]total_count(counted up to 10,000) andfacets(a count per filter value).One oftotal_countfacetscreated_afterstringOnly rows created at or after this time (RFC 3339).
date-timecreated_beforestringOnly rows created at or before this time (RFC 3339).
date-timeupdated_afterstringOnly rows last changed at or after this time (RFC 3339).
date-timeupdated_beforestringOnly rows last changed at or before this time (RFC 3339).
date-time
Response200
objectstringlistdataWorkspace[]10 fields
idstringobjectstringworkspacecreated_atstringis_defaultbooleannamestringrow_versionintegerslugstringupdated_atstringcreated_byActorRef or nullWho created or last changed something, resolved to a name for display.
system,workload(an automation) andend_user(a widget visitor) have no ID or name: the console words them.nameis null for someone the directory no longer knows.idis what the lists'created_by/updated_byfilters take.avatar_versionis set for a person with a photo: it is atGET /v1/members/{id}/avatar?v=<avatar_version>while they are a member.5 fields
idstring or nullkindstringOne ofuserapi_keyservice_accountworkloadend_usersystemnamestring or nullavatar_versionstring or nullemailstring or null
updated_byActorRef or nullWho created or last changed something, resolved to a name for display.
system,workload(an automation) andend_user(a widget visitor) have no ID or name: the console words them.nameis null for someone the directory no longer knows.idis what the lists'created_by/updated_byfilters take.avatar_versionis set for a person with a photo: it is atGET /v1/members/{id}/avatar?v=<avatar_version>while they are a member.5 fields
idstring or nullkindstringOne ofuserapi_keyservice_accountworkloadend_usersystemnamestring or nullavatar_versionstring or nullemailstring or null
has_morebooleannext_cursorstring or nullfacetsmap<string, map<string, integer>> or nullpeoplemap<string, ActorRef> or null5 fields
idstring or nullkindstringOne ofuserapi_keyservice_accountworkloadend_usersystemnamestring or nullavatar_versionstring or nullemailstring or null
total_countinteger or nulltotal_count_exactboolean or null
Status codes
- 200Successful Response
- 422The request is not valid:
errors[]names each field. - 4XXThe request was refused: the problem says why.
- 5XXThe API could not answer: the problem says why.
curl "https://api.mydeepagents.com/v1/workspaces?limit=20" \
-H "Authorization: Bearer $MDA_API_KEY"{
"object": "list",
"data": [
{
"id": "ws_01jccj30nr8ad7mx1yc5v9zx3h",
"object": "workspace",
"created_at": "2026-11-10T09:30:00.000Z",
"created_by": {
"kind": "user",
"id": "usr_01jcf1j9wjxfrnhqda3mq7ejxn",
"name": "Ada Lovelace",
"email": "ada@example.com"
},
"is_default": true,
"name": "Support triage",
"row_version": 4,
"slug": "support-triage",
"updated_at": "2026-11-10T09:30:00.000Z",
"updated_by": {
"kind": "user",
"id": "usr_01jcf1j9wjxfrnhqda3mq7ejxn",
"name": "Ada Lovelace",
"email": "ada@example.com"
}
}
],
"has_more": false,
"next_cursor": null,
"total_count": 1
}