Platform Configuration

Update platform configuration

Update platform configuration settings. Setting cardConfigs.maxSpendPerTransaction establishes a platform-level card cap; Grid enforces the lower of that cap and each card's configured maxSpendPerTransaction without replacing the card-specific value.

patch/config

Request body

umaDomainstring
webhookEndpointstring

Example request

{
  "umaDomain": "mycompany.com",
  "webhookEndpoint": "https://api.mycompany.com/webhooks/uma",
  "supportedCurrencies": [
    {
      "currencyCode": "USD",
      "minAmount": 100,
      "maxAmount": 1000000,
      "requiredCounterpartyFields": [
        {
          "name": "FULL_NAME",
          "mandatory": true
        },
        {
          "name": "BIRTH_DATE",
          "mandatory": true
        },
        {
          "name": "NATIONALITY",
          "mandatory": true
        }
      ],
      "providerRequiredCustomerFields": [
        "NATIONALITY",
        "BIRTH_DATE"
      ],
      "providerRequiredCounterpartyCustomerFields": [
        "FULL_NAME",
        "COUNTRY_OF_RESIDENCE"
      ],
      "enabledTransactionTypes": [
        "OUTGOING",
        "INCOMING"
      ]
    }
  ],
  "embeddedWalletConfig": {
    "appName": "Acme Wallet",
    "otpLength": 6,
    "expirationSeconds": 300,
    "sendFromEmailAddress": "noreply@acme.com",
    "sendFromEmailSenderName": "Acme Notifications",
    "replyToEmailAddress": "support@acme.com",
    "logoUrl": "https://acme.com/logo.png"
  },
  "cardTokenization2faConfig": {
    "displayName": "Acme",
    "logoUrl": "https://acme.com/card-email-logo.png",
    "email": {
      "fromAddress": "cards@acme.com",
      "fromName": "Acme Cards",
      "replyToAddress": "support@acme.com",
      "subject": "Your Acme card verification code",
      "bodyText": "Use this code to finish adding your Acme card to your digital wallet."
    },
    "sms": {
      "templateSid": "HJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
      "bodyText": "Use this code to finish adding your Acme card to your digital wallet."
    }
  },
  "cardConfigs": {
    "maxSpendPerTransaction": 10000
  },
  "feeConfigs": [
    {
      "feeType": "CROSS_CURRENCY_TRANSACTION",
      "sourceCurrency": "USD",
      "variableFeeBps": 30,
      "fixedFee": {
        "amount": 100,
        "currency": "USD"
      }
    }
  ]
}

Response

Configuration updated successfully

idstring

System-generated unique identifier

umaDomainstring

UMA domain for this platform

proxyUmaSubdomainstring

The subdomain that incoming requests will be proxied to

webhookEndpointstring

URL where webhook notifications will be sent

isRegulatedFinancialInstitutionboolean

Whether the platform is a regulated financial institution. This is used to determine if the platform's customers must be KYC/KYB'd by Lightspark via the KYC link flow. This can only be set by Lightspark during platform creation.

createdAtstring date-time

Creation timestamp

updatedAtstring date-time

Last update timestamp

Example response

{
  "id": "PlatformConfig:019542f5-b3e7-1d02-0000-000000000003",
  "umaDomain": "platform.uma.domain",
  "proxyUmaSubdomain": "platform",
  "webhookEndpoint": "https://api.mycompany.com/webhooks/uma",
  "supportedCurrencies": [
    {
      "currencyCode": "USD",
      "minAmount": 100,
      "maxAmount": 1000000,
      "requiredCounterpartyFields": [
        {
          "name": "FULL_NAME",
          "mandatory": true
        },
        {
          "name": "BIRTH_DATE",
          "mandatory": true
        },
        {
          "name": "NATIONALITY",
          "mandatory": true
        }
      ],
      "providerRequiredCustomerFields": [
        "NATIONALITY",
        "BIRTH_DATE"
      ],
      "providerRequiredCounterpartyCustomerFields": [
        "FULL_NAME",
        "COUNTRY_OF_RESIDENCE"
      ],
      "enabledTransactionTypes": [
        "OUTGOING",
        "INCOMING"
      ]
    }
  ],
  "embeddedWalletConfig": {
    "appName": "Acme Wallet",
    "otpLength": 6,
    "expirationSeconds": 300,
    "sendFromEmailAddress": "noreply@acme.com",
    "sendFromEmailSenderName": "Acme Notifications",
    "replyToEmailAddress": "support@acme.com",
    "logoUrl": "https://acme.com/logo.png"
  },
  "cardTokenization2faConfig": {
    "displayName": "Acme",
    "logoUrl": "https://acme.com/card-email-logo.png",
    "email": {
      "fromAddress": "cards@acme.com",
      "fromName": "Acme Cards",
      "replyToAddress": "support@acme.com",
      "subject": "Your Acme card verification code",
      "bodyText": "Use this code to finish adding your Acme card to your digital wallet."
    },
    "sms": {
      "templateSid": "HJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
      "bodyText": "Use this code to finish adding your Acme card to your digital wallet."
    }
  },
  "cardConfigs": {
    "maxSpendPerTransaction": 10000
  },
  "feeConfigs": [
    {
      "feeType": "CROSS_CURRENCY_TRANSACTION",
      "sourceCurrency": "USD",
      "variableFeeBps": 30,
      "fixedFee": {
        "amount": 100,
        "currency": "USD"
      }
    }
  ],
  "createdAt": "2025-06-15T12:30:45Z",
  "updatedAt": "2025-06-15T12:30:45Z"
}

Changes