/** * @example * {} */ export interface CreateCardsRequest { /** The owning account ID (a biz_ identifier). Provide this or user_id. */ account_id?: string; /** The account member (a user_ identifier) to assign the card to. Required for business card issuing accounts. When this call files the card application, the member applies with their identity; a company API key that sends neither this nor kind is refused. */ assigned_user_id?: string; /** The card's initial billing address. On a company card it also registers the assigned member as a cardholder if they are not one yet. For an individual card, region is also required. */ billing?: CreateCardsRequest.Billing; /** Details for a company card's assigned member when they are not registered as a cardholder yet. Send with billing to register them and start provisioning in one call instead of sending them an onboarding invitation. The legal name comes from the member's approved identity verification when they have one, and from these fields when they do not. */ cardholder?: CreateCardsRequest.Cardholder; /** Who the card application verifies, set only on the call that files it; sending it while the account's application is in progress or approved is a 400. `business` applies as the account with its approved KYB. `individual` applies as a person: assigned_user_id when given, otherwise the account owner, using the identity verified on the account. Omit it to apply as the business when its KYB is approved, and as an individual otherwise. */ kind?: CreateCardsRequest.Kind; /** A display name for the card. */ name?: string; /** Spending limit amount, in dollars. */ spend_limit?: number; /** The window the spend limit applies to. */ spend_limit_frequency?: CreateCardsRequest.SpendLimitFrequency; /** Per-transaction limit amount, in dollars. */ transaction_limit?: number; /** The owning user ID (a user_ identifier). Provide this or account_id. */ user_id?: string; } export declare namespace CreateCardsRequest { /** * The card's initial billing address. On a company card it also registers the assigned member as a cardholder if they are not one yet. For an individual card, region is also required. */ interface Billing { /** Billing city. */ city: string; /** Billing country code, ISO 3166-1 alpha-2. */ country_code: string; /** Street address line 1. */ line1: string; /** Street address line 2. */ line2?: string | undefined; /** Billing postal code. */ postal_code: string; /** Billing region or state. Required for an individual card. */ region?: string | undefined; } /** * Details for a company card's assigned member when they are not registered as a cardholder yet. Send with billing to register them and start provisioning in one call instead of sending them an onboarding invitation. The legal name comes from the member's approved identity verification when they have one, and from these fields when they do not. */ interface Cardholder { /** The member's email address. Defaults to the email on their user. */ email?: string | undefined; /** The member's legal first name. */ first_name?: string | undefined; /** The member's legal last name. */ last_name?: string | undefined; /** The member's phone number. */ phone?: string | undefined; } /** Who the card application verifies, set only on the call that files it; sending it while the account's application is in progress or approved is a 400. `business` applies as the account with its approved KYB. `individual` applies as a person: assigned_user_id when given, otherwise the account owner, using the identity verified on the account. Omit it to apply as the business when its KYB is approved, and as an individual otherwise. */ const Kind: { readonly Individual: "individual"; readonly Business: "business"; }; type Kind = (typeof Kind)[keyof typeof Kind]; /** The window the spend limit applies to. */ const SpendLimitFrequency: { readonly Daily: "daily"; readonly Weekly: "weekly"; readonly Monthly: "monthly"; readonly OneTime: "one_time"; }; type SpendLimitFrequency = (typeof SpendLimitFrequency)[keyof typeof SpendLimitFrequency]; }