You may create and cancel schedules via Deliver.
How to Create a Schedule
Create a Recurrence Rule (RRule)
Create a recurrence rule using the recommended generator here. Create the Schedule Request
Get the Response
See below for the expected response upon creating a schedule.{
"schedule": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"schedule_reference_id": "<string>",
"status": "active",
"amount": 2,
"currency": "USD",
"speed": "asap",
"source": {
"customer_reference_id": "<string>",
"account_reference_id": "<string>",
"statement_display_name": "<string>"
},
"destination": {
"customer_reference_id": "<string>",
"account_reference_id": "<string>",
"statement_display_name": "<string>"
},
"start_date": "2025-01-01",
"recurrence": "RRULE:FREQ=WEEKLY;INTERVAL=1;BYDAY=MO,WE,FR",
"next_payment_date": "2025-01-01",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"rrule_readable": "Weekly on Monday, Wednesday, and Friday"
}
}
A few things to note after creating a schedule:
Orum will kick off scheduled transfers at 9am ET. However, if a schedule is created after 9AM ET and is set to start same day - it will kick off right after schedule creation
If a payment date falls on a Bank Holiday, ASAP eligible payments (RTP/FedNow) will process as normal. However, ACH payments will be executed on the immediate Next Business Date
For all transfers created from a schedule, the “schedule_id” will be displayed in the transfer response - as seen below:
{
"transfer": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"transfer_reference_id": "<string>",
"amount": 2,
"currency": "USD",
"speed": "asap",
"source": {
"customer_reference_id": "<string>",
"account_reference_id": "<string>",
"statement_display_name": "<string>",
"trace_number": "<string>",
"return_trace_number": "<string>"
},
"destination": {
"customer_reference_id": "<string>",
"account_reference_id": "<string>",
"statement_display_name": "<string>",
"trace_number": "<string>",
"return_trace_number": "<string>"
},
"status": "completed",
"status_reasons": [
{
"source": {
"reason_code": "insufficient_funds",
"reason_code_message": "<string>",
"network_reason_code": "<string>",
"network_reason_code_message": "<string>",
"network_reason_code_rail_type": "<string>"
},
"destination": {
"reason_code": "insufficient_funds",
"reason_code_message": "<string>",
"network_reason_code": "<string>",
"network_reason_code_message": "<string>",
"network_reason_code_rail_type": "<string>"
}
}
],
"account_statement_descriptor": "<string>",
"estimated_funds_delivery_date": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"metadata": {},
"transfer_group_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"schedule_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}
How to Cancel a Schedule
Locate the Schedule ID
Locate the unique schedule ID of the schedule by using GET /schedules. Request Cancel Schedule with the Schedule ID