Variable productConfigApiConst
productConfigApi: {
"/v1/product/config": {
get: {
querystring: TObject<
{ products: TOptional<TString>; statuses: TOptional<TString> },
>;
response: {
"200": TObject<
{
items: TArray<
TObject<
{
activationRules: TArray<TObject<(...)>>;
createdAt: TString;
product: TUnsafe<
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)
| (...),
>;
status: TUnsafe<(...) | (...)>;
updatedAt: TString;
},
>,
>;
},
>;
};
summary: "Search all existing product configurations";
tags: readonly ["Product config"];
};
post: {
body: TIntersect<
[
TObject<
{
product: TUnsafe<
| "organization.v1"
| "identity.v1"
| "card.physical_card.v1"
| "card.virtual_card.v1"
| "deposit.rtp.v1"
| "deposit.ach_credit.v1"
| "deposit.us_bank_ach.v1"
| "deposit.us_cash.v1"
| "deposit.us_wire.v1"
| "deposit.swift_wire.v1"
| "transfer.redemption.v1"
| "swap.v1"
| "withdraw.blockchain.v1"
| "withdraw.ke_bank.v1"
| "withdraw.ke_momo.v1"
| "withdraw.mx_bank_spei.v1"
| "withdraw.swift_wire.v1"
| "withdraw.tg_momo.v1"
| "withdraw.us_bank_ach.v1"
| "withdraw.us_instant.v1"
| "withdraw.us_wire.v1"
| "withdraw.ach_pull.v1"
| "withdraw.us_wire_drawdown.v1"
| "account.virtual-account.v1",
>;
status: TUnsafe<"ACTIVE" | "DISABLED">;
},
>,
TObject<
{
deactivationRules: TArray<
TObject<{ matcher: TObject<(...)>; status: TUnsafe<(...)> }>,
>;
},
>,
],
>;
description: "CFX defines a default list of products that are available to identities and organizations that belong to a given customer.\nThis endpoint allows the customer to make a subset of those products unavailable based on their own requirements.\n\nIf the configuration already exists, this operation completely replaces with the newly provided configurations. See the [configuration guide](https://docs.moveusd.com/docs/product-configurations) for an introduction on how to use rules.\n\nCurrently supported fields for the matcher are:\n\n* `entityType`: `IDENTITY` or `ORGANIZATION`\n* `countryCode`: 2-letter ISO country code, e.g. `US`, `MX`\n* `regionCode`: 2-letter ISO country subdivision code, e.g. US states such as `FL` or `NY`\n * Optional: not all products capture this information";
response: {
"200": TObject<
{
activationRules: TArray<
TObject<
{
matcher: TObject<{}>;
status: TUnsafe<(...) | (...)>;
value: TUnsafe<(...) | (...)>;
},
>,
>;
createdAt: TString;
product: TUnsafe<
| "organization.v1"
| "identity.v1"
| "card.physical_card.v1"
| "card.virtual_card.v1"
| "deposit.rtp.v1"
| "deposit.ach_credit.v1"
| "deposit.us_bank_ach.v1"
| "deposit.us_cash.v1"
| "deposit.us_wire.v1"
| "deposit.swift_wire.v1"
| "transfer.redemption.v1"
| "swap.v1"
| "withdraw.blockchain.v1"
| "withdraw.ke_bank.v1"
| "withdraw.ke_momo.v1"
| "withdraw.mx_bank_spei.v1"
| "withdraw.swift_wire.v1"
| "withdraw.tg_momo.v1"
| "withdraw.us_bank_ach.v1"
| "withdraw.us_instant.v1"
| "withdraw.us_wire.v1"
| "withdraw.ach_pull.v1"
| "withdraw.us_wire_drawdown.v1"
| "account.virtual-account.v1",
>;
status: TUnsafe<"ACTIVE" | "DISABLED">;
updatedAt: TString;
},
>;
"400": TObject<{ code: TLiteral<"NO_RULES">; message: TString }>;
};
summary: "Create or update a product configuration";
tags: readonly ["Product config"];
};
};
"/v1/product/config/{product}": {
delete: {
params: TObject<
{
product: TUnsafe<
| "organization.v1"
| "identity.v1"
| "card.physical_card.v1"
| "card.virtual_card.v1"
| "deposit.rtp.v1"
| "deposit.ach_credit.v1"
| "deposit.us_bank_ach.v1"
| "deposit.us_cash.v1"
| "deposit.us_wire.v1"
| "deposit.swift_wire.v1"
| "transfer.redemption.v1"
| "swap.v1"
| "withdraw.blockchain.v1"
| "withdraw.ke_bank.v1"
| "withdraw.ke_momo.v1"
| "withdraw.mx_bank_spei.v1"
| "withdraw.swift_wire.v1"
| "withdraw.tg_momo.v1"
| "withdraw.us_bank_ach.v1"
| "withdraw.us_instant.v1"
| "withdraw.us_wire.v1"
| "withdraw.ach_pull.v1"
| "withdraw.us_wire_drawdown.v1"
| "account.virtual-account.v1",
>;
},
>;
response: {
"204": TNull;
"404": TObject<{ code: TLiteral<"NOT_FOUND">; message: TString }>;
};
summary: "Delete an existing product configuration";
tags: readonly ["Product config"];
};
};
"/v1/product/config/test-activation": {
post: {
body: TObject<
{
countryCode: TString;
entityType: TUnsafe<"ORGANIZATION" | "IDENTITY">;
product: TUnsafe<
| "organization.v1"
| "identity.v1"
| "card.physical_card.v1"
| "card.virtual_card.v1"
| "deposit.rtp.v1"
| "deposit.ach_credit.v1"
| "deposit.us_bank_ach.v1"
| "deposit.us_cash.v1"
| "deposit.us_wire.v1"
| "deposit.swift_wire.v1"
| "transfer.redemption.v1"
| "swap.v1"
| "withdraw.blockchain.v1"
| "withdraw.ke_bank.v1"
| "withdraw.ke_momo.v1"
| "withdraw.mx_bank_spei.v1"
| "withdraw.swift_wire.v1"
| "withdraw.tg_momo.v1"
| "withdraw.us_bank_ach.v1"
| "withdraw.us_instant.v1"
| "withdraw.us_wire.v1"
| "withdraw.ach_pull.v1"
| "withdraw.us_wire_drawdown.v1"
| "account.virtual-account.v1",
>;
regionCode: TOptional<TString>;
},
>;
description: "This operation simulates the product activation for the provided criteria. Both customer and admin configurations are taken into account.\n\nUse this operation to test whether the desired outcome is achieved after making configuration changes.";
response: {
"200": TObject<
{
effectiveRule: TUnsafe<
| {
matcher: object;
status: "ACTIVE"
| "DISABLED";
value: "ACTIVE" | "INACTIVE";
}
| null,
>;
reason: TUnsafe<
| "SET_BY_CUSTOMER"
| "SET_BY_ADMIN_FOR_CUSTOMER"
| "SET_BY_ADMIN_GLOBALLY"
| "NO_MATCHING_RULES",
>;
status: TUnsafe<"ACTIVE" | "INACTIVE">;
},
>;
};
summary: "Test the product activation configurations";
tags: readonly ["Product config"];
};
};
} = ...
Type Declaration
Readonly/v1/product/config: {
get: {
querystring: TObject<
{ products: TOptional<TString>; statuses: TOptional<TString> },
>;
response: {
"200": TObject<
{
items: TArray<
TObject<
{
activationRules: TArray<TObject<(...)>>;
createdAt: TString;
product: TUnsafe<
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)
| (...),
>;
status: TUnsafe<(...) | (...)>;
updatedAt: TString;
},
>,
>;
},
>;
};
summary: "Search all existing product configurations";
tags: readonly ["Product config"];
};
post: {
body: TIntersect<
[
TObject<
{
product: TUnsafe<
| "organization.v1"
| "identity.v1"
| "card.physical_card.v1"
| "card.virtual_card.v1"
| "deposit.rtp.v1"
| "deposit.ach_credit.v1"
| "deposit.us_bank_ach.v1"
| "deposit.us_cash.v1"
| "deposit.us_wire.v1"
| "deposit.swift_wire.v1"
| "transfer.redemption.v1"
| "swap.v1"
| "withdraw.blockchain.v1"
| "withdraw.ke_bank.v1"
| "withdraw.ke_momo.v1"
| "withdraw.mx_bank_spei.v1"
| "withdraw.swift_wire.v1"
| "withdraw.tg_momo.v1"
| "withdraw.us_bank_ach.v1"
| "withdraw.us_instant.v1"
| "withdraw.us_wire.v1"
| "withdraw.ach_pull.v1"
| "withdraw.us_wire_drawdown.v1"
| "account.virtual-account.v1",
>;
status: TUnsafe<"ACTIVE" | "DISABLED">;
},
>,
TObject<
{
deactivationRules: TArray<
TObject<{ matcher: TObject<(...)>; status: TUnsafe<(...)> }>,
>;
},
>,
],
>;
description: "CFX defines a default list of products that are available to identities and organizations that belong to a given customer.\nThis endpoint allows the customer to make a subset of those products unavailable based on their own requirements.\n\nIf the configuration already exists, this operation completely replaces with the newly provided configurations. See the [configuration guide](https://docs.moveusd.com/docs/product-configurations) for an introduction on how to use rules.\n\nCurrently supported fields for the matcher are:\n\n* `entityType`: `IDENTITY` or `ORGANIZATION`\n* `countryCode`: 2-letter ISO country code, e.g. `US`, `MX`\n* `regionCode`: 2-letter ISO country subdivision code, e.g. US states such as `FL` or `NY`\n * Optional: not all products capture this information";
response: {
"200": TObject<
{
activationRules: TArray<
TObject<
{
matcher: TObject<{}>;
status: TUnsafe<(...) | (...)>;
value: TUnsafe<(...) | (...)>;
},
>,
>;
createdAt: TString;
product: TUnsafe<
| "organization.v1"
| "identity.v1"
| "card.physical_card.v1"
| "card.virtual_card.v1"
| "deposit.rtp.v1"
| "deposit.ach_credit.v1"
| "deposit.us_bank_ach.v1"
| "deposit.us_cash.v1"
| "deposit.us_wire.v1"
| "deposit.swift_wire.v1"
| "transfer.redemption.v1"
| "swap.v1"
| "withdraw.blockchain.v1"
| "withdraw.ke_bank.v1"
| "withdraw.ke_momo.v1"
| "withdraw.mx_bank_spei.v1"
| "withdraw.swift_wire.v1"
| "withdraw.tg_momo.v1"
| "withdraw.us_bank_ach.v1"
| "withdraw.us_instant.v1"
| "withdraw.us_wire.v1"
| "withdraw.ach_pull.v1"
| "withdraw.us_wire_drawdown.v1"
| "account.virtual-account.v1",
>;
status: TUnsafe<"ACTIVE" | "DISABLED">;
updatedAt: TString;
},
>;
"400": TObject<{ code: TLiteral<"NO_RULES">; message: TString }>;
};
summary: "Create or update a product configuration";
tags: readonly ["Product config"];
};
}
Readonly/v1/product/config/{product}: {
delete: {
params: TObject<
{
product: TUnsafe<
| "organization.v1"
| "identity.v1"
| "card.physical_card.v1"
| "card.virtual_card.v1"
| "deposit.rtp.v1"
| "deposit.ach_credit.v1"
| "deposit.us_bank_ach.v1"
| "deposit.us_cash.v1"
| "deposit.us_wire.v1"
| "deposit.swift_wire.v1"
| "transfer.redemption.v1"
| "swap.v1"
| "withdraw.blockchain.v1"
| "withdraw.ke_bank.v1"
| "withdraw.ke_momo.v1"
| "withdraw.mx_bank_spei.v1"
| "withdraw.swift_wire.v1"
| "withdraw.tg_momo.v1"
| "withdraw.us_bank_ach.v1"
| "withdraw.us_instant.v1"
| "withdraw.us_wire.v1"
| "withdraw.ach_pull.v1"
| "withdraw.us_wire_drawdown.v1"
| "account.virtual-account.v1",
>;
},
>;
response: {
"204": TNull;
"404": TObject<{ code: TLiteral<"NOT_FOUND">; message: TString }>;
};
summary: "Delete an existing product configuration";
tags: readonly ["Product config"];
};
}
Readonly/v1/product/config/test-activation: {
post: {
body: TObject<
{
countryCode: TString;
entityType: TUnsafe<"ORGANIZATION" | "IDENTITY">;
product: TUnsafe<
| "organization.v1"
| "identity.v1"
| "card.physical_card.v1"
| "card.virtual_card.v1"
| "deposit.rtp.v1"
| "deposit.ach_credit.v1"
| "deposit.us_bank_ach.v1"
| "deposit.us_cash.v1"
| "deposit.us_wire.v1"
| "deposit.swift_wire.v1"
| "transfer.redemption.v1"
| "swap.v1"
| "withdraw.blockchain.v1"
| "withdraw.ke_bank.v1"
| "withdraw.ke_momo.v1"
| "withdraw.mx_bank_spei.v1"
| "withdraw.swift_wire.v1"
| "withdraw.tg_momo.v1"
| "withdraw.us_bank_ach.v1"
| "withdraw.us_instant.v1"
| "withdraw.us_wire.v1"
| "withdraw.ach_pull.v1"
| "withdraw.us_wire_drawdown.v1"
| "account.virtual-account.v1",
>;
regionCode: TOptional<TString>;
},
>;
description: "This operation simulates the product activation for the provided criteria. Both customer and admin configurations are taken into account.\n\nUse this operation to test whether the desired outcome is achieved after making configuration changes.";
response: {
"200": TObject<
{
effectiveRule: TUnsafe<
| {
matcher: object;
status: "ACTIVE"
| "DISABLED";
value: "ACTIVE" | "INACTIVE";
}
| null,
>;
reason: TUnsafe<
| "SET_BY_CUSTOMER"
| "SET_BY_ADMIN_FOR_CUSTOMER"
| "SET_BY_ADMIN_GLOBALLY"
| "NO_MATCHING_RULES",
>;
status: TUnsafe<"ACTIVE" | "INACTIVE">;
},
>;
};
summary: "Test the product activation configurations";
tags: readonly ["Product config"];
};
}