@cfxlabsinc/b2b-services
    Preparing search index...
    cashDepositApi: {
        "/v1/deposit/cash": {
            get: {
                description: "Search cash deposits requests for a given `identityId`.\nThe `identityId` query parameter is mandatory. Deposits can be further filtered by populating the `status` and `reference` parameters.\n\nNote that cash deposits requests will result in the creation of a Deposit once the user has presented the barcode and successfully made payment at a retailer.";
                querystring: TObject<
                    {
                        identityId: TString;
                        reference: TOptional<TString>;
                        status: TOptional<TString>;
                    },
                >;
                response: {
                    "200": TObject<
                        {
                            results: TArray<
                                TObject<
                                    {
                                        barcodeNumber: TString;
                                        createdAt: TString;
                                        depositId: TOptional<TString>;
                                        deviceIpAddress: TOptional<TString>;
                                        deviceLocation: TOptional<TObject<(...)>>;
                                        expiresAt: TString;
                                        id: TString;
                                        identityId: TString;
                                        legacyId: TOptional<TString>;
                                        metadata: TOptional<TRecord<(...), (...)>>;
                                        quote: TOptional<TObject<(...)>>;
                                        reference: TString;
                                        retailerId: TString;
                                        retailerName: TString;
                                        status: TUnsafe<
                                            (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...),
                                        >;
                                        updatedAt: TString;
                                        wallet: TObject<{ address: ...; blockchain: ... }>;
                                    },
                                >,
                            >;
                        },
                    >;
                    "400": TObject<
                        {
                            code: TString;
                            details: TOptional<TRecord<"^.*$", TAny>>;
                            message: TString;
                        },
                    >;
                    default: TObject<
                        {
                            code: TString;
                            details: TOptional<TRecord<"^.*$", TAny>>;
                            message: TString;
                        },
                    >;
                };
                summary: "Search Cash Deposit Request";
                tags: readonly ["Cash"];
            };
            post: {
                body: TObject<
                    {
                        amount: TOptional<
                            TObject<{ amount: TNumber; currency: TLiteral<"USD"> }>,
                        >;
                        amountOut: TOptional<
                            TObject<{ amount: TNumber; currency: TUnsafe<"USDC" | "MOVEUSD"> }>,
                        >;
                        deviceIpAddress: TOptional<TString>;
                        deviceLocation: TObject<
                            { lat: TNumber; long: TNumber; source: TLiteral<"ip"> },
                        >;
                        identityId: TString;
                        metadata: TOptional<TRecord<"^.*$", TAny>>;
                        reference: TString;
                        retailerId: TString;
                        targetCurrency: TOptional<TUnsafe<"USDC" | "MOVEUSD">>;
                        user: TIntersect<
                            [
                                TObject<
                                    {
                                        address: TOptional<TString>;
                                        firstName: TString;
                                        lastName: TString;
                                    },
                                >,
                                TObject<{ zipcode: TOptional<TString> }>,
                            ],
                        >;
                        wallet: TObject<{ address: TString; blockchain: TLiteral<"SOLANA"> }>;
                    },
                >;
                description: "Create a cash deposit request to enable a nominated identity to subsequently deposit cash at a specified retailer.\n\nThis endpoint triggers a workflow which orchestrates the deposit of funds at a nominated retailer. To initiate the workflow this endpoint requires:\n\n- `retailerId` to be provided.\n- `identityId` of the end user making the deposit.\n- Nomination of a `targetWallet` where deposited funds will subsequently be transferred.\n\nThe endpoint will return generated deposit request details with a `barcodeNumber` which can then be rendered and presented by the user at the retailer.\n\nThis barcode will allow the retailer to correlate user's visit with the registered cash deposit. When notification of a successful payment arrives from the retailer a Deposit entry is created within our systems.";
                response: {
                    "200": TObject<
                        {
                            barcodeNumber: TString;
                            createdAt: TString;
                            depositId: TOptional<TString>;
                            deviceIpAddress: TOptional<TString>;
                            deviceLocation: TOptional<
                                TObject<{ lat: TNumber; long: TNumber; source: TLiteral<"ip"> }>,
                            >;
                            expiresAt: TString;
                            id: TString;
                            identityId: TString;
                            legacyId: TOptional<TString>;
                            metadata: TOptional<TRecord<"^.*$", TAny>>;
                            quote: TOptional<
                                TObject<
                                    {
                                        amountIn: TObject<{ amount: ...; currency: ... }>;
                                        amountOut: TObject<{ amount: ...; currency: ... }>;
                                        fees: TArray<TObject<(...)>>;
                                    },
                                >,
                            >;
                            reference: TString;
                            retailerId: TString;
                            retailerName: TString;
                            status: TUnsafe<
                                | "CREATED"
                                | "PENDING"
                                | "EXPIRED"
                                | "CANCELLED"
                                | "CONSUMED"
                                | "VOIDED"
                                | "DECLINED",
                            >;
                            updatedAt: TString;
                            wallet: TObject<{ address: TString; blockchain: TLiteral<"SOLANA"> }>;
                        },
                    >;
                    "400": TObject<
                        {
                            code: TString;
                            details: TOptional<TRecord<"^.*$", TAny>>;
                            message: TString;
                        },
                    >;
                    default: TObject<
                        {
                            code: TString;
                            details: TOptional<TRecord<"^.*$", TAny>>;
                            message: TString;
                        },
                    >;
                };
                summary: "Create Cash Deposit Request";
                tags: readonly ["Cash"];
            };
        };
        "/v1/deposit/cash/{id}": {
            get: {
                description: "Retrieve a previously submitted cash deposit request.";
                params: TObject<{ id: TString }>;
                response: {
                    "200": TIntersect<
                        [
                            TObject<
                                {
                                    createdAt: TString;
                                    depositId: TOptional<TString>;
                                    deviceIpAddress: TOptional<TString>;
                                    deviceLocation: TOptional<
                                        TObject<{ lat: ...; long: ...; source: ... }>,
                                    >;
                                    id: TString;
                                    legacyId: TOptional<TString>;
                                    reference: TString;
                                    updatedAt: TString;
                                    wallet: TObject<{ address: TString; blockchain: TLiteral<(...)> }>;
                                },
                            >,
                            TObject<
                                {
                                    barcodeNumber: TString;
                                    expiresAt: TString;
                                    id: TString;
                                    identityId: TString;
                                    metadata: TOptional<TRecord<"^.*$", TAny>>;
                                    quote: TOptional<
                                        TObject<{ amountIn: ...; amountOut: ...; fees: ... }>,
                                    >;
                                    retailerId: TString;
                                    retailerName: TString;
                                    status: TUnsafe<
                                        | "CREATED"
                                        | "PENDING"
                                        | "EXPIRED"
                                        | "CANCELLED"
                                        | "CONSUMED"
                                        | "VOIDED"
                                        | "DECLINED",
                                    >;
                                    user: TObject<
                                        {
                                            address: TOptional<(...)>;
                                            firstName: TString;
                                            lastName: TString;
                                            zipcode: TString;
                                        },
                                    >;
                                },
                            >,
                        ],
                    >;
                    "400": TObject<
                        {
                            code: TString;
                            details: TOptional<TRecord<"^.*$", TAny>>;
                            message: TString;
                        },
                    >;
                    "404": TObject<
                        {
                            code: TLiteral<"notFound">;
                            details: TOptional<TRecord<"^.*$", TAny>>;
                            message: TString;
                        },
                    >;
                };
                summary: "Get Cash Deposit Request";
                tags: readonly ["Cash"];
            };
        };
        "/v1/deposit/cash/{id}/cancel": {
            post: {
                description: "Cancel a cash deposit request. Note that this endpoint can only be utilised before the user payment at a retailer has been successfully completed.";
                params: TObject<{ id: TString }>;
                response: {
                    "200": TObject<{ id: TString }>;
                    "400": TObject<
                        { code: TLiteral<"DEPOSIT_ALREADY_PROCESSED">; message: TString },
                    >;
                    "404": TObject<{ code: TLiteral<"NOT_FOUND">; message: TString }>;
                    default: TObject<
                        {
                            code: TString;
                            details: TOptional<TRecord<"^.*$", TAny>>;
                            message: TString;
                        },
                    >;
                };
                summary: "Cancel Cash Deposit Request";
                tags: readonly ["Cash"];
            };
        };
        "/v1/deposit/cash/location": {
            get: {
                description: "Search for nearest cash deposit locations based on a provided zipcode or latitude and longitude pair.\n\nThis endpoint will expect either a single zipcode query parameter or both the latitude and longitude parameters to be populated.";
                querystring: TIntersect<
                    [
                        TUnion<
                            [
                                TObject<{ zipcode: TString }>,
                                TObject<{ latitude: TString; longitude: TString }>,
                            ],
                        >,
                        TObject<{ page: TOptional<TNumber>; pageSize: TOptional<TNumber> }>,
                    ],
                >;
                response: {
                    "200": TObject<
                        {
                            page: TNumber;
                            pageSize: TNumber;
                            results: TArray<
                                TObject<
                                    {
                                        address: TString;
                                        city: TString;
                                        latitude: TString;
                                        locationId: TString;
                                        longitude: TString;
                                        phone: TString;
                                        retailerId: TString;
                                        retailerName: TString;
                                        state: TString;
                                        zipcode: TString;
                                    },
                                >,
                            >;
                        },
                    >;
                    "400": TObject<
                        {
                            code: TString;
                            details: TOptional<TRecord<"^.*$", TAny>>;
                            message: TString;
                        },
                    >;
                    default: TObject<
                        {
                            code: TString;
                            details: TOptional<TRecord<"^.*$", TAny>>;
                            message: TString;
                        },
                    >;
                };
                summary: "Search Cash Deposit Locations";
                tags: readonly ["Cash"];
            };
        };
        "/v1/deposit/cash/retailer": {
            get: {
                description: "Retrieve the list of retailers within the CFX Network that will accept cash deposits.";
                response: {
                    "200": TObject<
                        {
                            results: TArray<
                                TObject<
                                    {
                                        enabled: TOptional<TBoolean>;
                                        id: TString;
                                        name: TString;
                                        providerDescription: TOptional<TString>;
                                        providerName: TOptional<TString>;
                                        slug: TOptional<TString>;
                                    },
                                >,
                            >;
                        },
                    >;
                    "400": TObject<
                        {
                            code: TString;
                            details: TOptional<TRecord<"^.*$", TAny>>;
                            message: TString;
                        },
                    >;
                    default: TObject<
                        {
                            code: TString;
                            details: TOptional<TRecord<"^.*$", TAny>>;
                            message: TString;
                        },
                    >;
                };
                summary: "Get Cash Deposit Retailers";
                tags: readonly ["Cash"];
            };
        };
    } = ...

    Type Declaration

    • Readonly/v1/deposit/cash: {
          get: {
              description: "Search cash deposits requests for a given `identityId`.\nThe `identityId` query parameter is mandatory. Deposits can be further filtered by populating the `status` and `reference` parameters.\n\nNote that cash deposits requests will result in the creation of a Deposit once the user has presented the barcode and successfully made payment at a retailer.";
              querystring: TObject<
                  {
                      identityId: TString;
                      reference: TOptional<TString>;
                      status: TOptional<TString>;
                  },
              >;
              response: {
                  "200": TObject<
                      {
                          results: TArray<
                              TObject<
                                  {
                                      barcodeNumber: TString;
                                      createdAt: TString;
                                      depositId: TOptional<TString>;
                                      deviceIpAddress: TOptional<TString>;
                                      deviceLocation: TOptional<TObject<(...)>>;
                                      expiresAt: TString;
                                      id: TString;
                                      identityId: TString;
                                      legacyId: TOptional<TString>;
                                      metadata: TOptional<TRecord<(...), (...)>>;
                                      quote: TOptional<TObject<(...)>>;
                                      reference: TString;
                                      retailerId: TString;
                                      retailerName: TString;
                                      status: TUnsafe<
                                          (...)
                                          | (...)
                                          | (...)
                                          | (...)
                                          | (...)
                                          | (...)
                                          | (...),
                                      >;
                                      updatedAt: TString;
                                      wallet: TObject<{ address: ...; blockchain: ... }>;
                                  },
                              >,
                          >;
                      },
                  >;
                  "400": TObject<
                      {
                          code: TString;
                          details: TOptional<TRecord<"^.*$", TAny>>;
                          message: TString;
                      },
                  >;
                  default: TObject<
                      {
                          code: TString;
                          details: TOptional<TRecord<"^.*$", TAny>>;
                          message: TString;
                      },
                  >;
              };
              summary: "Search Cash Deposit Request";
              tags: readonly ["Cash"];
          };
          post: {
              body: TObject<
                  {
                      amount: TOptional<
                          TObject<{ amount: TNumber; currency: TLiteral<"USD"> }>,
                      >;
                      amountOut: TOptional<
                          TObject<{ amount: TNumber; currency: TUnsafe<"USDC" | "MOVEUSD"> }>,
                      >;
                      deviceIpAddress: TOptional<TString>;
                      deviceLocation: TObject<
                          { lat: TNumber; long: TNumber; source: TLiteral<"ip"> },
                      >;
                      identityId: TString;
                      metadata: TOptional<TRecord<"^.*$", TAny>>;
                      reference: TString;
                      retailerId: TString;
                      targetCurrency: TOptional<TUnsafe<"USDC" | "MOVEUSD">>;
                      user: TIntersect<
                          [
                              TObject<
                                  {
                                      address: TOptional<TString>;
                                      firstName: TString;
                                      lastName: TString;
                                  },
                              >,
                              TObject<{ zipcode: TOptional<TString> }>,
                          ],
                      >;
                      wallet: TObject<{ address: TString; blockchain: TLiteral<"SOLANA"> }>;
                  },
              >;
              description: "Create a cash deposit request to enable a nominated identity to subsequently deposit cash at a specified retailer.\n\nThis endpoint triggers a workflow which orchestrates the deposit of funds at a nominated retailer. To initiate the workflow this endpoint requires:\n\n- `retailerId` to be provided.\n- `identityId` of the end user making the deposit.\n- Nomination of a `targetWallet` where deposited funds will subsequently be transferred.\n\nThe endpoint will return generated deposit request details with a `barcodeNumber` which can then be rendered and presented by the user at the retailer.\n\nThis barcode will allow the retailer to correlate user's visit with the registered cash deposit. When notification of a successful payment arrives from the retailer a Deposit entry is created within our systems.";
              response: {
                  "200": TObject<
                      {
                          barcodeNumber: TString;
                          createdAt: TString;
                          depositId: TOptional<TString>;
                          deviceIpAddress: TOptional<TString>;
                          deviceLocation: TOptional<
                              TObject<{ lat: TNumber; long: TNumber; source: TLiteral<"ip"> }>,
                          >;
                          expiresAt: TString;
                          id: TString;
                          identityId: TString;
                          legacyId: TOptional<TString>;
                          metadata: TOptional<TRecord<"^.*$", TAny>>;
                          quote: TOptional<
                              TObject<
                                  {
                                      amountIn: TObject<{ amount: ...; currency: ... }>;
                                      amountOut: TObject<{ amount: ...; currency: ... }>;
                                      fees: TArray<TObject<(...)>>;
                                  },
                              >,
                          >;
                          reference: TString;
                          retailerId: TString;
                          retailerName: TString;
                          status: TUnsafe<
                              | "CREATED"
                              | "PENDING"
                              | "EXPIRED"
                              | "CANCELLED"
                              | "CONSUMED"
                              | "VOIDED"
                              | "DECLINED",
                          >;
                          updatedAt: TString;
                          wallet: TObject<{ address: TString; blockchain: TLiteral<"SOLANA"> }>;
                      },
                  >;
                  "400": TObject<
                      {
                          code: TString;
                          details: TOptional<TRecord<"^.*$", TAny>>;
                          message: TString;
                      },
                  >;
                  default: TObject<
                      {
                          code: TString;
                          details: TOptional<TRecord<"^.*$", TAny>>;
                          message: TString;
                      },
                  >;
              };
              summary: "Create Cash Deposit Request";
              tags: readonly ["Cash"];
          };
      }
    • Readonly/v1/deposit/cash/{id}: {
          get: {
              description: "Retrieve a previously submitted cash deposit request.";
              params: TObject<{ id: TString }>;
              response: {
                  "200": TIntersect<
                      [
                          TObject<
                              {
                                  createdAt: TString;
                                  depositId: TOptional<TString>;
                                  deviceIpAddress: TOptional<TString>;
                                  deviceLocation: TOptional<
                                      TObject<{ lat: ...; long: ...; source: ... }>,
                                  >;
                                  id: TString;
                                  legacyId: TOptional<TString>;
                                  reference: TString;
                                  updatedAt: TString;
                                  wallet: TObject<{ address: TString; blockchain: TLiteral<(...)> }>;
                              },
                          >,
                          TObject<
                              {
                                  barcodeNumber: TString;
                                  expiresAt: TString;
                                  id: TString;
                                  identityId: TString;
                                  metadata: TOptional<TRecord<"^.*$", TAny>>;
                                  quote: TOptional<
                                      TObject<{ amountIn: ...; amountOut: ...; fees: ... }>,
                                  >;
                                  retailerId: TString;
                                  retailerName: TString;
                                  status: TUnsafe<
                                      | "CREATED"
                                      | "PENDING"
                                      | "EXPIRED"
                                      | "CANCELLED"
                                      | "CONSUMED"
                                      | "VOIDED"
                                      | "DECLINED",
                                  >;
                                  user: TObject<
                                      {
                                          address: TOptional<(...)>;
                                          firstName: TString;
                                          lastName: TString;
                                          zipcode: TString;
                                      },
                                  >;
                              },
                          >,
                      ],
                  >;
                  "400": TObject<
                      {
                          code: TString;
                          details: TOptional<TRecord<"^.*$", TAny>>;
                          message: TString;
                      },
                  >;
                  "404": TObject<
                      {
                          code: TLiteral<"notFound">;
                          details: TOptional<TRecord<"^.*$", TAny>>;
                          message: TString;
                      },
                  >;
              };
              summary: "Get Cash Deposit Request";
              tags: readonly ["Cash"];
          };
      }
    • Readonly/v1/deposit/cash/{id}/cancel: {
          post: {
              description: "Cancel a cash deposit request. Note that this endpoint can only be utilised before the user payment at a retailer has been successfully completed.";
              params: TObject<{ id: TString }>;
              response: {
                  "200": TObject<{ id: TString }>;
                  "400": TObject<
                      { code: TLiteral<"DEPOSIT_ALREADY_PROCESSED">; message: TString },
                  >;
                  "404": TObject<{ code: TLiteral<"NOT_FOUND">; message: TString }>;
                  default: TObject<
                      {
                          code: TString;
                          details: TOptional<TRecord<"^.*$", TAny>>;
                          message: TString;
                      },
                  >;
              };
              summary: "Cancel Cash Deposit Request";
              tags: readonly ["Cash"];
          };
      }
    • Readonly/v1/deposit/cash/location: {
          get: {
              description: "Search for nearest cash deposit locations based on a provided zipcode or latitude and longitude pair.\n\nThis endpoint will expect either a single zipcode query parameter or both the latitude and longitude parameters to be populated.";
              querystring: TIntersect<
                  [
                      TUnion<
                          [
                              TObject<{ zipcode: TString }>,
                              TObject<{ latitude: TString; longitude: TString }>,
                          ],
                      >,
                      TObject<{ page: TOptional<TNumber>; pageSize: TOptional<TNumber> }>,
                  ],
              >;
              response: {
                  "200": TObject<
                      {
                          page: TNumber;
                          pageSize: TNumber;
                          results: TArray<
                              TObject<
                                  {
                                      address: TString;
                                      city: TString;
                                      latitude: TString;
                                      locationId: TString;
                                      longitude: TString;
                                      phone: TString;
                                      retailerId: TString;
                                      retailerName: TString;
                                      state: TString;
                                      zipcode: TString;
                                  },
                              >,
                          >;
                      },
                  >;
                  "400": TObject<
                      {
                          code: TString;
                          details: TOptional<TRecord<"^.*$", TAny>>;
                          message: TString;
                      },
                  >;
                  default: TObject<
                      {
                          code: TString;
                          details: TOptional<TRecord<"^.*$", TAny>>;
                          message: TString;
                      },
                  >;
              };
              summary: "Search Cash Deposit Locations";
              tags: readonly ["Cash"];
          };
      }
    • Readonly/v1/deposit/cash/retailer: {
          get: {
              description: "Retrieve the list of retailers within the CFX Network that will accept cash deposits.";
              response: {
                  "200": TObject<
                      {
                          results: TArray<
                              TObject<
                                  {
                                      enabled: TOptional<TBoolean>;
                                      id: TString;
                                      name: TString;
                                      providerDescription: TOptional<TString>;
                                      providerName: TOptional<TString>;
                                      slug: TOptional<TString>;
                                  },
                              >,
                          >;
                      },
                  >;
                  "400": TObject<
                      {
                          code: TString;
                          details: TOptional<TRecord<"^.*$", TAny>>;
                          message: TString;
                      },
                  >;
                  default: TObject<
                      {
                          code: TString;
                          details: TOptional<TRecord<"^.*$", TAny>>;
                          message: TString;
                      },
                  >;
              };
              summary: "Get Cash Deposit Retailers";
              tags: readonly ["Cash"];
          };
      }