GET List 1Password Vaults
List the 1Password vaults a connected identity source's token can read
https://api.anakin.io/v1/wire/identity-sources/{id}/1password/vaults1Password-specific endpoint. Vault → item browsing is namespaced under
/1password/because each provider exposes its own structure. The/identity-sourcesmanagement endpoints (connect, list, verify, disconnect, …) are provider-agnostic; this one is not — a future provider would expose its own browse shape.
Lists the vaults that a connected identity source's token can read. This is a live call to 1Password — the engine uses the source's stored token to enumerate vaults at request time, so the result always reflects the current state of the connected account.
Use a vault's id as the \{vault_id\} path segment in GET /v1/wire/identity-sources/{id}/1password/vaults/{vault_id}/items to browse the login items it contains.
Requires an X-API-Key. The source must belong to the authenticated user.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
id required | string (UUID) | The connected source's ID. Get it from GET /v1/wire/identity-sources |
Response
200 OK{
"status": "ok",
"vaults": [
{
"id": "abcd1234",
"name": "Engineering"
}
]
}| Field | Type | Description |
|---|---|---|
vaults[].id | string | Vault ID. Use this as \{vault_id\} in the items endpoint |
vaults[].name | string | Display name of the vault |
Error Responses
All errors return JSON of the form { "status": "error", "error": { "code": "...", "message": "..." } }.
| Code | HTTP | When |
|---|---|---|
SOURCE_REVOKED | 400 | The token was rejected by 1Password — reconnect the source (it is now marked revoked) |
SOURCE_INACTIVE | 400 | The source is not active |
SOURCE_UPSTREAM_ERROR | 502 | Could not reach 1Password |
PROVIDER_NOT_SUPPORTED | 400 | No source is registered for this provider |
PROVIDER_NOT_BROWSABLE | 400 | The provider doesn't support browsing |
SOURCE_NOT_AVAILABLE | 503 | The source resolver isn't configured on this engine |
NOT_FOUND | 404 | Source not found |
FORBIDDEN | 403 | The source belongs to another user |
Code Examples
curl https://api.anakin.io/v1/wire/identity-sources/f1e2d3c4-b5a6-7890-1234-56789abcdef0/1password/vaults \
-H "X-API-Key: your_api_key"import requests
source_id = 'f1e2d3c4-b5a6-7890-1234-56789abcdef0'
response = requests.get(
f'https://api.anakin.io/v1/wire/identity-sources/{source_id}/1password/vaults',
headers={'X-API-Key': 'your_api_key'}
)
data = response.json()
if data['status'] == 'ok':
for vault in data['vaults']:
print(f"{vault['id']} {vault['name']}")
else:
print(f"Error: {data['error']['code']} — {data['error']['message']}")const sourceId = 'f1e2d3c4-b5a6-7890-1234-56789abcdef0';
const response = await fetch(
`https://api.anakin.io/v1/wire/identity-sources/${sourceId}/1password/vaults`,
{ headers: { 'X-API-Key': 'your_api_key' } }
);
const data = await response.json();
if (data.status === 'ok') {
for (const vault of data.vaults) {
console.log(`${vault.id} ${vault.name}`);
}
} else {
console.error(`Error: ${data.error.code} — ${data.error.message}`);
}Rate limit
30 requests per minute per user (each call makes a live request to 1Password).
Related
- GET /v1/wire/identity-sources/{id}/1password/vaults/{vault_id}/items — browse login items in a vault
- GET /v1/wire/identity-sources — list connected sources
- POST /v1/wire/login — create a source-backed login via POST /login
- Identity Sources guide