List participants
List your participants, newest first. Returns an empty list when none exist.
Pagination is cursor-based. Omit cursor to fetch the first page; use
nextCursor from each response to fetch the next page.
Auth: API key or bearer token. Scoped to the calling provider.
curl -X GET https://api.moov.money/providers/{providerID}/participants \
-u "$MOOV_API_KEY_ID:$MOOV_API_KEY_SECRET" \
-H "X-Moov-Version: v2026.10.00"{
"participants": [
{
"address": {
"addressLine1": "123 Main St",
"addressLine2": "Apt 4B",
"city": "San Francisco",
"country": "US",
"postalCode": "94105",
"stateOrProvince": "CA"
},
"createdOn": "2026-08-31T12:00:00Z",
"emails": [
{
"createdOn": "2026-08-31T12:00:00Z",
"email": "[email protected]"
}
],
"externalID": "customer-abc-123",
"familyName": "Smith",
"givenName": "Jane",
"hasLimitOverride": true,
"limitGroups": [
{
"groupID": "grp_01HF5J9ZKQT4RXP8M2VYBN3D",
"name": "Premium"
}
],
"moovAccountID": "acc_01HF5J9ZKQT4RXP8M2VYBN3D",
"participantID": "3v2whagmwvbujhwbt7v3nl6ffq_user",
"phones": [
{
"createdOn": "2026-08-31T12:00:00Z",
"phone": {
"countryCode": "1",
"number": "5555550101"
}
}
],
"relationship": {
"suspended": false,
"versionID": "relationship-v3"
},
"status": "active",
"updatedOn": "2026-08-31T12:00:00Z"
}
]
}Response body application/problem+json
application/problem+json.
From v2026.10.00, every error response that has a body uses this schema.type
string
requiredhttps://api.moov.money/errors#<code> (for
example invalid-request, idempotency-key-reused, or
idempotency-request-in-progress). Treat the value as
an opaque constant and do not fetch it. about:blank means the HTTP
status code says everything there is to know.title
string
requiredstatus
integer<int32>
requireddetail
stringinstance
stringerrors
array<object>Show child attributes
errors[]
pointer
string
requireddetail
string
requiredResponse body application/problem+json
application/problem+json.
From v2026.10.00, every error response that has a body uses this schema.type
string
requiredhttps://api.moov.money/errors#<code> (for
example invalid-request, idempotency-key-reused, or
idempotency-request-in-progress). Treat the value as
an opaque constant and do not fetch it. about:blank means the HTTP
status code says everything there is to know.title
string
requiredstatus
integer<int32>
requireddetail
stringinstance
stringerrors
array<object>Show child attributes
errors[]
pointer
string
requireddetail
string
requiredHeaders
X-Moov-Version
stringv2026.10.00). When omitted, the server applies its default version.Path parameters
providerID
string
requiredQuery parameters
q
stringSearch text. Moov Money trims it, and the trimmed value is at most 100 characters. A participant matches when one of these is true:
- The value is a case-insensitive substring of their given, family, or full name.
- The value is a case-insensitive substring of one of their email addresses.
- The value is a phone fragment: only digits, spaces, and the
characters
+,(,),., and-, with at least three digits. Its digits are a substring of their phone number. - The value ends with
_userand is their exactparticipantID. - The value does not end with
_userand is the exactexternalIDyou assigned.
Contacts that participants saved in Moov Money are never searched.
Returns a 422 problem of type invalid-request when the trimmed value
is longer than 100 characters, or when a phone fragment has fewer than
three digits.
Filters apply before pagination. A participant must match every filter
you send. Send the same filters with each cursor. A cursor sent with
different filters returns a 400 with error code invalid-cursor.
status
stringstatus, including pending,
denied, and disabled.active,
disabled,
pending,
deniedsuspended
booleantrue returns only participants you
suspended, false only participants you did not suspend.limitGroupID
stringcursor
stringnextCursor. Omit to fetch the first page.limit
integer
<int32>Response
participants
array<object>
requiredShow child attributes
participants[]
participantID
string
requiredexternalID
string
requiredgivenName
string
requiredmiddleName
stringfamilyName
string
requirednickName
stringBob for Robert.dateOfBirth
string<date>YYYY-MM-DD. Omitted when not provided at creation.address
objectShow child attributes
participants[].address
addressLine1
string
requiredaddressLine2
stringcity
string
requiredstateOrProvince
string
requiredpostalCode
string
requiredcountry
string
requiredmoovAccountID
stringstatus
string<enum>
requiredactive,
disabled,
pending,
deniedrelationship
object
requiredstatus: reactivating the
relationship does not change a disabled or denied status.Show child attributes
participants[].relationship
suspended
boolean
requiredversionID
string
requiredexpectedVersionID
on your next suspension or reactivation. It is not a relationship ID.phones
array<object>
requiredShow child attributes
participants[].phones[]
phone
object
requiredShow child attributes
participants[].phones[].phone
countryCode
string
requirednumber
string
requiredcreatedOn
string<date-time>
requiredverifiedOn
string<date-time>disabledOn
string<date-time>emails
array<object>
requiredShow child attributes
participants[].emails[]
string
requiredcreatedOn
string<date-time>
requiredverifiedOn
string<date-time>disabledOn
string<date-time>limitGroups
array<object>Show child attributes
participants[].limitGroups[]
groupID
string
requiredname
string
requiredhasLimitOverride
boolean
requiredcreatedOn
string<date-time>
requiredupdatedOn
string<date-time>
requireddisabledOn
string<date-time>nextCursor
stringhasMore
boolean
required