Skip to main content
abadge items can carry multiple named fields. When a reader requests an item, abadge resolves which field to deliver based on the request and the item’s shape.

Standard fields by kind

Each item kind suggests the fields readers expect. These are conventions, not enforced — items can carry any field names. Source: STANDARD_FIELDS_BY_KIND in packages/core/src/constants.ts.

Resolution rules

When field is omitted:
1

One string field?

Return it.
2

One standard field present?

Return it.
3

Multiple candidates?

Return MULTI_FIELD_ITEM with available field names in meta.availableFields.
When field is specified:
  • The named field is looked up in the payload.
  • If the field is not a string or does not exist, return FIELD_NOT_FOUND with available fields in meta.availableFields.
Resolution is centralised in resolveFieldValue from @abadge/core/secret-delivery and re-exported from the SDK.

Using fields in the CLI

Using fields in MCP

Pass field to use_secret or mount_secret:

Using fields in the SDK

Multi-field item error

When a field is required but not specified for a multi-field item, the API returns:
Inspect meta.availableFields to choose which name to pass.

Single-field auto-delivery

For opaque and token items with a single value field, omitting field is safe — the value is returned automatically.