Skip to content
VeilVeil
Esc
↑↓navigate↵open⌘Jpreview

Create an item. Secret is in the request over TLS. Never in the response. Not MCP.

POST/v1/items
Authorization
AuthorizationBearer token (JWT) · headerrequired
Hydra JWT. Identity is the bound agent or a Keto member human. The host is not identity.
Request body
requiredapplication/json
namestringrequired
uristring
urisstring[]
tagsstring[]
kindstring
Allowed:api_keyoauthsshfilepasskeycardidentity
secretstring
Vault material. Request only. Never returned.
totp_seedstring
TOTP seed. Request only. Never returned.
loginstring
Fill username. Metadata on the item. Also sealed in the envelope. Not a secret.
cardCardFields
Request only. Never returned. Never MCP.
Show properties
numberstring
exp_monthstring
exp_yearstring
cvvstring
holderstring
identityIdentityFields
Request only. Never returned. Never MCP.
Show properties
given_namestring
family_namestring
addressstring
citystring
regionstring
postalstring
countrystring
phonestring
emailstring
Responses
200Item metadata. No secret.
idstringrequired
org_idstringrequired
namestringrequired
kindstringrequired
Allowed:api_keyoauthsshfilepasskeycardidentity
ownerOwnerrequired
Show properties
kindstringrequired
idstringrequired
urisstring[]required
tagsstring[]
archivedboolean
has_totpboolean
has_fileboolean
loginstring
Fill username. Metadata. Not a secret. Empty if unset.
400bad request
401missing or invalid Bearer
403agent cannot create items
Request
curl -X POST "https://veil.nyc/v1/items" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "string",
  "uri": "string",
  "uris": [
    "string"
  ],
  "tags": [
    "string"
  ],
  "kind": "api_key",
  "secret": "string",
  "totp_seed": "string",
  "login": "string",
  "card": {
    "number": "string",
    "exp_month": "string",
    "exp_year": "string",
    "cvv": "string",
    "holder": "string"
  },
  "identity": {
    "given_name": "string",
    "family_name": "string",
    "address": "string",
    "city": "string",
    "region": "string",
    "postal": "string",
    "country": "string",
    "phone": "string",
    "email": "string"
  }
}'
Response
{
  "id": "string",
  "org_id": "string",
  "name": "string",
  "kind": "api_key",
  "owner": {
    "kind": "string",
    "id": "string"
  },
  "uris": [
    "string"
  ],
  "tags": [
    "string"
  ],
  "archived": true,
  "has_totp": true,
  "has_file": true,
  "login": "string"
}