Schedule API
The Schedule API allows you to create, retrieve, and delete schedules. Schedules are charges or transfers that occur at regular intervals, for example, a monthly membership fee or a weekly transfer. Actual schedule dates are accessed via the occurrence API.
Attribute
Name | Type | Description |
---|---|---|
object | string | The string |
id | object_id | The |
livemode | boolean | Whether this is a live ( |
location | string | API path to retrieve the current |
charge | Charge Schedule | |
created | datetime | UTC datetime of the creation of the schedule in ISO 8601 format ( |
deleted | boolean | Whether schedule is deleted. |
end_date | Date | End date of schedule in ISO 8601 format. |
every | integer | How often the schedule runs. E.g.: Every |
in_words | string | The schedule, in english. E.g.: |
next_occurrence_dates | Array | An array of up to 30 upcoming occurrence dates in ISO 8601 format. Returns an empty array in case of expired, suspended or deleted schedule. |
occurrences | list | A list of occurrence objects. |
on | On | An object specifying the schedule. "On" object. |
period | string |
|
start_date | Date | The start date of the schedule in ISO 8601 format. |
status | string | One of:
|
transfer | Transfer Schedule |
List all schedules
- GET https://api.omise.co/schedulesReturns a list of all schedule
objects belonging to your account.
Request Parameter
Name | Type | Description |
---|---|---|
offset | integer | (optional, default: 0) Offset of the first record returned (i.e. how many records to skip from the beginning). |
limit | integer | (optional, default: 20, maximum: 100) Number of records to return. |
from | datetime | (optional, default: |
to | datetime | (optional, default: current UTC datetime) Latest UTC datetime for returned records in ISO 8601 format ( |
order | string | (optional, default: |
Example
-
List all schedules
- curl
- ruby
- python
- php
- C#
- node.js
- java
- go
- elixir
curl -X GET https://api.omise.co/schedules \ -u skey_test_4xsjvwfnvb2g0l81sjz:
require "omise" Omise.secret_api_key = "skey_test_4xs8breq3htbkj03d2x" schedules = Omise::Schedule.list
import omise omise.api_secret = 'skey_test_4xs8breq3htbkj03d2x' schedule = omise.Schedule.retrieve()
<?php require './omise-php/lib/Omise.php'; define('OMISE_SECRET_KEY', 'skey_test_51fl8dfabe7sqnj8th2'); $schedules = OmiseSchedule::retrieve();
var schedules = await Client.Schedules.GetList(order: Ordering.ReverseChronological); Console.WriteLine($"total schedules: {schedules.Total}");
omise.schedules.retrieve(function(error, schedules) { /* Response. */ });
var schds omise.ScheduleList list := operations.ListSchedules{ List: operations.List{ Limit: 100, From: time.Now().Add(-1 * time.Hour), }, } if e := client.Do(&schds, &list); e != nil { panic(e) } fmt.Println("# of schedules made in the last hour:", len(schds.Data))
Omise.configure(secret_key: "skey_test_4xs8breq3htbkj03d2x") Omise.Schedule.list
Create a schedule
- POST https://api.omise.co/schedulesSee the specific documentation page for charge schedules or transfer schedules.
Retrieve a schedule
- GET https://api.omise.co/schedules/SCHEDULE_IDReturns an existing schedule object
Example
-
Retrieve a schedule
- curl
- ruby
- python
- php
- C#
- node.js
- java
- go
- elixir
curl https://api.omise.co/schedules/schd_test_4xsjvylia03ur542vn6 \ -u skey_test_4xs8breq3htbkj03d2x:
require "omise" Omise.secret_api_key = "skey_test_4xs8breq3htbkj03d2x" schedule = Omise::Schedule.retrieve("schd_test_4xsjvylia03ur542vn6")
import omise omise.api_secret = 'skey_test_4xs8breq3htbkj03d2x' schedule = omise.Schedule.retrieve('schd_test_5851n56mg0rg90gvphj')
<?php require './omise-php/lib/Omise.php'; define('OMISE_SECRET_KEY', 'skey_test_51fl8dfabe7sqnj8th2'); $schedule = OmiseSchedule::retrieve('schd_test_58et0oz1hmczg8foppb');
var scheduleId = "schd_test_58fmj4fpu2zpp2m8s8c"; var schedule = await Client.Schedules.Get(scheduleId); Console.WriteLine($"charges made on schedule: {schedule.Occurrences.Total}");
omise.schedules.retrieve('schd_test_4xsjvylia03ur542vn6', function(error, schedule) { /* Response. */ });
var schd omise.Schedule if e := client.Do(&schd, &operations.RetrieveSchedule{ScheduleID: "schd_test_4xsjvylia03ur542vn6"}); e != nil { panic(e) } fmt.Printf("schedule #schd_57z9hj228pusa652nk1: %#v\n", schd)
Omise.configure(secret_key: "skey_test_4xs8breq3htbkj03d2x") Omise.Schedule.retrieve("schd_test_4xsjvylia03ur542vn6")
Destroy a schedule
- DELETE https://api.omise.co/schedules/SCHEDULE_IDDestroys and returns an existing schedule object
Example
-
Destroy a schedule
- curl
- ruby
- python
- php
- C#
- node.js
- java
- go
- elixir
curl https://api.omise.co/schedules/schd_test_4xtrb759599jsxlhkrb \ -X DELETE \ -u skey_test_4xsjvwfnvb2g0l81sjz:
require "omise" Omise.secret_api_key = "skey_test_4xs8breq3htbkj03d2x" schedule = Omise::Schedule.retrieve("schd_test_4xsjvylia03ur542vn6") schedule.destroy schedule.destroyed? # => true
import omise omise.api_secret = 'skey_test_4xs8breq3htbkj03d2x' schedule = omise.Schedule.retrieve('schedule_test_5851n56mg0rg90gvphj') schedule.destroy() schedule.destroyed # => true
<?php require './omise-php/lib/Omise.php'; define('OMISE_SECRET_KEY', 'skey_test_51fl8dfabe7sqnj8th2'); $schedule = OmiseSchedule::retrieve('schd_test_58et0oz1hmczg8foppb'); $schedule->destroy();
var schedule = RetrieveSchedule(); schedule = await Client.Schedules.Destroy(schedule.Id); Console.WriteLine($"disabled schedule: {schedule.Id} ({schedule.Deleted})");
omise.schedules.destroy('schd_test_584yqgiuavbzrfng7mv', function(error, schedule) { /* Response. */ });
var deletedSchd omise.Schedule if e := client.Do(&deletedSchd, &operations.DestroySchedule{ScheduleID: "schd_test_4xsjvylia03ur542vn6"}); e != nil { panic(e) } fmt.Println("destroyed schedule:", deletedSchd.ID)
Omise.configure(secret_key: "skey_test_4xs8breq3htbkj03d2x") Omise.Schedule.destroy("schd_test_4xsjvylia03ur542vn6")