curl --request GET \
--url https://api.entendre.finance/v1/sources \
--header 'X-API-Key: <api-key>'const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.entendre.finance/v1/sources', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.entendre.finance/v1/sources"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": [
{
"id": "src_507f1f77bcf86cd799439011",
"source_type": "wallet",
"organization_id": null,
"legal_entity_id": null,
"name": "Treasury wallet",
"status": "active",
"created_at": null,
"updated_at": null,
"detail": {
"address": "0x0000000000000000000000000000000000000001",
"chain": "eth",
"has_credentials": false,
"ledger_account_id": null
}
}
],
"has_more": false,
"next_cursor": null
}{
"error": {
"code": "VALIDATION_ERROR",
"message": "Invalid path, query or request body.",
"request_id": "req_example"
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "Authentication is required.",
"request_id": "req_example"
}
}{
"error": {
"code": "FORBIDDEN",
"message": "Insufficient access to organization",
"request_id": "req_example"
}
}{
"error": {
"code": "RESOURCE_NOT_FOUND",
"message": "Resource not found",
"request_id": "req_example"
}
}{
"error": {
"code": "RATE_LIMITED",
"message": "Rate limit exceeded. Retry after 30s.",
"request_id": "req_example"
}
}{
"error": {
"code": "INTERNAL_ERROR",
"message": "Internal server error",
"request_id": "req_example"
}
}{
"error": {
"code": "SERVICE_UNAVAILABLE",
"message": "Service unavailable.",
"request_id": "req_example"
}
}List sources
Lists sources across the supported providers.
curl --request GET \
--url https://api.entendre.finance/v1/sources \
--header 'X-API-Key: <api-key>'const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.entendre.finance/v1/sources', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.entendre.finance/v1/sources"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": [
{
"id": "src_507f1f77bcf86cd799439011",
"source_type": "wallet",
"organization_id": null,
"legal_entity_id": null,
"name": "Treasury wallet",
"status": "active",
"created_at": null,
"updated_at": null,
"detail": {
"address": "0x0000000000000000000000000000000000000001",
"chain": "eth",
"has_credentials": false,
"ledger_account_id": null
}
}
],
"has_more": false,
"next_cursor": null
}{
"error": {
"code": "VALIDATION_ERROR",
"message": "Invalid path, query or request body.",
"request_id": "req_example"
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "Authentication is required.",
"request_id": "req_example"
}
}{
"error": {
"code": "FORBIDDEN",
"message": "Insufficient access to organization",
"request_id": "req_example"
}
}{
"error": {
"code": "RESOURCE_NOT_FOUND",
"message": "Resource not found",
"request_id": "req_example"
}
}{
"error": {
"code": "RATE_LIMITED",
"message": "Rate limit exceeded. Retry after 30s.",
"request_id": "req_example"
}
}{
"error": {
"code": "INTERNAL_ERROR",
"message": "Internal server error",
"request_id": "req_example"
}
}{
"error": {
"code": "SERVICE_UNAVAILABLE",
"message": "Service unavailable.",
"request_id": "req_example"
}
}Authorizations
Your organization API key. Some operations also need a key that is associated with a user; their pages say so.
Query Parameters
Filter by one or more legal entity IDs. Omit to include all authorized entities. An empty list is invalid.
Filter by one or more source types. Repeat the parameter or send a comma-separated list.
exchange, staking, niural, raincard, ramp_card, ramp_bank_account, manual_bank, wallet, plaid_account Filter by provider labels. A provider with no matching source type returns an empty page.
IDs to return, separated by commas. The other filters also apply.
Wallet addresses, up to 100. Matching ignores case. Returns wallets only.
Include the total number of matching records. If the count cannot be calculated, the request fails.
Prefixed tag_ ids. Supported by wallets and exchange sources; a type that cannot filter on tags is excluded from the results when this is set.
Any of these lifecycle statuses. Source types without a lifecycle status are excluded when this filter is set.
active, archived, pending_setup Chain identifiers (such as eth). This filter returns wallets only. Other source types are excluded.
Wallet types, lowercase. Supported by wallets and Niural sources; every other type is excluded from the results when this is set.
internal, external Maximum number of records to return.
1 <= x <= 100The next_cursor value from the previous page. Keep the other filters unchanged.
Case-insensitive search in labels and descriptions.
Filter by one source type.
exchange, staking, niural, raincard, ramp_card, ramp_bank_account, manual_bank, wallet, plaid_account Source group ID (sgp_…), or null for sources in no group. Staking sources cannot be in a group.
Related records to include. group adds the source group of each source (null when it has none) and needs the read:source-groups scope.
group Response
The matching records.
The records.
Show child attributes
Show child attributes
Whether another page is available.
Cursor for the next page, or null on the last page.
Total matching records across all pages. Present when include_count=true.
x >= 0