GET List 1Password Items
List the login items in a 1Password vault belonging to a connected identity source
https://api.anakin.io/v1/wire/identity-sources/{id}/1password/vaults/{vault_id}/items1Password-specific endpoint. Vault → item browsing is namespaced under
/1password/because each provider exposes its own structure. The/identity-sourcesmanagement endpoints are provider-agnostic; this one is not — a future provider would expose its own browse shape.
Lists the login items in a single vault. This is a live call to 1Password — the engine uses the source's stored token to enumerate items at request time.
Use an item's id as the item_id in the source_ref when creating a source-backed login via POST /v1/wire/login.
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 |
vault_id required | string | A vault ID from GET /v1/wire/identity-sources/{id}/1password/vaults |
Query Parameters
| Parameter | Type | Description |
|---|---|---|
domain | string | Case-insensitive substring. Filters to items whose title or any website URL contains it. This is what powers the catalog-domain pre-filter in the identity-creation UI. |
Response
200 OK{
"status": "ok",
"items": [
{
"id": "wxyz5678",
"title": "Acme Prod",
"category": "Login",
"urls": [
{ "href": "https://acme.com/login", "label": "website" }
]
}
]
}| Field | Type | Description |
|---|---|---|
items[].id | string | Item ID. Use this as item_id in source_ref when creating a source-backed login |
items[].title | string | Item title as set in 1Password |
items[].category | string | 1Password category, e.g. Login. Optional — omitted when unknown |
items[].urls | array | Website URLs on the item. Each entry is { href, label } |
Results are capped at 200 items. Without a
domainfilter, a large vault is truncated to the first 200 items returned by 1Password. Passdomainto narrow the list to the site you're targeting.
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_ITEM_NOT_FOUND | 400 | The vault was not found |
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/abcd1234/items?domain=acme.com" \
-H "X-API-Key: your_api_key"import requests
source_id = 'f1e2d3c4-b5a6-7890-1234-56789abcdef0'
vault_id = 'abcd1234'
response = requests.get(
f'https://api.anakin.io/v1/wire/identity-sources/{source_id}/1password/vaults/{vault_id}/items',
headers={'X-API-Key': 'your_api_key'},
params={'domain': 'acme.com'},
)
data = response.json()
if data['status'] == 'ok':
for item in data['items']:
print(f"{item['id']} {item['title']}")
else:
print(f"Error: {data['error']['code']} — {data['error']['message']}")const sourceId = 'f1e2d3c4-b5a6-7890-1234-56789abcdef0';
const vaultId = 'abcd1234';
const params = new URLSearchParams({ domain: 'acme.com' });
const response = await fetch(
`https://api.anakin.io/v1/wire/identity-sources/${sourceId}/1password/vaults/${vaultId}/items?${params}`,
{ headers: { 'X-API-Key': 'your_api_key' } }
);
const data = await response.json();
if (data.status === 'ok') {
for (const item of data.items) {
console.log(`${item.id} ${item.title}`);
}
} 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 — list vaults first
- POST /v1/wire/login — create a source-backed login via POST /login
- Identity Sources guide