Variable withdrawalApiConst
withdrawalApi: {
"/v1/withdrawal": {
get: {
description: "Search for Withdrawals for a given `identityId` or `organizationId`.\nThe `identityId` or `organizationId` query parameters are mandatory. Withdrawals can be further filtered by populating the `status` request parameters.\n\nThe status parameter can either be set using a single value (eg `COMPLETED`) or by providing a comma separated list (eg `COMPLETED,PENDING`)";
querystring: TIntersect<
[
TObject<
{
identityId: TOptional<TString>;
organizationId: TOptional<TString>;
},
>,
TObject<{ status: TOptional<TString> }>,
],
>;
response: {
"200": TArray<
TUnion<
[
TIntersect<
[TObject<{ identityId: ... }>, TIntersect<[(...), (...)]>],
>,
TIntersect<
[TObject<{ organizationId: ... }>, TIntersect<[(...), (...)]>],
>,
],
>,
>;
"400": TObject<
{
code: TString;
details: TOptional<TRecord<"^.*$", TAny>>;
message: TString;
},
>;
default: TObject<
{
code: TString;
details: TOptional<TRecord<"^.*$", TAny>>;
message: TString;
},
>;
};
summary: "Search Withdrawal";
tags: readonly ["Withdrawal"];
};
};
"/v1/withdrawal/{id}": {
get: {
description: "Retrieve details associated with a specific withdrawal.";
params: TObject<{ id: TString }>;
response: {
"200": TUnion<
[
TIntersect<
[
TObject<{ identityId: TString }>,
TIntersect<[TObject<(...)>, TUnion<(...)>]>,
],
>,
TIntersect<
[
TObject<{ organizationId: TString }>,
TIntersect<[TObject<(...)>, TUnion<(...)>]>,
],
>,
],
>;
"400": TObject<
{
code: TString;
details: TOptional<TRecord<"^.*$", TAny>>;
message: TString;
},
>;
"404": TObject<
{
code: TLiteral<"notFound">;
details: TOptional<TRecord<"^.*$", TAny>>;
message: TString;
},
>;
default: TObject<
{
code: TString;
details: TOptional<TRecord<"^.*$", TAny>>;
message: TString;
},
>;
};
summary: "Get Withdrawal";
tags: readonly ["Withdrawal"];
};
};
"/v1/withdrawal/af/channels": {
get: {
description: "Returns an array of available withdrawal channels for a given country";
querystring: TObject<{ country: TOptional<TString> }>;
response: {
"200": TArray<
TObject<
{
channelType: TString;
country: TString;
createdAt: TString;
currency: TString;
feeLocal: TNumber;
feeUSD: TNumber;
id: TString;
max: TNumber;
min: TNumber;
rampType: TString;
status: TString;
updatedAt: TString;
vendorId: TString;
},
>,
>;
"400": TObject<
{
code: TString;
details: TOptional<TRecord<"^.*$", TAny>>;
message: TString;
},
>;
default: TObject<
{
code: TString;
details: TOptional<TRecord<"^.*$", TAny>>;
message: TString;
},
>;
};
summary: "Get Available Africa Withdrawal Channels";
tags: readonly ["Africa", "Channels"];
};
};
"/v1/withdrawal/af/networks": {
get: {
description: "Returns an array of available withdrawal networks for a given country";
querystring: TObject<{ country: TString }>;
response: {
"200": TArray<
TObject<
{
accountNumberType: TString;
channelIds: TArray<TString>;
code: TOptional<TString>;
country: TString;
id: TString;
name: TString;
status: TString;
},
>,
>;
"400": TObject<
{
code: TString;
details: TOptional<TRecord<"^.*$", TAny>>;
message: TString;
},
>;
default: TObject<
{
code: TString;
details: TOptional<TRecord<"^.*$", TAny>>;
message: TString;
},
>;
};
summary: "Get Available Africa Withdrawal Networks";
tags: readonly ["Africa", "Networks"];
};
};
"/v1/withdrawal/products": {
get: {
description: "Retrieve the Withdrawal products enabled for a specific CFX Identity.\n\nThis endpoint returns the list of withdrawal products activated for the Identity, as well as the limits and current usage associated with each product.";
querystring: TIntersect<
[
TObject<
{
identityId: TOptional<TString>;
organizationId: TOptional<TString>;
},
>,
TObject<{}>,
],
>;
response: {
"200": TObject<
{
aggregated: TObject<
{
limits: TObject<
{
dailyCountLimit: TOptional<(...)>;
dailyCurrencyLimit: TOptional<(...)>;
lifetimeCountLimit: TOptional<(...)>;
monthlyCountLimit: TOptional<(...)>;
monthlyCurrencyLimit: TOptional<(...)>;
perTransactionMaximum: TOptional<(...)>;
perTransactionMinimum: TOptional<(...)>;
weeklyCountLimit: TOptional<(...)>;
weeklyCurrencyLimit: TOptional<(...)>;
},
>;
usage: TObject<
{
last30Days: TObject<(...)>;
last7Days: TObject<(...)>;
lifetime: TObject<(...)>;
today: TObject<(...)>;
},
>;
},
>;
products: TArray<
TObject<
{
limits: TObject<
{
dailyCountLimit: ...;
dailyCurrencyLimit: ...;
lifetimeCountLimit: ...;
monthlyCountLimit: ...;
monthlyCurrencyLimit: ...;
perTransactionMaximum: ...;
perTransactionMinimum: ...;
weeklyCountLimit: ...;
weeklyCurrencyLimit: ...;
},
>;
name: TUnion<[(...), (...), (...), (...)]>;
usage: TObject<
{ last30Days: ...; last7Days: ...; lifetime: ...; today: ... },
>;
},
>,
>;
},
>;
"400": TObject<
{
code: TString;
details: TOptional<TRecord<"^.*$", TAny>>;
message: TString;
},
>;
default: TObject<
{
code: TString;
details: TOptional<TRecord<"^.*$", TAny>>;
message: TString;
},
>;
};
summary: "Get Withdrawal Products";
tags: readonly ["Withdrawal"];
};
};
"/v1/withdrawal/rate": {
get: {
description: "Get the conversation rates for a source and target currency prior to a withdrawal.";
querystring: TObject<
{
sourceCurrency: TUnsafe<"USDC" | "MOVEUSD">;
targetCurrency: TUnsafe<
| "USD"
| "MXN"
| "XOF"
| "KES"
| "AUD"
| "HKD"
| "JPY"
| "NZD"
| "SGD"
| "SEK"
| "CHF"
| "CAD"
| "GBP"
| "CZK"
| "DKK"
| "EUR",
>;
},
>;
response: {
"200": TObject<
{
fxRate: TNumber;
sourceCurrency: TUnsafe<"USDC" | "MOVEUSD">;
targetCurrency: TUnsafe<
| "USD"
| "MXN"
| "XOF"
| "KES"
| "AUD"
| "HKD"
| "JPY"
| "NZD"
| "SGD"
| "SEK"
| "CHF"
| "CAD"
| "GBP"
| "CZK"
| "DKK"
| "EUR",
>;
},
>;
"400": TObject<
{
code: TString;
details: TOptional<TRecord<"^.*$", TAny>>;
message: TString;
},
>;
default: TObject<
{
code: TString;
details: TOptional<TRecord<"^.*$", TAny>>;
message: TString;
},
>;
};
summary: "Get Withdrawal Rates";
tags: readonly ["Rate"];
};
};
} = ...
Type Declaration
Readonly/v1/withdrawal: {
get: {
description: "Search for Withdrawals for a given `identityId` or `organizationId`.\nThe `identityId` or `organizationId` query parameters are mandatory. Withdrawals can be further filtered by populating the `status` request parameters.\n\nThe status parameter can either be set using a single value (eg `COMPLETED`) or by providing a comma separated list (eg `COMPLETED,PENDING`)";
querystring: TIntersect<
[
TObject<
{
identityId: TOptional<TString>;
organizationId: TOptional<TString>;
},
>,
TObject<{ status: TOptional<TString> }>,
],
>;
response: {
"200": TArray<
TUnion<
[
TIntersect<
[TObject<{ identityId: ... }>, TIntersect<[(...), (...)]>],
>,
TIntersect<
[TObject<{ organizationId: ... }>, TIntersect<[(...), (...)]>],
>,
],
>,
>;
"400": TObject<
{
code: TString;
details: TOptional<TRecord<"^.*$", TAny>>;
message: TString;
},
>;
default: TObject<
{
code: TString;
details: TOptional<TRecord<"^.*$", TAny>>;
message: TString;
},
>;
};
summary: "Search Withdrawal";
tags: readonly ["Withdrawal"];
};
}
Readonly/v1/withdrawal/{id}: {
get: {
description: "Retrieve details associated with a specific withdrawal.";
params: TObject<{ id: TString }>;
response: {
"200": TUnion<
[
TIntersect<
[
TObject<{ identityId: TString }>,
TIntersect<[TObject<(...)>, TUnion<(...)>]>,
],
>,
TIntersect<
[
TObject<{ organizationId: TString }>,
TIntersect<[TObject<(...)>, TUnion<(...)>]>,
],
>,
],
>;
"400": TObject<
{
code: TString;
details: TOptional<TRecord<"^.*$", TAny>>;
message: TString;
},
>;
"404": TObject<
{
code: TLiteral<"notFound">;
details: TOptional<TRecord<"^.*$", TAny>>;
message: TString;
},
>;
default: TObject<
{
code: TString;
details: TOptional<TRecord<"^.*$", TAny>>;
message: TString;
},
>;
};
summary: "Get Withdrawal";
tags: readonly ["Withdrawal"];
};
}
Readonly/v1/withdrawal/af/channels: {
get: {
description: "Returns an array of available withdrawal channels for a given country";
querystring: TObject<{ country: TOptional<TString> }>;
response: {
"200": TArray<
TObject<
{
channelType: TString;
country: TString;
createdAt: TString;
currency: TString;
feeLocal: TNumber;
feeUSD: TNumber;
id: TString;
max: TNumber;
min: TNumber;
rampType: TString;
status: TString;
updatedAt: TString;
vendorId: TString;
},
>,
>;
"400": TObject<
{
code: TString;
details: TOptional<TRecord<"^.*$", TAny>>;
message: TString;
},
>;
default: TObject<
{
code: TString;
details: TOptional<TRecord<"^.*$", TAny>>;
message: TString;
},
>;
};
summary: "Get Available Africa Withdrawal Channels";
tags: readonly ["Africa", "Channels"];
};
}
Readonly/v1/withdrawal/af/networks: {
get: {
description: "Returns an array of available withdrawal networks for a given country";
querystring: TObject<{ country: TString }>;
response: {
"200": TArray<
TObject<
{
accountNumberType: TString;
channelIds: TArray<TString>;
code: TOptional<TString>;
country: TString;
id: TString;
name: TString;
status: TString;
},
>,
>;
"400": TObject<
{
code: TString;
details: TOptional<TRecord<"^.*$", TAny>>;
message: TString;
},
>;
default: TObject<
{
code: TString;
details: TOptional<TRecord<"^.*$", TAny>>;
message: TString;
},
>;
};
summary: "Get Available Africa Withdrawal Networks";
tags: readonly ["Africa", "Networks"];
};
}
Readonly/v1/withdrawal/products: {
get: {
description: "Retrieve the Withdrawal products enabled for a specific CFX Identity.\n\nThis endpoint returns the list of withdrawal products activated for the Identity, as well as the limits and current usage associated with each product.";
querystring: TIntersect<
[
TObject<
{
identityId: TOptional<TString>;
organizationId: TOptional<TString>;
},
>,
TObject<{}>,
],
>;
response: {
"200": TObject<
{
aggregated: TObject<
{
limits: TObject<
{
dailyCountLimit: TOptional<(...)>;
dailyCurrencyLimit: TOptional<(...)>;
lifetimeCountLimit: TOptional<(...)>;
monthlyCountLimit: TOptional<(...)>;
monthlyCurrencyLimit: TOptional<(...)>;
perTransactionMaximum: TOptional<(...)>;
perTransactionMinimum: TOptional<(...)>;
weeklyCountLimit: TOptional<(...)>;
weeklyCurrencyLimit: TOptional<(...)>;
},
>;
usage: TObject<
{
last30Days: TObject<(...)>;
last7Days: TObject<(...)>;
lifetime: TObject<(...)>;
today: TObject<(...)>;
},
>;
},
>;
products: TArray<
TObject<
{
limits: TObject<
{
dailyCountLimit: ...;
dailyCurrencyLimit: ...;
lifetimeCountLimit: ...;
monthlyCountLimit: ...;
monthlyCurrencyLimit: ...;
perTransactionMaximum: ...;
perTransactionMinimum: ...;
weeklyCountLimit: ...;
weeklyCurrencyLimit: ...;
},
>;
name: TUnion<[(...), (...), (...), (...)]>;
usage: TObject<
{ last30Days: ...; last7Days: ...; lifetime: ...; today: ... },
>;
},
>,
>;
},
>;
"400": TObject<
{
code: TString;
details: TOptional<TRecord<"^.*$", TAny>>;
message: TString;
},
>;
default: TObject<
{
code: TString;
details: TOptional<TRecord<"^.*$", TAny>>;
message: TString;
},
>;
};
summary: "Get Withdrawal Products";
tags: readonly ["Withdrawal"];
};
}
Readonly/v1/withdrawal/rate: {
get: {
description: "Get the conversation rates for a source and target currency prior to a withdrawal.";
querystring: TObject<
{
sourceCurrency: TUnsafe<"USDC" | "MOVEUSD">;
targetCurrency: TUnsafe<
| "USD"
| "MXN"
| "XOF"
| "KES"
| "AUD"
| "HKD"
| "JPY"
| "NZD"
| "SGD"
| "SEK"
| "CHF"
| "CAD"
| "GBP"
| "CZK"
| "DKK"
| "EUR",
>;
},
>;
response: {
"200": TObject<
{
fxRate: TNumber;
sourceCurrency: TUnsafe<"USDC" | "MOVEUSD">;
targetCurrency: TUnsafe<
| "USD"
| "MXN"
| "XOF"
| "KES"
| "AUD"
| "HKD"
| "JPY"
| "NZD"
| "SGD"
| "SEK"
| "CHF"
| "CAD"
| "GBP"
| "CZK"
| "DKK"
| "EUR",
>;
},
>;
"400": TObject<
{
code: TString;
details: TOptional<TRecord<"^.*$", TAny>>;
message: TString;
},
>;
default: TObject<
{
code: TString;
details: TOptional<TRecord<"^.*$", TAny>>;
message: TString;
},
>;
};
summary: "Get Withdrawal Rates";
tags: readonly ["Rate"];
};
}