List service accounts
Sorts by name (default), role, status, created_at and updated_at; q searches names. Filters, each repeatable: role (none for an account without one), status, created_by and updated_by (usr_… or sa_…), plus the created and updated time ranges; facets count each of them.
Query parameters
rolestring[]statusstring[]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
objectstringlistdataServiceAccount[]10 fields
idstringobjectstringservice_accountmax_data_classstringOne ofpublicinternalpiisensitivephinamestringrolestring or nullOne ofadminbuilderoperatorviewerstatusstringOne ofactivedisabledcreated_atstring or nullcreated_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_atstring or nullupdated_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/service_accounts?limit=20" \
-H "Authorization: Bearer $MDA_API_KEY"{
"object": "list",
"data": [
{
"id": "sa_01jcc0xyvpwprm791eysn305pn",
"object": "service_account",
"created_at": "2026-11-10T09:30:00.000Z",
"created_by": {
"kind": "user",
"id": "usr_01jcf1j9wjxfrnhqda3mq7ejxn",
"name": "Ada Lovelace",
"email": "ada@example.com"
},
"max_data_class": "public",
"name": "Support triage",
"role": "admin",
"status": "active",
"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
}