Get Spending Prerequisites

post/api/spending-prerequisites

Check for outstanding cardholder "Spending Prerequisites". Clients should use the returned prerequisite instructions to guide the user through the card onboarding user journey.

Spending prerequisites are divided into three stages: Funding, KYC, and AML. When each of these three stages indicate the status is "ok" then the cardholder can proceed to transact with their card.

See the KYC Spending Prerequisites guide for more details about how to consume the prerequisite instructions for your cardholder onboarding experience.

Request

Body application/json

  • cardProgramIdstringrequired

    ID of card program to create the card under

  • fundingSourceIdstringrequired

    ID of the Funding Source the card will authorize against

  • spendableAmountstringrequired

    Amount of fiat money that should be available on the card, denominated in minor units

  • spendableCurrencystringrequired
    Allowed values:USD

    Currency to be used when creating the card. Currently only supports USD

  • kycTypestringrequired
    Allowed values:immersve-conductedpartner-conducted

    Type of KYC depending on which party is conducting it

  • kycRedirectUrlstring

    A URL to which the user can be redirected after they have completed or exited the kyc process.

  • kycRegionstring

    The country in which the user resides, in two letter country code format (e.g. AU). This must be one of the countries enabled in the card program for your partner account.

    Note - this is only required when using the kycHiddenSteps option to hide the region KYC step.

  • kycHiddenStepsstring[]

    A list of KYC steps to skip in the Immersve Conducted UI. Cardholder information for these steps must be provided separately via API.

Response

Successful operation.

Body application/json

  • prerequisitesobject[]

    Items

    Any of

    • stagestringrequired
      Allowed values:funding
    • statusstringrequired
      Allowed values:action-requiredpendingblockedok
    • actionTypestring
      Allowed values:smart_contract_writesimulator_call
    • typestringdeprecated

      The prerequisite instruction type. This attribute is deprecated. Clients should use stage and actionType instead.

    • paramsobject

      The parameters for the prerequisite instruction, if applicable. Specific parameters vary based on the prerequisite instruction's action type.

      One of

      • contractAddressstring

        The address of the smart contract

      • abiobject[]

        The JSON ABI of the smart contract (contains only required details. more details here https://docs.soliditylang.org/en/v0.8.19/abi-spec.html#json)

        Items

        • typestring
          Allowed values:function
        • namestring

          The name of the function

        • inputsobject[]

          Items

          • namestring

            The name of the parameter

          • typestring

            The type of the parameter

      • methodstring

        Smart contract method

      • paramsobject

        Smart contract call params. Keys are matching names and order defined in ABI