GET List Identity Sources
List your connected identity sources (e.g. 1Password vaults), optionally filtered by provider or status
https://api.anakin.io/v1/wire/identity-sourcesReturns the authenticated user's connected identity sources. An identity source is an external credential provider (e.g. a 1Password vault) that Wire reads secrets from when running authenticated actions.
The encrypted access token is never returned. Each source carries a status of pending, active, revoked, or expired.
To see which identities source their credentials from a connection, use GET /v1/wire/identity-sources/{id}/identities.
Query Parameters
Both parameters are optional and may be combined.
| Parameter | Type | Description |
|---|---|---|
provider | string | Filter by provider name, e.g. 1password |
status | string | Filter by status — one of pending, active, revoked, expired |
Response
200 OK{
"status": "ok",
"identity_sources": [
{
"id": "f1e2d3c4-0000-0000-0000-000000000000",
"user_id": "8a7b6c5d-0000-0000-0000-000000000000",
"provider": "1password",
"display_name": "Engineering vault",
"config": {},
"scope_metadata": { "vaults": [ { "id": "abcd1234", "name": "Engineering" } ] },
"status": "active",
"last_verified_at": "2026-06-08T10:00:00Z",
"created_at": "2026-06-01T09:00:00Z",
"updated_at": "2026-06-08T10:00:00Z"
}
]
}If you have no connected sources (or none match the filters), identity_sources is an empty array.
| Field | Type | Description |
|---|---|---|
identity_sources[].id | string (UUID) | Identity source ID |
identity_sources[].user_id | string (UUID) | Owner of the connection |
identity_sources[].provider | string | Provider name, e.g. 1password |
identity_sources[].display_name | string | User-given label for the connection |
identity_sources[].config | object | Provider-specific configuration (defaults to {}) |
identity_sources[].scope_metadata | object | Provider-specific scope detail (e.g. the vaults this source can read) |
identity_sources[].status | string | One of pending, active, revoked, expired |
identity_sources[].last_verified_at | string | null | RFC3339 UTC — when the connection was last verified |
identity_sources[].credentials_expires_at | string | null | RFC3339 UTC — when the stored token expires, or null if it does not |
identity_sources[].created_at | string | RFC3339 UTC — when the source was connected |
identity_sources[].updated_at | string | RFC3339 UTC — last modification |
The encrypted access token is never returned in the response.
Optional fields (
last_verified_at,credentials_expires_at,scope_metadata) are omitted when not set, rather than returned asnull.
Code Examples
curl "https://api.anakin.io/v1/wire/identity-sources?provider=1password&status=active" \
-H "X-API-Key: your_api_key"import requests
response = requests.get(
'https://api.anakin.io/v1/wire/identity-sources',
headers={'X-API-Key': 'your_api_key'},
params={'provider': '1password', 'status': 'active'},
)
for source in response.json()['identity_sources']:
print(f"{source['display_name']} ({source['provider']}) → {source['status']}")const params = new URLSearchParams({ provider: '1password', status: 'active' });
const response = await fetch(`https://api.anakin.io/v1/wire/identity-sources?${params}`, {
headers: { 'X-API-Key': 'your_api_key' }
});
const { identity_sources } = await response.json();
for (const source of identity_sources) {
console.log(`${source.display_name} (${source.provider}) → ${source.status}`);
}Rate limit
60 requests per minute per user.
Related
- GET /v1/wire/identity-sources/{id}/identities — identities using a source
- Identity Sources guide — concepts and setup walkthrough