Skip to main content

Search

Searching allows for looking up profiles under the same bank network (e.g. USDF) and optionally filtering to your program. Accounts are only shown that is in the OPEN status.

The following fields for a profile can be used for searching.

  • Name
  • Username
  • Email
  • Phone number

In order for a profile to be searchable, it must first consent to be searched. This can be done by executing a PUT to update the profile's consent.

PUT /profiles/:profile_id/consents/:consent_id

{
"has_consented": true
}

Response:

{
"id": "12a5c58f-125d-4284-9d60-b5fe09c358f9",
"consent_type": "SEARCH",
"has_consented": true,
"program_consent_definition_id": null,
"document_id": null,
"created_dt": "2022-05-12T20:44:52.702822Z",
"updated_dt": "2022-05-12T21:23:04.538479Z"
}

The consent_id can be found by querying the consents associated with the profile and finding the "SEARCH" consent_type.

GET /profiles/:profile_id/consents

Response:

{
"consents": [
{
"id": "12a5c58f-125d-4284-9d60-b5fe09c358f9",
"consent_type": "SEARCH",
"has_consented": false,
"program_consent_definition_id": null,
"document_id": null,
"created_dt": "2022-08-05T11:01:56.421139-07:00",
"updated_dt": "2022-08-05T11:01:56.421139-07:00"
}
]
}

Search by querying

The GET endpoint can be used for search as you type. The query parameter search must be provided and can include any search term. You may restrict the search to just your program by setting the query parameter self to true.

GET /search/profiles?search=John

Response:

{
"profiles": [
{
"id": "a151dd2e-0d90-4ef6-bf08-eae35dd2f7bd",
"username": "jdoe-123",
"full_name": "John Doe",
"phone_number": "1234567890",
"email": "jdoe@jdoe.com",
"program_name": "test-program",
"network": "usdf",
"program_id": "bcc3e4bc-6de3-4ee1-a216-7433786092bc",
"accounts": [
{
"id": "5bb82488-6761-4cfc-bb93-5473885ead19",
"blockchain_address": "tp258ldkgj0345830rjifjaoiu205982jlsaiwspo",
"account_name": "test-account"
}
]
}
],
"count": 1,
"offset": 0,
"limit": 20
}

Search by multiple profiles

Multiple profiles can be search at once by executing a POST and supplying an email or phone_number field.

POST /search/profiles

{
"contacts": [
{
"email": "jdoe@jdoe.com",
"phone_number": "1234567890"
}
]
}

Response:

{
"profiles": [
{
"id": "a151dd2e-0d90-4ef6-bf08-eae35dd2f7bd",
"username": "jdoe-123",
"full_name": "John Doe",
"phone_number": "1234567890",
"email": "jdoe@jdoe.com",
"program_name": "test-program",
"network": "usdf",
"program_id": "bcc3e4bc-6de3-4ee1-a216-7433786092bc",
"accounts": [
{
"id": "5bb82488-6761-4cfc-bb93-5473885ead19",
"blockchain_address": "tp258ldkgj0345830rjifjaoiu205982jlsaiwspo",
"account_name": "test-account"
}
]
}
],
"count": 1,
"offset": 0,
"limit": 20
}