Earmarking funds

An account holder creates an earmark to schedule a cash-out (usually a payment) to hold the needed funds in reserve until the scheduled settlement date and time. At the specified time, an automatic process releases the earmarked funds and settles the cash-out.

Body parameters

ParameterDescriptionTypeRequired
tracking_idTracking IDString
descriptorEarmark descriptionStringYes
fromObject
  • amount – (Earmark amount, Number, String, Required)
  • currency – (ISO currency code, [e.g., USD], String, Required)
  • account – (Account associated with earmark, Object, Required. This parameter it has only one property, which is the id.)
Yes
toCustom payment information, usually about an external account.Object
  • custom_info (Object, Required)
Yes
expiry_datetimeISO 8601 date/time for earmark release.date-timeYes

Schedule an earmark

Use the Schedule earmark endpoint to schedule an earmark.

Request

curl --request POST \
     --url https://api-sandbox.pismolabs.io/corporate/earmarks \
     --header 'Accept: application/json' \
     --header 'Content-Type: application/json' \
     --data '
{
     "from": {
          "account": {
               "id": "102701621"
          },
          "amount": 50,
          "currency": "USD"
     },
     "to": {
          "custom_info": {
               "type": "Scheduled earmark",
               "external_id": "123ABC"
          }
     },
     "tracking_id": "ABC123",
     "descriptor": "Hold Funds",
     "expiry_datetime": "2022-04-10T15:00:00Z"
}
'

Response

Returns a schedule ID that you can use in other earmark endpoints.

{ "id": "1234-1234-1234-1234" }

Other earmark endpoints

  • Execute earmark payment – Executes the earmarked payment, releasing the held funds, and performing the stored cash-out. It also invalidates the scheduled earmark so it doesn't run at the expiry date/time.
  • Cancel an earmark – Releases reserved funds and cancels the scheduled cash-out.