List all schedules
List all schedules in your account. Schedules enable recurring charges, transfers, and automated operations. Use this endpoint to view active subscriptions, monitor scheduled operations, and track recurring payment status.
API Credentials
Request Parametersโ
Optional - 3 fieldsPagination Parameters
`limit`INTEGER(optional)
Number of schedules to return per page.
`offset`INTEGER(optional)
Number of schedules to skip for pagination. Use with limit to paginate through large result sets.
`order`STRING(optional)
Sort order of results.
Optional - 2 fieldsFilter Parameters
Responsesโ
200
Successful retrievalReturns a paginated list of schedule objects. Each schedule contains frequency, status, and operation details.
Response includes:
data- Array of schedule objectslimit- Number of results per pageoffset- Number of skipped resultstotal- Total number of schedulesorder- Sort order applied
status- active, expired, suspended, deleted, pausedperiod- day, week, or monthevery- Frequency multiplier for the periodnext_occurrences_on- Array of up to 30 upcoming occurrence dateschargeortransfer- Operation parameters
400
Bad requestRequest validation failed. Check the error message for details.
Common causes:
- Invalid date format (must be ISO 8601)
- Limit exceeds maximum (100)
- Invalid order parameter
401
UnauthorizedAuthentication failed. Invalid or missing API key.
Common causes:
- Missing Authorization header
- Invalid secret key
- Using public key instead of secret key
- Incorrect HTTP Basic Auth format
Code samplesโ
- cURL
- Ruby
- Python
- Node.js
- PHP
- Java
- C#
- Go
curl https://api.omise.co/schedules \
-u skey_test_5xuy4w91xqz7d1w9u0t: \
-G \
-d limit=20 \
-d offset=0
require 'omise'
Omise.api_key = 'skey_test_5xuy4w91xqz7d1w9u0t'
schedules = Omise::Schedule.list({
limit: 20,
offset: 0
})
import omise
omise.api_secret = 'skey_test_5xuy4w91xqz7d1w9u0t'
schedules = omise.Schedule.list(
limit=20,
offset=0
)
const omise = require('omise')({
secretKey: 'skey_test_5xuy4w91xqz7d1w9u0t'
});
const schedules = await omise.schedules.list({
limit: 20,
offset: 0
});
<?php
define('OMISE_SECRET_KEY', 'skey_test_5xuy4w91xqz7d1w9u0t');
$schedules = OmiseSchedule::retrieve(array(
'limit' => 20,
'offset' => 0
));
Client client = new Client.Builder()
.secretKey("skey_test_5xuy4w91xqz7d1w9u0t")
.build();
ScopedList<Schedule> schedules = client.schedules().list()
.limit(20)
.offset(0)
.send();
var client = new Client("skey_test_5xuy4w91xqz7d1w9u0t");
var schedules = await client.Schedules.GetList(new ListRequest
{
Limit = 20,
Offset = 0
});
client, _ := omise.NewClient(
"pkey_test_5xuy4w91xqz7d1w9u0t",
"skey_test_5xuy4w91xqz7d1w9u0t",
)
schedules, _ := client.ListSchedules(&operations.ListSchedules{
List: operations.List{
Limit: 20,
Offset: 0,
},
})
Error and result codesโ
Common Error Codesโ
| Code | Description | Resolution |
|---|---|---|
authentication_failure | Invalid API key | Verify your secret key is correct |
bad_request | Invalid parameters | Check date format and parameter values |
invalid_date_format | Date not in ISO 8601 | Use format: YYYY-MM-DDTHH:MM:SSZ |
Schedule Status Valuesโ
| Status | Description |
|---|---|
active | Schedule is running normally |
expired | Schedule has passed end date |
suspended | Schedule is paused (failures, card expiry) |
deleted | Schedule has been cancelled |
paused | Schedule manually paused |