@@ -87,10 +87,13 @@ export class Items extends APIResource {
8787
8888 /**
8989 * Unresolved payment operations normally block deletion, including operations on
90- * child cards of a wallet. An AgentCard card in recovery_required whose checkout
91- * create response returned no authorization ID may be explicitly abandoned by
92- * deleting that card directly; deleting its wallet or vault remains blocked.
93- * Deleting or recreating an item is not proof that a payment did not occur.
90+ * child cards of a wallet. Deleting a connected Kernel wallet first blocks new
91+ * payments on it, then removes its enrolled card. If that fails, the wallet is
92+ * kept and keeps refusing payments; retry the deletion. An AgentCard card in
93+ * recovery_required whose checkout create response returned no authorization ID
94+ * may be explicitly abandoned by deleting that card directly; deleting its wallet
95+ * or vault remains blocked. Deleting or recreating an item is not proof that a
96+ * payment did not occur.
9497 *
9598 * @example
9699 * ```ts
@@ -304,8 +307,8 @@ export type AgentcardPreparedProcessor =
304307 | 'adyen' ;
305308
306309/**
307- * Authorize a Link card using its existing purchase specification. Use only after
308- * explicit user approval and when the item advertises authorize. Do not
310+ * Authorize a Link or Kernel card using its existing purchase specification. Use
311+ * only after explicit user approval and when the item advertises authorize. Do not
309312 * automatically retry provider failures or indeterminate outcomes. Checkout
310313 * context is not accepted.
311314 */
@@ -318,7 +321,8 @@ export interface AuthorizeVaultItemOperationRequest {
318321 */
319322export type CardVaultItemSpec =
320323 | CardVaultItemSpec . LinkCardVaultItemSpec
321- | CardVaultItemSpec . AgentCardCardVaultItemSpec ;
324+ | CardVaultItemSpec . AgentCardCardVaultItemSpec
325+ | KernelCardVaultItemSpec ;
322326
323327export namespace CardVaultItemSpec {
324328 /**
@@ -462,7 +466,10 @@ export namespace CardVaultItemSpec {
462466 * Issued Link cards retain encrypted card material for the fill operation. Link
463467 * cards do not expose aliases or support egress substitution.
464468 */
465- export type CardVaultItemState = CardVaultItemState . LinkCardState | CardVaultItemState . AgentCardCardState ;
469+ export type CardVaultItemState =
470+ | CardVaultItemState . LinkCardState
471+ | CardVaultItemState . AgentCardCardState
472+ | KernelCardState ;
466473
467474export namespace CardVaultItemState {
468475 /**
@@ -501,6 +508,11 @@ export namespace CardVaultItemState {
501508
502509 last4 ?: string ;
503510
511+ /**
512+ * Last four digits of the network token presented to the merchant.
513+ */
514+ token_last4 ?: string ;
515+
504516 [ k : string ] : string | undefined ;
505517 }
506518 }
@@ -559,6 +571,11 @@ export namespace CardVaultItemState {
559571
560572 last4 ?: string ;
561573
574+ /**
575+ * Last four digits of the network token presented to the merchant.
576+ */
577+ token_last4 ?: string ;
578+
562579 [ k : string ] : string | undefined ;
563580 }
564581 }
@@ -1015,11 +1032,11 @@ export interface CredentialVaultItemUpdateRequest {
10151032}
10161033
10171034/**
1018- * Fill selected fields from one ready credential or ready, unexpired Link card
1019- * into a browser linked to its vault. Only invoke when the item advertises `fill`.
1020- * Browser and vault must belong to the same project. Kernel checks access and
1021- * allowed destinations before filling; providing a page URL does not authorize a
1022- * destination.
1035+ * Fill selected fields from one ready credential or ready, unexpired Link or
1036+ * Kernel card into a browser linked to its vault. Only invoke when the item
1037+ * advertises `fill`. Browser and vault must belong to the same project. Kernel
1038+ * checks access and allowed destinations before filling; providing a page URL does
1039+ * not authorize a destination.
10231040 *
10241041 * Find exactly one open page matching `page_url`. Credential items may omit
10251042 * `page_url` to require exactly one open page; cards require an HTTPS page URL.
@@ -1035,9 +1052,10 @@ export interface CredentialVaultItemUpdateRequest {
10351052 *
10361053 * Fill in request order and stop on the first failure. This operation is not
10371054 * atomic: previously filled fields are not rolled back. Never submit the form or
1038- * click buttons, though input/change events may trigger site behavior. Link cards
1039- * use fill for browser checkout and do not expose aliases or support egress
1040- * substitution. Do not automatically retry a failed or indeterminate operation.
1055+ * click buttons, though input/change events may trigger site behavior. Link and
1056+ * Kernel cards use fill for browser checkout and do not expose aliases or support
1057+ * egress substitution. Do not automatically retry a failed or indeterminate
1058+ * operation.
10411059 *
10421060 * Secret values are never returned or included in operation logs, traces, audit
10431061 * events, or error details. This does not prevent an agent with unrestricted
@@ -1089,6 +1107,98 @@ export interface FillVaultItemOperationResult {
10891107 type : 'fill' ;
10901108}
10911109
1110+ /**
1111+ * A ready Kernel card retains its encrypted network token and one-time code for
1112+ * the fill operation until the item's expires_at. Fill and submit checkout before
1113+ * then. Visa cards can be enrolled, but Visa purchases are not yet supported and
1114+ * authorize returns 400; supported Mastercard purchases need no cardholder
1115+ * approval. masks.last4 is the enrolled card's last four digits; masks.token_last4
1116+ * is the network token's last four digits shown to the merchant. Kernel cards do
1117+ * not expose aliases or support egress substitution. Kernel does not observe
1118+ * whether the merchant charged the card.
1119+ */
1120+ export interface KernelCardState {
1121+ provider : 'kernel' ;
1122+
1123+ /**
1124+ * recovery_required means issuing the one-time code has an unresolved outcome.
1125+ * Kernel never issues another code for the item automatically, and the item cannot
1126+ * be deleted or replaced until the original attempt is reconciled with support.
1127+ * When status_reason says the provider refused retrieval before acceptance, no
1128+ * code was issued and a later read retries.
1129+ */
1130+ status :
1131+ | 'requested'
1132+ | 'pending_authorization'
1133+ | 'ready'
1134+ | 'consumed'
1135+ | 'expired'
1136+ | 'declined'
1137+ | 'recovery_required' ;
1138+
1139+ /**
1140+ * Informational registrable domain. Fill is locked to merchant_url's exact origin.
1141+ */
1142+ domains ?: Array < string > ;
1143+
1144+ masks ?: KernelCardState . Masks ;
1145+
1146+ status_reason ?: string ;
1147+ }
1148+
1149+ export namespace KernelCardState {
1150+ export interface Masks {
1151+ brand ?: string ;
1152+
1153+ last4 ?: string ;
1154+
1155+ /**
1156+ * Last four digits of the network token presented to the merchant.
1157+ */
1158+ token_last4 ?: string ;
1159+
1160+ [ k : string ] : string | undefined ;
1161+ }
1162+ }
1163+
1164+ /**
1165+ * One live purchase with a Kernel-enrolled card. Authorization obtains an agentic
1166+ * network token number, expiry and one-time 3-digit code. They are stored
1167+ * encrypted for the fill operation, which types them only on merchant_url's
1168+ * origin; the merchant's own checkout submits the payment. The one-time code is
1169+ * valid until the item's expires_at; fill and submit checkout before then. Visa
1170+ * cards can be enrolled, but Visa purchases are not yet supported: authorize
1171+ * returns 400. Supported Mastercard purchases need no cardholder approval. Card
1172+ * updates are not supported; delete and create a new item instead.
1173+ */
1174+ export interface KernelCardVaultItemSpec {
1175+ /**
1176+ * Integer amount in minor currency units (at most 50000), bound to the one-time
1177+ * code.
1178+ */
1179+ amount : number ;
1180+
1181+ /**
1182+ * ISO 4217 code. Supported: aud, brl, cad, chf, czk, dkk, eur, gbp, hkd, inr, jpy,
1183+ * krw, mxn, nok, nzd, pln, sek, sgd, usd, zar.
1184+ */
1185+ currency : string ;
1186+
1187+ merchant_name : string ;
1188+
1189+ /**
1190+ * Merchant checkout URL. Fill is allowed only on this URL's origin.
1191+ */
1192+ merchant_url : string ;
1193+
1194+ provider : 'kernel' ;
1195+
1196+ /**
1197+ * Key of the Kernel wallet item whose enrolled card pays.
1198+ */
1199+ wallet : string ;
1200+ }
1201+
10921202export interface KernelCredentialVaultItemSpec {
10931203 /**
10941204 * Ordered field definitions rendered in this order by credential collection forms.
@@ -1145,6 +1255,34 @@ export interface KernelCredentialVaultItemState {
11451255 status : 'pending_collection' | 'ready' ;
11461256}
11471257
1258+ export interface KernelWalletState {
1259+ provider : 'kernel' ;
1260+
1261+ /**
1262+ * pending_authorization asks the cardholder to use the card_enrollment action.
1263+ * connected is ready for supported purchases. reconnect_required asks the
1264+ * cardholder to use a new card_enrollment action after an uncertain enrollment was
1265+ * safely removed. degraded means the enrollment outcome is unknown and the wallet
1266+ * must be deleted before adding another card.
1267+ */
1268+ status : 'pending_authorization' | 'connected' | 'reconnect_required' | 'degraded' ;
1269+
1270+ status_reason ?: string ;
1271+ }
1272+
1273+ /**
1274+ * One card Kernel enrolls for Visa or Mastercard agentic network tokens using
1275+ * Kernel-managed credentials. Creation returns a card_enrollment action: the
1276+ * cardholder enters the card and their email on a Kernel-hosted page, then Kernel
1277+ * enrolls the securely stored card. The card number never reaches Kernel. The
1278+ * connected wallet's payment_methods expansion lists the enrolled card. Visa cards
1279+ * can be enrolled, but Visa purchases are not yet supported: authorize
1280+ * returns 400.
1281+ */
1282+ export interface KernelWalletVaultItemSpec {
1283+ provider : 'kernel' ;
1284+ }
1285+
11481286export interface OnePasswordCredentialAccountSpec {
11491287 authorization : OnePasswordCredentialAccountSpec . Authorization ;
11501288
@@ -2156,7 +2294,8 @@ export interface VaultWebmcpBinding {
21562294 */
21572295export type WalletVaultItemSpec =
21582296 | WalletVaultItemSpec . LinkWalletVaultItemSpec
2159- | WalletVaultItemSpec . AgentCardWalletVaultItemSpec ;
2297+ | WalletVaultItemSpec . AgentCardWalletVaultItemSpec
2298+ | KernelWalletVaultItemSpec ;
21602299
21612300export namespace WalletVaultItemSpec {
21622301 export interface LinkWalletVaultItemSpec {
@@ -2238,7 +2377,8 @@ export namespace WalletVaultItemSpec {
22382377
22392378export type WalletVaultItemState =
22402379 | WalletVaultItemState . LinkWalletState
2241- | WalletVaultItemState . AgentCardWalletState ;
2380+ | WalletVaultItemState . AgentCardWalletState
2381+ | KernelWalletState ;
22422382
22432383export namespace WalletVaultItemState {
22442384 export interface LinkWalletState {
@@ -2730,7 +2870,8 @@ export declare namespace ItemUpsertParams {
27302870 */
27312871 spec :
27322872 | WalletVaultItemRequest . LinkWalletVaultItemRequestSpec
2733- | WalletVaultItemRequest . AgentCardWalletVaultItemSpec ;
2873+ | WalletVaultItemRequest . AgentCardWalletVaultItemSpec
2874+ | KernelWalletVaultItemSpec ;
27342875
27352876 /**
27362877 * Body param
@@ -2964,9 +3105,13 @@ export declare namespace Items {
29643105 type CredentialVaultItemUpdateRequest as CredentialVaultItemUpdateRequest ,
29653106 type FillVaultItemOperationRequest as FillVaultItemOperationRequest ,
29663107 type FillVaultItemOperationResult as FillVaultItemOperationResult ,
3108+ type KernelCardState as KernelCardState ,
3109+ type KernelCardVaultItemSpec as KernelCardVaultItemSpec ,
29673110 type KernelCredentialVaultItemSpec as KernelCredentialVaultItemSpec ,
29683111 type KernelCredentialVaultItemSpecInput as KernelCredentialVaultItemSpecInput ,
29693112 type KernelCredentialVaultItemState as KernelCredentialVaultItemState ,
3113+ type KernelWalletState as KernelWalletState ,
3114+ type KernelWalletVaultItemSpec as KernelWalletVaultItemSpec ,
29703115 type OnePasswordCredentialAccountSpec as OnePasswordCredentialAccountSpec ,
29713116 type OnePasswordCredentialAccountState as OnePasswordCredentialAccountState ,
29723117 type OnePasswordCredentialVaultItemSpec as OnePasswordCredentialVaultItemSpec ,
0 commit comments