Skip to main content
TroopyDocs
Open Troopy
Troopy

API reference / Vault

List vault items

The vault's items you can reach, by name. Concealed values (passwords, keys, card numbers, notes) are never returned: people reveal them in the app after unlocking, and teammates use logins without ever seeing them.

get/api/v1/vault/items

Authorization

HeaderAuthorization: Bearer <API key>
Or the headerX-API-Key: <API key>
API keyMake one in Troopy under Settings > API keys. It acts as you, in its workspace.

Other ways to call it

CLItroopy vault list
MCP tooltroopy_list_vault_items
Rate limit60 calls in 60 seconds, for each key

Query parameters

pageinteger

1-based page number

Default 1 · At least 1

limitinteger

Items per page, at most 100

Default 20 · At least 1 · At most 100

collectionstring

Only this collection

kindenum<string>

loginapi_keysecretnotecard

sitestring

Only items for this site, like canva.com

At least 1 characters · At most 200 characters

qstring

Words in the name

At least 1 characters · At most 100 characters

madeByenum<string>

Only what people added, or only what teammates made

peopleteammates

Response

200 · application/json
data*array<object>
18 properties
id*string

A 24-character id

collection*object
2 properties
id*string

A 24-character id

name*string
kind*enum<string>

loginapi_keysecretnotecard

name*string
tags*array<string>
urls*array<string>

Logins: the pages it signs in on. API keys: the service's address

sites*array<string>

The domains of urls: where a teammate may use a login

environment*enum<string> | null

API keys: test or live

testlive

expiresAt*string | null
fields*array<object>
7 properties
key*string

Stable: references (troopy://vault/<item>/<key>) name it

label*string
type*enum<string>

textemailurlpasswordtotpmonthmultiline

concealed*boolean

Concealed values never leave through the API; people see them in the app after unlocking

value*string | null

The value when it isn't concealed; null when concealed or empty

hint*string | null

A long key's or card number's last four characters

set*boolean

Whether it has a value

status*enum<string>

unconfirmed: a login a teammate made signing up, until it signs in with it or a person confirms it

activeunconfirmed

importedFrom*enum<string> | null

1passwordbitwardenlastpasschrome

createdBy*object

Who added it: a person, a teammate (type agent) or an API key

3 properties
type*enum<string>

personagentapi

id*string
name*string
updatedBy*object

Who wrote it

3 properties
type*enum<string>

personagentapi

id*string
name*string
level*enum<string>

What you may do with it

viewusemanage

createdAt*string

ISO 8601 date and time

updatedAt*string

ISO 8601 date and time

lastUsedAt*string | null
pagination*object
4 properties
page*integer
limit*integer
total*integer
pages*integer

Errors

400 invalid_inputFix the field named in detail. Each operation's schema is in /api/v1/openapi.json.
401 unauthorizedSend an API key as `Authorization: Bearer tr_live_...`. Create one in Troopy under Settings.
403 forbiddenThe key lacks a scope this operation needs, or its owner lacks the role. detail says which; create a key with the scope, or ask an organization owner or admin.
429 rate_limitedWait the number of seconds in Retry-After, then retry.