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 '
{
  "name": "Weekly Balance Check",
  "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",
  "start_at": "2025-01-01",
  "expires_at": "2025-03-15"
}
'
{
  "schedule_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "name": "Weekly Balance Check",
  "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

Schedule Name (Required): Provide a name to identify your schedule. Names must be unique (max 255 characters).
Start: The first job runs at the time_of_day on the starts_at date, after which jobs will run on the provided interval (format: YYYY-MM-DD). If none is provided, the first job will run at the next time_of_day.
Expiration: A final job runs at the scheduled time_of_day on the expires_at date, after which no more jobs will run (format: YYYY-MM-DD, default 30 days from creation, 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. Overrides 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
name
string
required

Name for the schedule. Must be unique. Max 255 characters.

Maximum string length: 255
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.

start_at
string<date>

Date at which the schedule should start in YYYY-MM-DD format. If none is provided, the schedule will start at the next time_of_day.

expires_at
string<date>

Date when the schedule expires in YYYY-MM-DD format. Default is 30 days from creation, maximum is 365 days.

Response

Schedule created successfully

schedule_id
string<uuid>
required

Unique identifier for the created schedule.

name
string
required

The name of the 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.