@@ -157,7 +157,8 @@ export class Items extends APIResource {
157157 * a failure, an `unknown` outcome, or a transport error.
158158 *
159159 * Connected Kernel wallets may advertise add_payment_method, which returns a
160- * single-use hosted card_enrollment link for a card, and remove_payment_method,
160+ * single-use hosted card_enrollment link for a card, or with enrollment server a
161+ * single-use card_ingest URL for the card's issuer, and remove_payment_method,
161162 * which removes one card without affecting the others. Both operations require
162163 * vaults:write in addition to vaults:use on the vault for scoped API keys, and
163164 * return 403 without both permissions.
@@ -215,22 +216,32 @@ export class Items extends APIResource {
215216}
216217
217218/**
218- * Start hosted enrollment of a card in a connected Kernel wallet, including its
219- * first card, only when the wallet advertises add_payment_method. Returns a new
220- * payment method in pending_enrollment with a single-use card_enrollment URL for
221- * the cardholder. Card details go directly to the card vault and are never
222- * accepted by this API. Each call creates a separate link that expires after 30
223- * minutes; a failed or expired enrollment does not affect the wallet's other
224- * payment methods. Scoped API keys require vaults:write in addition to vaults:use
225- * on this vault; otherwise the operation returns 403.
219+ * Start enrollment of a card in a connected Kernel wallet, including its first
220+ * card, only when the wallet advertises add_payment_method. Returns a new payment
221+ * method in pending_enrollment with a single-use action. Card details go directly
222+ * to the card vault and are never accepted by this API. With enrollment hosted
223+ * (the default) the action is a card_enrollment URL for the cardholder, which
224+ * expires after 30 minutes. With enrollment server the action is a card_ingest URL
225+ * that the card's issuer posts the card to from its backend, which expires after 5
226+ * minutes; server enrollment returns 409 when it is not configured for the
227+ * organization's card backend. A failed or expired enrollment does not affect the
228+ * wallet's other payment methods. Scoped API keys require vaults:write in addition
229+ * to vaults:use on this vault; otherwise the operation returns 403.
226230 */
227231export interface AddPaymentMethodVaultItemOperationRequest {
228232 type : 'add_payment_method' ;
233+
234+ /**
235+ * hosted returns a card_enrollment link for the cardholder. server returns a
236+ * card_ingest URL for the card's issuer to post the card to server to server.
237+ */
238+ enrollment ?: 'hosted' | 'server' ;
229239}
230240
231241/**
232- * The payment method created in pending_enrollment. Deliver action.url to the
233- * cardholder; it is a single-use capability and must not be logged. Observe
242+ * The payment method created in pending_enrollment. Deliver a card_enrollment
243+ * action.url to the cardholder; it is a single-use capability and must not be
244+ * logged. A card_ingest action.url is posted to by the card's issuer. Observe
234245 * completion through the wallet's payment_methods expansion.
235246 */
236247export interface AddPaymentMethodVaultItemOperationResult {
@@ -3835,16 +3846,28 @@ export interface VaultPaymentMethod {
38353846 */
38363847 type : string ;
38373848
3849+ /**
3850+ * The open enrollment of a pending payment method. card_enrollment is a single-use
3851+ * hosted link for the cardholder. card_ingest is a single-use URL on a Kernel
3852+ * ingest hostname served by the card vault, which the card's issuer posts the card
3853+ * to from its backend; Kernel never receives the card number or CVC.
3854+ */
38383855 action ?: VaultPaymentMethod . Action ;
38393856
38403857 /**
3841- * Expiry of a pending enrollment link.
3858+ * Expiry of a pending enrollment link or ingest URL .
38423859 */
38433860 expires_at ?: string ;
38443861
38453862 /**
3846- * Kernel wallets only. pending_enrollment means a card_enrollment link is open;
3847- * active means the card is stored and can pay when
3863+ * Kernel wallets only. The issuer's reference for a card it pushed with a
3864+ * card_ingest URL.
3865+ */
3866+ issuer_reference ?: string ;
3867+
3868+ /**
3869+ * Kernel wallets only. pending_enrollment means a card_enrollment link or
3870+ * card_ingest URL is open; active means the card is stored and can pay when
38483871 * capabilities.single_use_card.eligible is true; removal_pending means removal
38493872 * started but the provider outcome is unknown, so retry remove_payment_method;
38503873 * recovery_required means either an enrollment outcome is unknown (remove the
@@ -3855,6 +3878,12 @@ export interface VaultPaymentMethod {
38553878 status ?: 'pending_enrollment' | 'active' | 'removal_pending' | 'recovery_required' ;
38563879
38573880 status_reason ?: string ;
3881+
3882+ /**
3883+ * Kernel wallets only. When a card pushed with a card_ingest URL stops being
3884+ * usable, as its issuer set.
3885+ */
3886+ valid_until ?: string ;
38583887}
38593888
38603889export namespace VaultPaymentMethod {
@@ -3882,15 +3911,21 @@ export namespace VaultPaymentMethod {
38823911 last4 ?: string ;
38833912 }
38843913
3914+ /**
3915+ * The open enrollment of a pending payment method. card_enrollment is a single-use
3916+ * hosted link for the cardholder. card_ingest is a single-use URL on a Kernel
3917+ * ingest hostname served by the card vault, which the card's issuer posts the card
3918+ * to from its backend; Kernel never receives the card number or CVC.
3919+ */
38853920 export interface Action {
3886- name : 'card_enrollment' ;
3921+ name : 'card_enrollment' | 'card_ingest' ;
38873922
38883923 url : string ;
38893924
38903925 /**
38913926 * Secret bearer capability for embedded card capture with @onkernel/vault-react.
3892- * Present only for Kernel wallets; never for AgentCard. Treat it like the
3893- * enrollment URL and do not log or persist it in browser storage.
3927+ * Present only on card_enrollment for Kernel wallets; never for AgentCard. Treat
3928+ * it like the enrollment URL and do not log or persist it in browser storage.
38943929 */
38953930 capture_token ?: string ;
38963931 }
@@ -4923,6 +4958,13 @@ export declare namespace ItemPerformOperationParams {
49234958 * Body param
49244959 */
49254960 type : 'add_payment_method' ;
4961+
4962+ /**
4963+ * Body param: hosted returns a card_enrollment link for the cardholder. server
4964+ * returns a card_ingest URL for the card's issuer to post the card to server to
4965+ * server.
4966+ */
4967+ enrollment ?: 'hosted' | 'server' ;
49264968 }
49274969
49284970 export interface RemovePaymentMethodVaultItemOperationRequest {
0 commit comments