Call Scheduling and Pacing API
- NEW! - Interactive API docs, now live!
Visit api-docs.plumvoice.com to read Plum API documentation, build and test requests in our interactive API sandbox, review the responses, and share it all with your team.
IMPORTANT: Development on this API is ongoing – please bear in mind that additional, unforeseen changes may occur between the time of this writing and product release.
Overview
The Outbound Call Scheduling and Pacing API allows you to create outbound calling campaigns as well as reusable resources to define schedules and call pacing for each campaign. This API consists of three main resources:
Schedules: Sets the days of the week that your campaign will run. Once created, a schedule can be reused across one or more campaigns.
Profiles: Sets call pacing for your campaign. Once created, a profile can be reused across one or more campaigns. One or multiple profiles can be used in a single campaign if desired.
Campaigns: Creates outbound calling campaigns linked to your chosen VXML application. Also controls existing campaign activity. Existing schedules and profiles are linked to campaigns during campaign creation.
This API contains the following endpoints (6 total):
https://scheduler.plumvoice.com/api/schedules
https://scheduler.plumvoice.com/api/profiles
https://scheduler.plumvoice.com/api/campaigns
https://scheduler.plumvoice.com/api/campaigns/start
https://scheduler.plumvoice.com/api/campaigns/stop
https://scheduler.plumvoice.com/api/campaigns/add-calls
Authentication
API requests are authenticated using a bearer token. Currently, this token will be generated for you. In the future, users will be able to generate their own bearer tokens as needed.
List of methods
NOTE: In each of the following methods, you can view an example request and success response by expanding the Responses section and viewing the 200: OK response.
NOTE: The example cURL commands in each API method below use a back slash (\
) as a line continuation character. The back slash may be removed or replaced based on your operating system (e.g., replace with (^
) for Windows cmd, (`
) for Powershell).
Create Schedule
POST
https://scheduler.plumvoice.com/api/schedules
Creates a rule set that controls which day(s) in a week a campaign will be active. A schedule can be reused across one or more campaigns.
To affect a campaign, an existing schedule must be added when the campaign is created.
Request Body
Get Schedules
GET
https://scheduler.plumvoice.com/api/schedules
Returns all existing schedules created by you.
Headers
Example Request
This request returns all existing schedules that you have created and their associated parameters.
Success Response
Update Schedule
PATCH
https://scheduler.plumvoice.com/api/schedules/{id}
Update one or more specific parameters for the selected schedule.
Note: The API is designed to accept this request with either the PATCH or PUT method and produce the same results. Only parameters specified in the request will be updated.
Path Parameters
Query Parameters
Example Request
This request updates the days
parameter to Mondays and Wednesdays for the schedule with id
15.
Success Response
Delete Schedule
DELETE
https://scheduler.plumvoice.com/api/schedules/{id}
Removes an existing schedule using the id
number entered.
Note: A schedule cannot be deleted while applied to a campaign.
Path Parameters
Example Request
This request deletes the schedule associated with id
4.
Success Response
Create Profile
POST
https://scheduler.plumvoice.com/api/profiles
Creates a rule set that controls call pacing for campaigns. A profile can be reused across one or more campaigns.
To affect a campaign, an existing profile must be added when the campaign is created.
Request Body
Example Request
This request creates a profile named MorningPace
. If this profile were applied to a new campaign, that campaign would run for 30 minutes at a time (period
), make 100 calls during that time (amount_per_period
), and have 10 minutes of downtime between each 30 minute period (time_between_periods
).
Success Response
Get Profiles
GET
https://scheduler.plumvoice.com/api/profiles
Returns all existing profiles created by you.
Headers
Example Request
This request returns all existing profiles that you have created and their associated parameters.
Success Response
Update Profile
PATCH
https://scheduler.plumvoice.com/api/profiles/{id}
Update one or more specific parameters for the selected profile.
Note: The API is designed to accept this request with either the PATCH or PUT method and produce the same results. Only parameters specified in the request will be updated.
Path Parameters
Query Parameters
Example Request
This request updates all parameters available for the profile with id
17.
Note that the response only returns the profile's id
and nickname
. To confirm all specified parameters have the desired values, use the Get Profiles endpoint and review the updated profile in the response.
Success Response
Delete Profile
DELETE
https://scheduler.plumvoice.com/api/profiles/{id}
Removes an existing profile using the id
number entered.
Note: A profile cannot be deleted while applied to a campaign.
Path Parameters
Example Request
This request deletes the profile associated with id
7.
Success Response
Create Campaign
POST
https://scheduler.plumvoice.com/api/campaigns
Creates a new campaign.
Headers
Request Body
Example Request
This request creates a campaign that will run from January 1, 2022 (start_date
) to January 5, 2022 (end_date
). The campaign will run on the days set in the schedule associated with the schedule_id
6. On each scheduled day, the campaign will begin running at 8:00 A.M. and stop running at 11:00 A.M. (Eastern) using the call-pacing profile MorningPace
. Each call will use the VXML application linked in start_url
and post-call processing linked in result_url
.
Success Response
Get Campaigns
GET
https://scheduler.plumvoice.com/api/campaigns
Returns all existing campaigns created by you.
Headers
Example Request
This request returns all existing campaigns that you have created and their associated parameters.
Success Response
Start Campaign
POST
https://scheduler.plumvoice.com/api/campaigns/start
Starts an existing campaign.
Request Body
Example Request
This request starts the campaign associated with campaign_id
6.
Success Response
Stop Campaign
POST
https://scheduler.plumvoice.com/api/campaigns/stop
Stops an active campaign.
Request Body
Example Request
This request stops the campaign associated with campaign_id
2.
Success Response
Add Calls
POST
https://scheduler.plumvoice.com/api/campaigns/add-calls
Appends additional phone numbers to an existing campaign.
If the campaign is already running, the new phone numbers will be added to the end of the queue.
Request Body
Example Request
This request adds the submitted phone numbers to the campaign associated with campaign_id
2.
Success Response
Update Campaign
PATCH
https://scheduler.plumvoice.com/api/campaigns/{id}
Update one or more specific parameters for the selected campaign.
Notes:
The API is designed to accept this request with either the PATCH or PUT method and produce the same results. Only parameters specified in the request will be updated.
A campaign's phone numbers cannot be updated through this method. Use the Add Calls method for this instead.
Path Parameters
Query Parameters
Example Request
This request updates the applied schedule, starting date, ending date, and applied profile for the campaign with id
26.
Note that the response only returns the campaign's id
. To confirm all specified parameters have the desired values, use the Get Campaigns endpoint and review the updated campaign in the response.
Success Response
Delete Campaign
DELETE
https://scheduler.plumvoice.com/api/campaigns/{id}
Removes an existing campaign using the id
number entered.
Note: Deleting a campaign will not delete any schedule or profile(s) applied to that campaign.
Path Parameters
Example Request
This request deletes the campaign associated with id
11.
Success Response
Last updated