squarefi-bff-api-module 1.36.43 → 1.36.45

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3842,6 +3842,8 @@ export interface paths {
3842
3842
  offset?: number;
3843
3843
  /** @description Number of items to return */
3844
3844
  limit?: number;
3845
+ /** @description Wallet context — tariffs follow the wallet owner's group. */
3846
+ wallet_id?: string;
3845
3847
  };
3846
3848
  header?: never;
3847
3849
  path?: never;
@@ -3860,23 +3862,55 @@ export interface paths {
3860
3862
  success?: boolean;
3861
3863
  data?: {
3862
3864
  /** Format: uuid */
3863
- id?: string;
3864
- name?: string;
3865
+ id: string;
3866
+ name: string;
3865
3867
  description?: string | null;
3866
3868
  /** @enum {string} */
3867
- form_factor?: "VIRTUAL" | "PHYSICAL";
3869
+ form_factor: "VIRTUAL" | "PHYSICAL";
3868
3870
  /** @enum {string} */
3869
- type?: "DEBIT" | "CREDIT" | "PREPAID";
3871
+ type: "DEBIT" | "CREDIT" | "PREPAID";
3870
3872
  /** @enum {string} */
3871
- brand?: "VISA" | "MASTERCARD";
3873
+ brand: "VISA" | "MASTERCARD";
3872
3874
  /** @enum {string} */
3873
- sub_account_type?: "prepaid" | "balance";
3875
+ sub_account_type: "prepaid" | "balance";
3874
3876
  /** Format: uuid */
3875
- account_currency?: string;
3877
+ account_currency: string;
3878
+ /**
3879
+ * Format: uuid
3880
+ * @description The program's KYC rail. Returned on the frontend route so the wallet UI
3881
+ * can hide programs whose rail is closed for submission and unusable
3882
+ * (never submitted or rejected).
3883
+ *
3884
+ */
3885
+ kyc_rails_id?: string | null;
3886
+ /** @description What a cardholder on this program must carry. Set per program in the
3887
+ * vendor config, so it can change without a release — read it instead of
3888
+ * hardcoding the form. Absent only when the program has no vendor config.
3889
+ * */
3890
+ cardholder_requirements?: {
3891
+ /** @enum {string} */
3892
+ level?: "minimal" | "basic" | "full";
3893
+ /** @description Required field names; address fields are dotted (address.line1). */
3894
+ required?: string[];
3895
+ required_documents?: ("gov_id_front" | "gov_id_back" | "selfie")[];
3896
+ /** @description Human-readable constraints the field list cannot express. */
3897
+ notes?: string[];
3898
+ /** @description What each country changes, keyed by ISO 3166-1 alpha-3 with a `default`
3899
+ * entry; empty when the vendor reviews nothing.
3900
+ * */
3901
+ country_rules?: {
3902
+ [key: string]: {
3903
+ gov_id_types?: string[];
3904
+ required_by_nationality?: string[];
3905
+ required_by_address?: string[];
3906
+ notes?: string[];
3907
+ };
3908
+ };
3909
+ };
3876
3910
  /** @description Required fields for card creation */
3877
3911
  required_fields?: Record<string, never>;
3878
3912
  /** @description Array of order type IDs */
3879
- order_types?: string[];
3913
+ order_types: string[];
3880
3914
  /** @description Card issuing price from user group settings */
3881
3915
  issuing_price_usd?: number;
3882
3916
  /** @description Maximum cards allowed from group settings */
@@ -3886,11 +3920,11 @@ export interface paths {
3886
3920
  /** @description Monthly card creation limit from group settings */
3887
3921
  cards_per_month?: number | null;
3888
3922
  /** @enum {string} */
3889
- status?: "ACTIVE" | "INACTIVE";
3923
+ status: "ACTIVE" | "INACTIVE";
3890
3924
  /** @description Default card spending limit */
3891
- card_limit?: number;
3925
+ card_limit: number;
3892
3926
  /** @description Whether card supports Apple/Google Pay */
3893
- tokenizable?: boolean;
3927
+ tokenizable: boolean;
3894
3928
  /** @description Icon URL for UI display */
3895
3929
  icon?: string | null;
3896
3930
  /** @description Program code */
@@ -3960,6 +3994,11 @@ export interface paths {
3960
3994
  get: {
3961
3995
  parameters: {
3962
3996
  query?: {
3997
+ /** @description Wallet context: tariffs follow the wallet owner's group, and a wallet that already
3998
+ * holds a sub-account on the program keeps it readable even when the rail visibility
3999
+ * filter would hide it from the listing.
4000
+ * */
4001
+ wallet_id?: string;
3963
4002
  /** @description Include extra UI fields (icon, card_design, consent_text, etc.) */
3964
4003
  detailed?: boolean;
3965
4004
  };
@@ -3983,21 +4022,66 @@ export interface paths {
3983
4022
  success?: boolean;
3984
4023
  data?: {
3985
4024
  /** Format: uuid */
3986
- id?: string;
3987
- name?: string;
4025
+ id: string;
4026
+ name: string;
4027
+ /** @enum {string} */
4028
+ status: "ACTIVE" | "INACTIVE";
4029
+ /** @description Default card spending limit */
4030
+ card_limit: number;
4031
+ /** @description Whether card supports Apple/Google Pay */
4032
+ tokenizable: boolean;
4033
+ icon?: string | null;
4034
+ code?: string | null;
4035
+ initial_topup?: number | null;
4036
+ card_design?: Record<string, never> | null;
4037
+ consent_text?: string | null;
4038
+ card_issuing_fee?: number | null;
4039
+ card_monthly_fee?: number | null;
3988
4040
  description?: string | null;
3989
4041
  /** @enum {string} */
3990
- form_factor?: "VIRTUAL" | "PHYSICAL";
4042
+ form_factor: "VIRTUAL" | "PHYSICAL";
3991
4043
  /** @enum {string} */
3992
- type?: "DEBIT" | "CREDIT" | "PREPAID";
4044
+ type: "DEBIT" | "CREDIT" | "PREPAID";
3993
4045
  /** @enum {string} */
3994
- brand?: "VISA" | "MASTERCARD";
4046
+ brand: "VISA" | "MASTERCARD";
3995
4047
  /** @enum {string} */
3996
- sub_account_type?: "prepaid" | "balance";
4048
+ sub_account_type: "prepaid" | "balance";
3997
4049
  /** Format: uuid */
3998
- account_currency?: string;
4050
+ account_currency: string;
4051
+ /**
4052
+ * Format: uuid
4053
+ * @description The program's KYC rail. Returned on the frontend route so the wallet UI
4054
+ * can hide programs whose rail is closed for submission and unusable
4055
+ * (never submitted or rejected).
4056
+ *
4057
+ */
4058
+ kyc_rails_id?: string | null;
4059
+ /** @description What a cardholder on this program must carry. Set per program in the
4060
+ * vendor config, so it can change without a release — read it instead of
4061
+ * hardcoding the form. Absent only when the program has no vendor config.
4062
+ * */
4063
+ cardholder_requirements?: {
4064
+ /** @enum {string} */
4065
+ level?: "minimal" | "basic" | "full";
4066
+ /** @description Required field names; address fields are dotted (address.line1). */
4067
+ required?: string[];
4068
+ required_documents?: ("gov_id_front" | "gov_id_back" | "selfie")[];
4069
+ /** @description Human-readable constraints the field list cannot express. */
4070
+ notes?: string[];
4071
+ /** @description What each country changes, keyed by ISO 3166-1 alpha-3 with a `default`
4072
+ * entry; empty when the vendor reviews nothing.
4073
+ * */
4074
+ country_rules?: {
4075
+ [key: string]: {
4076
+ gov_id_types?: string[];
4077
+ required_by_nationality?: string[];
4078
+ required_by_address?: string[];
4079
+ notes?: string[];
4080
+ };
4081
+ };
4082
+ };
3999
4083
  required_fields?: Record<string, never>;
4000
- order_types?: {
4084
+ order_types: {
4001
4085
  /** @description Order type ID (e.g. TRANSFER_CARD_SUBACCOUNT) */
4002
4086
  id?: string;
4003
4087
  tokens?: {
@@ -938,65 +938,36 @@ export declare namespace API {
938
938
  namespace Programs {
939
939
  type ProgramsRoot = pathsV1Frontend['/frontend/issuing/config/programs'];
940
940
  type ProgramByIdRoot = pathsV1Frontend['/frontend/issuing/config/programs/{id}'];
941
- /** What each country changes about the cardholder dossier. */
942
- export interface CountryRule {
943
- /** Allowed `gov_id_type` values for a document issued by this country. */
944
- gov_id_types?: string[];
945
- /** Extra fields required when this is the member's nationality. */
946
- required_by_nationality?: string[];
947
- /** Extra fields required when this is the address country. */
948
- required_by_address?: string[];
949
- notes?: string[];
950
- }
951
941
  /**
952
- * The per-program cardholder KYC bar. Set in the program's vendor config, so it can
953
- * change without a release — read it instead of hardcoding the form. Hand-declared
954
- * until the deployed frontend spec documents it on this route; then it collapses onto
955
- * the autogen field (same forward-compat pattern as the Cardholder wire shape).
942
+ * A program as the frontend config route returns it — including `cardholder_requirements`
943
+ * (the per-program cardholder KYC bar) and `kyc_rails_id` (the wallet UI hides programs on
944
+ * a closed/rejected rail). Both come straight from the generated spec.
956
945
  */
957
- export interface CardholderRequirements {
958
- /** The KYC level the program demands. */
959
- level: 'minimal' | 'basic' | 'full';
960
- /** Required field names; address fields are dotted (`address.line1`). */
961
- required: string[];
962
- /** Document photos the program requires. */
963
- required_documents: Array<'gov_id_front' | 'gov_id_back' | 'selfie'>;
964
- /** Human-readable constraints the field list cannot express. */
965
- notes?: string[];
966
- /** Per-country overrides, keyed by ISO 3166-1 alpha-3 with a `default` entry. */
967
- country_rules?: Record<string, CountryRule>;
968
- }
969
- type AutogenProgram = NonNullable<ProgramsRoot['get']['responses']['200']['content']['application/json']['data']>[number];
946
+ export type Program = NonNullable<ProgramsRoot['get']['responses']['200']['content']['application/json']['data']>[number];
970
947
  /**
971
- * A program as the frontend config route returns it. `cardholder_requirements` and
972
- * `kyc_rails_id` are hand-added because the deployed spec does not document them yet;
973
- * once it does and the types regenerate, the intersection is a no-op.
948
+ * The per-program cardholder KYC bar (`level` / `required` / `required_documents` /
949
+ * `country_rules`). Set in the program's vendor config, so it can change without a
950
+ * release — read it instead of hardcoding the form.
974
951
  */
975
- export type Program = AutogenProgram & {
976
- /** The program's KYC rail; the wallet UI hides programs on a closed/rejected rail. */
977
- kyc_rails_id?: string | null;
978
- cardholder_requirements?: CardholderRequirements;
979
- };
952
+ export type CardholderRequirements = NonNullable<Program['cardholder_requirements']>;
953
+ /** The KYC level a program demands. */
954
+ export type CardholderKycLevel = NonNullable<CardholderRequirements['level']>;
955
+ /** What each country changes about the cardholder dossier (a `country_rules` entry). */
956
+ export type CountryRule = NonNullable<NonNullable<CardholderRequirements['country_rules']>[string]>;
980
957
  export namespace List {
981
- /** The spec omits `wallet_id`, but the handler reads it to resolve the tariff group. */
982
- export type Request = NonNullable<ProgramsRoot['get']['parameters']['query']> & {
983
- wallet_id?: string;
984
- };
985
- type RawResponse = ProgramsRoot['get']['responses']['200']['content']['application/json'];
986
- export type Response = Omit<RawResponse, 'data'> & {
987
- data?: Program[];
988
- };
989
- export {};
958
+ type Request = NonNullable<ProgramsRoot['get']['parameters']['query']>;
959
+ type Response = ProgramsRoot['get']['responses']['200']['content']['application/json'];
990
960
  }
991
961
  export namespace Get {
992
- export type Request = {
962
+ type Request = {
993
963
  id: string;
994
964
  } & NonNullable<ProgramByIdRoot['get']['parameters']['query']>;
995
- type RawResponse = ProgramByIdRoot['get']['responses']['200']['content']['application/json'];
996
- export type Response = Omit<RawResponse, 'data'> & {
997
- data?: Program;
998
- };
999
- export {};
965
+ type Response = ProgramByIdRoot['get']['responses']['200']['content']['application/json'];
966
+ /**
967
+ * The byId payload: the same program fields as the list item, but `order_types` is the
968
+ * DETAILED form ({id, tokens}) — flatten to ids when a list-shaped Program is needed.
969
+ */
970
+ type Data = NonNullable<Response['data']>;
1000
971
  }
1001
972
  export {};
1002
973
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "squarefi-bff-api-module",
3
- "version": "1.36.43",
3
+ "version": "1.36.45",
4
4
  "description": "Squarefi BFF API client module",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",