Skip to main content
POST
/
v1
/
monitoring
/
scheduled_balance_request
Create a scheduled balance request
curl --request POST \
  --url https://api.rightfoot.com/v1/monitoring/scheduled_balance_request \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "authorizers": [
    {
      "authorizer_unique_id": "1a2b3c4d",
      "first_name": "John",
      "last_name": "Doe",
      "address": {
        "street_address_line1": "123 Main St",
        "city": "Anytown",
        "state": "CA",
        "zip_code": "12345",
        "country": "US"
      },
      "phone_number": "5551234567",
      "date_of_birth": {
        "day": 1,
        "month": 1,
        "year": 1980
      },
      "ssn": "123456789",
      "account_number": "1234567890",
      "routing_number": "021000021"
    }
  ],
  "webhook": "https://api.example.com/webhook/scheduled-balance",
  "interval_days": 7,
  "time_of_day": "14:30",
  "expires_in_days": 30
}
'
{
  "schedule_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "message": "Schedule created successfully",
  "expires_at": "2025-01-15T00:00:00Z",
  "next_run_at": "2024-12-19T02:30:00Z"
}

Create Monitoring Schedule

Create a recurring scheduled balance request for a set of authorizers. The schedule will automatically run balance checks at the specified interval and send results to your webhook.

Scheduling Options

Use interval_days together with time_of_day to run balance checks every N days at a specific time.
FieldDescription
interval_daysRun every N days (1-30)
time_of_dayTime to run in HH:mm format (24-hour, UTC). Example: "14:30" for 2:30 PM UTC. If not provided, defaults to a random time in the 8:00 AM - 11:00 AM UTC window.

Key Information

Expiration: Schedules expire after expires_in_days (default 30 days, max 365 days)
Webhook: Results are delivered to your specified webhook URL after each run

Threshold Monitoring

Set balance thresholds to receive webhook notifications when an account’s balance meets or exceeds a specified amount.
FieldLevelDescription
threshold_amountRequestApplies to all authorizers in the batch. When any authorizer’s balance meets or exceeds this amount, a webhook notification is sent.
threshold_amountAuthorizerSet within each authorizer object to define individual thresholds. Overridden by the request-level threshold if both are provided.
When any threshold is configured (request-level or authorizer-level), the webhook field is required.

Payment Information Types

You must provide either bank account information or debit card information for each authorizer:

Bank Account Information

  • Required: account_number, routing_number, and either ssn or ein

Debit Card Information

  • Required: debit_card_number, cvv, expiration_year, expiration_month, and either ssn or ein

Optional Fields

Authorizations

Authorization
string
header
required

Authentication to the API is performed via Bearer Token Authentication. Provide your API key as the bearer token in the Authorization header.

All API requests must be made over HTTPS. Calls made over plain HTTP will fail. API requests without authentication will also fail.

Body

application/json
authorizers
(Bank Account Information · object | Debit Card Information · object)[]
required

List of authorizers to include in the scheduled balance checks.

Payment details using a bank account. Requires account number, routing number, and either SSN or EIN.

webhook
string<uri>
required

Webhook URL to receive notifications when each scheduled run completes.

interval_days
integer

Run the schedule every N days. Used together with time_of_day for interval-based scheduling. Value must be between 1 and 30.

Required range: 1 <= x <= 30
time_of_day
string

Time of day to run the schedule in HH:mm format (24-hour, UTC). Used together with interval_days. If not provided, defaults to a random time in the 8:00 AM - 11:00 AM UTC window. Example: "14:30" for 2:30 PM UTC.

expires_in_days
integer
default:30

Number of days until the schedule expires. Default is 30, maximum is 365.

Required range: 1 <= x <= 365

Response

Schedule created successfully

schedule_id
string<uuid>
required

Unique identifier for the created schedule.

message
string
required

Confirmation message.

expires_at
string<date-time>
required

ISO 8601 timestamp when the schedule will expire.

next_run_at
string<date-time>
required

ISO 8601 timestamp of the next scheduled run.