API Documentation
All packages include API access to remotely sync the SCHED* database with your existing event database.
The API uses a simple REST method and we recommend using POST instead of GET. HTML data is only allowed for specified fields.
API Method List
- Site: Add
- Site: Sync
- Session: Add
- Session: Modify
- Session: Delete
- Session: List
- Session: Export
- Session: Count
- User: List
- User: Add
- User: Modify
- User: Get
- User: Active
- User: Avatar
- User: Events
- Auth: Login
- Going: Add
- Going: Delete
- Going: Schedule
- Going: All
- Going: List
- Schedule: Get
- Assets: Banner
- Role: Add
- Role: Delete
- Role: Export
To create and edit SCHED* sites, use the methods below by passing the appropriate field values.
SITE: ADD URL: http://your_conference.sched.org/api/site/add ↑ Top
| Field | Required | Description | Max Length |
|---|---|---|---|
| api_key | Yes | Provided to you by us | 32 |
| name | No | Must be a unique alpha-numeric string. E.g.: myconf2010, festival201 etc. If not provided, it will be automatically created from the "title" param. | 32 |
| event_start | No | Full date + time for start of conference. Format: Unix Timestamp If not provided, it will default to 2 months from today. | 80 |
| event_end | Yes | Full date + time when conference ends Format: Unix Timestamp If not provided, it will default to 2 months and one day from today. | 80 |
| title | Yes | Title of the conference If no "name" supplied, this field will be used to generate the name/URL of the site | 80 |
| admin | Yes | Conference Admin's e-mail | 128 |
| description | No | Detailed description of the conference | 255 |
| Example GET Usage (all on one line) | |||
| http://your_conference.sched.org/api/site/add?api_key=secret&name=conferencename&event_start=1289308422&event_end=1289913242&title=MY-CONFERENCE&description=Description&admin=admin@example.com | |||
| Response | |||
JSON encoded information about newly created site.
{
"site": "http://myconf.sched.org",
"user":
{
"username": "myconf-admin",
"email":"admin@example.com",
"login":"http://myconf.sched.org/editor",
"reset":"http://myconf.sched.org/password-new?user=myconf-admin&reset=NONCE_KEY"
}
}
| |||
Sync styling and naming info.
SITE: SYNC URL: http://your_conference.sched.org/api/site/sync↑ Top
| Field | Required | Description | Max Length |
|---|---|---|---|
| api_key | Yes | Provided to you by us | 32 |
| modify_date | No | Last sync timestamp. Format: Unix timestamp | 20 |
| Example GET Usage (all on one line) | |||
| http://your_conference.sched.org/api/site/sync?api_key=secret&modify_date=0 | |||
| Response | |||
JSON encoded site wording and CSS.
{"title": "Your Conference",
"base":"http://your_conference.sched.org",
"apikey":"secret",
"modified":1327416542, // timestamp of last modified
"dates": {}, // list of dates
"venues": {}, // list of venues
"types": {}, // list of types
"style": "" // CSS styles
}
| |||
To populate the Session table, use the methods below by passing the appropriate field values.
SESSION: ADD URL: http://your_conference.sched.org/api/session/add↑ Top
| Field | Required | Description | Max Length |
|---|---|---|---|
| api_key | Yes | Provided to you by us | 32 |
| session_key | Yes | Must be a unique alpha-numeric string. E.g.: 123, PANEL4, ST45K etc. | 32 |
| name | Yes | Name of the session | 120 |
| session_start | Yes | Full date + time for start of session Format: YY-MM-DD HH:MM () | 40 |
| session_end | Yes | Full date + time when session ends Format: YY-MM-DD HH:MM () | 40 |
| session_type | Yes | Used to filter sessions | 32 |
| session_subtype | No | For additional filter/organizing sessions | 32 |
| description | No | Detailed description of the session Links (HTML Tag <a>) allowed. | 8kb |
| media_url | No | URL for media: audio/video/documents | 250 |
| venue | No | Building name / Company name etc. | 80 |
| address | No | Room # / Street Address | 250 |
| map | No | Direct URL for session's location / map | 250 |
| tags | No | Comma-separated words and phrases | 250 |
| seats | No | Venue capacity - number of available seats. | 250 |
| (custom fields) | No | To add custom named fields, just add your field names and their values. GET example: &Youtube Link=http://youtube.com/v/xvw123 | n/a |
| Example GET Usage (all on one line) | |||
| http://your_conference.sched.org/api/session/add?api_key=secret&session_key=kn1&name=Opening+Keynote&session_start=2008-06-12+10am&session_end=2008-06-12+12:15pm&session_type=keynote&venue=Center+Hall | |||
|
Note: Successfully calling this method will automatically clear all the sample (demo) data that new SCHED* sites are filled with on creation. | |||
SESSION: MODIFY URL: http://your_conference.sched.org/api/session/mod↑ Top
| Field | Required | Description | Max Length |
|---|---|---|---|
| api_key | Yes | Provided to you by us | 32 |
| session_key | Yes | Must be a unique alpha-numeric string. E.g.: 123, PANEL4, ST45K etc. | 32 |
| name | No | Name of the session | 120 |
| session_start | No | Full date + time for start of session Format: YY-MM-DD HH:MM () | 40 |
| session_end | No | Full date + time when session ends Format: YY-MM-DD HH:MM () | 40 |
| session_type | No | Used to filter sessions | 32 |
| session_subtype | No | For additional filter/organizing sessions | 32 |
| description | No | Detailed description of the session Links (HTML Tag <a>) allowed. | 8kb |
| media_url | No | URL for media: audio/video/documents | 250 |
| venue | No | Building name / Company name etc. | 80 |
| address | No | Room # / Street Address | 250 |
| map | No | Direct URL for session's location / map | 250 |
| tags | No | Comma-separated words and phrases | 250 |
| seats | No | Venue capacity - number of available seats. | 250 |
| active | No | Y = session is active, N = session is deactivated and hidden | 1 |
| Example GET Usage (all on one line) | |||
| http://your_conference.sched.org/api/session/mod?api_key=secret&session_key=kn1&venue=Main+Auditorium | |||
SESSION: DELETE URL: http://your_conference.sched.org/api/session/del↑ Top
| Field | Required | Description | Max Length |
|---|---|---|---|
| api_key | Yes | Provided to you by us | 32 |
| session_key | Yes | Must be a unique alpha-numeric string. E.g.: 123, PANEL4, ST45K etc. | 32 |
| Example GET Usage (all on one line) | |||
| http://your_conference.sched.org/api/session/del?api_key=secret&session_key=kn1 | |||
Note: The delete API only deactivates an session and hides it from the public schedule. This is the recommend way of handling cancelled sessions as any existing links to this session clearly display "[CANCELLED]" while still maintaining data integrity.
The following API methods let you retrieve data from the Session and User tables in CSV and JSON formats.
SESSION: LIST URL: http://your_conference.sched.org/api/session/list↑ Top
| Field | Required | Description | Max Length |
|---|---|---|---|
| api_key | Yes | Provided to you by us | 32 |
| since | No | Retrieve sessions modified since timestamp (Unix epoch time) | 4 |
| format | No | Leave blank to get CSV file or set to "json" | 40 |
| status | No | Set to "del" to fetch only references to deleted sessions | 40 |
| custom_data | No | Include this parameter with value "Y" if you have custom added fields. Note that spaces in field name will be replaced by underscores. | 1 |
| Example GET Usage (all on one line) | |||
| http://your_conference.sched.org/api/session/list?api_key=secret&since=1282755813&format=json&status=del&custom_data=Y | |||
| Response | |||
| List of all conference sessions exported in CSV or JSON, depending on the "format" parameter. | |||
List of sessions with HTML stripped. This is convenient for printed materials and importing in other systems.
SESSION: EXPORT URL: http://your_conference.sched.org/api/session/export↑ Top
| Field | Required | Description | Max Length |
|---|---|---|---|
| api_key | Yes | Provided to you by us | 32 |
| since | No | Retrieve sessions modified since timestamp (Unix epoch time) | 4 |
| format | No | One of "csv", "xml", "json", "xls". Defaults to "csv" | 40 |
| fields | No | Comma separated list of fields wanted. Select the order of needed fields by listing them here. Leave blank to get all available fields. | 1024 |
| page | No | To page results, provide a page number. Omit to get all sessions. | 8 |
| limit | No | Number of sessions per page. Defaults to 1000. | 8 |
| strip_html | No | Remove HTML tags from description | 1 |
| custom_data | No | Include this parameter with value "Y" if you have custom added fields Note that spaces in field name will be replaced by underscores. | 1 |
| Example GET Usage (all on one line) | |||
| http://your_conference.sched.org/api/session/export?api_key=secret&format=xml&fields=name,session_type,description&strip_html=Y&custom_data=Y | |||
| Response | |||
| List of all conference sessions exported in CSV, JSON, XML or Excel XLS depending on the "format" parameter. | |||
SESSION: COUNT URL: http://your_conference.sched.org/api/session/count↑ Top
| Field | Required | Description | Max Length |
|---|---|---|---|
| api_key | Yes | Provided to you by us | 32 |
| since | No | Retrieve sessions modified since timestamp (Unix epoch time) | 40 |
| status | No | Set to "del" to get count of deleted sessions | 40 |
| Example GET Usage (all on one line) | |||
| http://your_conference.sched.org/api/session/count?api_key=secret&since=1282755813&status=del | |||
| Response | |||
| Total number of sessions. | |||
Get information about your users in variety of formats.
USER: LIST URL: http://your_conference.sched.org/api/user/list↑ Top
| Field | Required | Description | Max Length |
|---|---|---|---|
| api_key | Yes | Provided to you by us | 32 |
| format | No | One of "csv", "xml", "json". Defaults to "csv" | 4 |
| fields | No | Comma separated list of fields. Default: "username", "name", "phone", "email", "joined", "lastactive", "avatar". Available fields: "id", "username", "name", "phone", "email", "url", "about", "role", "joined", "lastactive", "avatar"; | 512 |
| Example GET Usage (all on one line) | |||
| http://your_conference.sched.org/api/user/list?api_key=secret&format=xml | |||
| Response CSV | |||
|
CSV exported file. | |||
| Response JSON | |||
[{
"username": "youruser1",
"name": "Your User 1",
"phone": "(555)5557897",
"email": "user@example.com",
"joined": "2011-04-14 20:55:52",
"lastactive": "2011-04-15 21:57:21",
"avatar": "http://url.to/image.jpg"
},{
"username": "youruser2",
"name": "Your User 2",
"phone": "(123)5557897",
"email": "user2@example.com",
"joined": "2012-02-14 20:55:52",
"lastactive": "2012-03-20 21:57:21",
"avatar": "http://example.com/user.jpg"
}]
| |||
| Response XML | |||
<users>
<user>
<username>youruser1</username>
<name>Your User 1</name>
<phone>(555)5557897</phone>
<email>user1@example.com</email>
<joined>2011-04-14 20:55:52</joined>
<lastactive>2011-04-15 21:57:21</lastactive>
<avatar>http://url.to/image.jpg</avatar>
</user>
<user>
<username>youruser2</username>
<name>Your User 2</name>
<phone>(123)5557897</phone>
<email>user2@example.com</email>
<joined>2012-02-14 20:55:52</joined>
<lastactive>2012-03-20 21:57:21</lastactive>
<avatar>http://example.com/user.jpg</avatar>
</user>
</users>
| |||
Create user account
USER: ADD URL: http://your_conference.sched.org/api/user/add↑ Top
| Field | Required | Description | Max Length |
|---|---|---|---|
| api_key | Yes | Provided to you by us | 32 |
| username | Yes | Allowed: alphanumerics, period, underscore | 40 |
| Yes | Users Email Address | 40 | |
| password | No | Users desired password. Optional. Random password will be generated if none provided. | 32 |
| phone | No | Users Phone Number (xxx-xxx-xxxx) | 40 |
| privacy | No | Default is 0 (off), Set to 1 (on) | 1 |
| role | No | One of the following: "attendee", "speaker", "artist", "sponsor", "exhibitor", "staff" | 10 |
| sessions | No | Comma separated string of session id's which the user will be connected to | 1024 |
| full_name | No | Users full name | 40 |
| about | No | Short bio/description. Some HTML allowed (a,b,br,i,em,strong) | 8192 |
| avatar | No | Publicly accessible, not shortened URL to gif, jpg or png image. Images are copied and resized on our server. | 1024 |
| send_email | No | Default is 1 (on), Set to 0 (off). Whether to send e-mail with login credentials to user. | 1 |
| Example GET Usage (all on one line) | |||
| http://your_conference.sched.org/api/user/add?api_key=secret&username=desired_username&email=user@example.com | |||
| Response | |||
| JSON encoded username and password of newly created user account. | |||
|
Note: Successfully calling this method will automatically clear all the sample (demo) data that new SCHED* sites are filled with on creation. | |||
Modify user account
IMPORTANT: user's password is required if changing username
USER: MODIFY URL: http://your_conference.sched.org/api/user/mod↑ Top
| Field | Required | Description | Max Length |
|---|---|---|---|
| api_key | Yes | Provided to you by us | 32 |
| id | No | User's unique ID | 40 |
| username | No | Username of the user to be modified | 40 |
| password | No | User's password Use if you want to modify user's password If changing username, password is required. | 40 |
| No | Modify e-mail | 40 | |
| phone | No | Change Phone Number (xxx-xxx-xxxx) | 40 |
| privacy | No | Default is 0 (off), Set to 1 (on). | 1 |
| role | No | Add role to user. See user/add for possible roles. | 10 |
| sessions | No | Sessions connected to user under his "role" If role is anything but "attendee", modifying user's connected sessions will overwrite existing connections. If role is "attendee", it will add specified sessions on top of existing ones. | 1024 |
| full_name | No | Change full name | 40 |
| about | No | Change bio/description. Some HTML allowed (a,b,br,i,em,strong) | 8192 |
| avatar | No | Change profile picture. Publicly accessible, not shortened URL to gif, jpg or png image. Images are copied and resized on our server. | 1024 |
| Example GET Usage (all on one line) | |||
| http://your_conference.sched.org/api/user/mod?api_key=secret&username=username&email=user@example.com | |||
| Response | |||
|
"Ok" on successful change. JSON object with basic user info in the case of username change. Error text on failed request. | |||
Lookup user
USER: GET URL: http://your_conference.sched.org/api/user/get↑ Top
| Field | Required | Description | Max Length |
|---|---|---|---|
| api_key | Yes | Provided to you by us | 32 |
| by | Yes | What to look up user by. Available are "username", "email", "name" or "id". | 40 |
| term | Yes | Username, e-mail or name of user being looked up. | 512 |
| fields | No | Available user profile fields. Use them if you want to get fields you want in order preferred. Default: "username", "name", "email", "about", "url", "avatar", "role" | 512 |
| format | No | Format of response. Available are "csv", "xml" or "json". Default is "csv" | 40 |
| Example GET Usage (all on one line) | |||
| http://your_conference.sched.org/api/user/get?api_key=secret&by=username&term=username&format=xml | |||
| Response | |||
| User's profile data or API error on unsuccessful lookup. | |||
USER: ACTIVE URL: http://your_conference.sched.org/api/user/active↑ Top
| Field | Required | Description | Max Length |
|---|---|---|---|
| api_key | Yes | Provided to you by us | 32 |
| Example GET Usage (all on one line) | |||
| http://your_conference.sched.org/api/user/active?api_key=secret | |||
| Response | |||
| List of all attendees with "username" and "lastactive" fields. Sent as CSV file. | |||
USER: AVATAR URL: http://your_conference.sched.org/api/user/avatar↑ Top
| Field | Required | Description | Max Length |
|---|---|---|---|
| api_key | Yes | Provided to you by us | 32 |
| username | Yes | Existing user username | 40 |
| avatar | Yes | Publicly accessible, not shortened URL to gif, jpg or png image. Images are copied and resized on our server. | 1024 |
| Example GET Usage (all on one line) | |||
| http://your_conference.sched.org/api/user/avatar?api_key=secret&username=username&avatar=http://example.com/image.jpg | |||
| Response | |||
| "Ok" string upon successful avatar save, error message otherwise. | |||
USER: SESSIONS URL: http://your_conference.sched.org/api/user/sessions↑ Top
| Field | Required | Description | Max Length |
|---|---|---|---|
| api_key | Yes | Provided to you by us | 32 |
| Example GET Usage (all on one line) | |||
| http://your_conference.sched.org/api/user/sessions?api_key=secret | |||
| Response | |||
| List of all attendees and sessions they selected. Sent as CSV file. | |||
The following API methods let you add the currently authenticated user to sessions and to retrieve data about session attendees in JSON format.
NOTE: most of these methods require your application to have valid user session key.
Session key is obtained via http://your_conference.sched.org/api/auth/login with proper user credentials.
AUTH: LOGIN URL: http://your_conference.sched.org/api/auth/login↑ Top
| Field | Required | Description | Max Length |
|---|---|---|---|
| api_key | Yes | Provided to you by us | 32 |
| username | Yes | Username of user account | 40 |
| password | Yes | User password | 32 |
| Example GET Usage (all on one line) | |||
| http://your_conference.sched.org/api/auth/login?api_key=secret&username=user_name&password=user_pw | |||
| Response | |||
| Valid session key to use with the GOING methods. | |||
GOING: ADD URL: http://your_conference.sched.org/api/going/add↑ Top
| Field | Required | Description | Max Length |
|---|---|---|---|
| api_key | Yes | Provided to you by us | 32 |
| session | Yes | Authenticated user session key, obtained via /api/auth/login | 40 |
| sessions | Yes | Comma separated string of session id's which user will attend | 32 |
| Example GET Usage (all on one line) | |||
| http://your_conference.sched.org/api/going/add?api_key=secret&session=valid_session_key&sessions=id1,id2,id3 | |||
| Response | |||
| Text string with message, for each session "Adding session:session_key to user:user_id" or "Couldn't find session:session_key", separated by newlines | |||
GOING: DEL URL: http://your_conference.sched.org/api/going/del↑ Top
| Field | Required | Description | Max Length |
|---|---|---|---|
| api_key | Yes | Provided to you by us | 32 |
| session | Yes | Authenticated user session key, obtained via /api/auth/login | 40 |
| sessions | Yes | Comma separated string of session id's which user will be removed from | 32 |
| Example GET Usage (all on one line) | |||
| http://your_conference.sched.org/api/going/del?api_key=secret&session=valid_session_key&sessions=id1,id2,id3 | |||
| Response | |||
| Text string with message, for each session "Removed session:session_key to user:user_id" or "Couldn't find session:session_key", separated by newlines | |||
GOING: SCHEDULE URL: http://your_conference.sched.org/api/going/schedule↑ Top
| Field | Required | Description | Max Length |
|---|---|---|---|
| api_key | Yes | Provided to you by us | 32 |
| session | Yes | Authenticated user session key, obtained via /api/auth/login | 40 |
| username | No | Optional username to look up other public user's profiles | 40 |
| Example GET Usage (all on one line) | |||
| http://your_conference.sched.org/api/going/schedule?api_key=secret&session=valid_session_key | |||
| Response | |||
| HTML formatted user's schedule. | |||
GOING: ALL URL: http://your_conference.sched.org/api/going/all↑ Top
| Field | Required | Description | Max Length |
|---|---|---|---|
| api_key | Yes | Provided to you by us | 32 |
| Example GET Usage (all on one line) | |||
| http://your_conference.sched.org/api/going/all?api_key=secret | |||
| Response | |||
| Exported list of all attendees. Sent as JSON. | |||
GOING: LIST URL: http://your_conference.sched.org/api/going/list↑ Top
| Field | Required | Description | Max Length |
|---|---|---|---|
| api_key | Yes | Provided to you by us | 32 |
| session | Yes | Authenticated user session key, obtained via /api/auth/login | 40 |
| username | Yes | Username for which to get attended sessions | 40 |
| Example GET Usage (all on one line) | |||
| http://your_conference.sched.org/api/going/list?api_key=secret&session=valid_session_key&username=user_to_get_sessions_for | |||
| Response | |||
| Exported list of user's sessions. Sent as JSON. | |||
Get HTML formatted schedule for mobile display
SCHEDULE: GET URL: http://your_conference.sched.org/api/schedule/get↑ Top
| Field | Required | Description | Max Length |
|---|---|---|---|
| api_key | Yes | Provided to you by us | 32 |
| se | Yes | Authenticated user session key, obtained via /api/auth/login | 40 |
| o | No | Offset from which to start getting sessions | 40 |
| l | No | Limit, How many records to get | 40 |
| f | No | Filter: Type, venue, search | 40 |
| t | No | Timestamp: last received session start. Format: Unix timestamp | 40 |
| m | No | Mode: string, one of the following filters: friends, user, session, get (no filters), s (for search queries) | 40 |
| Example GET Usage (all on one line) | |||
| http://your_conference.sched.org/api/schedule/get?api_key=secret&se=valid_session_key&o=10&l=20&f=type/music&m=get | |||
| Response | |||
| HTML formatted schedule for mobile display. | |||
Get HTML formatted schedule for mobile display
ASSETS: BANNER URL: http://your_conference.sched.org/api/assets/banner↑ Top
| Field | Required | Description | Max Length |
|---|---|---|---|
| api_key | Yes | Provided to you by us | 32 |
| modify_date | No | Unix Timestamp formatted last update | 40 |
| Example GET Usage (all on one line) | |||
| http://your_conference.sched.org/api/assets/banner?api_key=secret&modify_date=0 | |||
| Response | |||
| Base 64 encoded image. | |||
The following API methods let you to assign and remove roles for existing users.
These methods don't require to be authenticated as user.
ROLE: ADD URL: http://your_conference.sched.org/api/role/add↑ Top
| Field | Required | Description | Max Length |
|---|---|---|---|
| api_key | Yes | Provided to you by us | 32 |
| username | Yes | Username of user which is to be assigned a role | 40 |
| role | Yes | One of the following: "attendee", "speaker", "artist", "sponsor", "exhibitor", "staff" | 10 |
| sessions | No | Comma separated string of session id's which the user will be associated with | 1024 |
| Example GET Usage (all on one line) | |||
| http://your_conference.sched.org/api/role/add?api_key=secret&username=user_name&sessions=id1,id2,id3 | |||
| Response | |||
| API error in case of the invalid request, "Ok" for successful action. | |||
ROLE: DEL URL: http://your_conference.sched.org/api/role/del↑ Top
| Field | Required | Description | Max Length |
|---|---|---|---|
| api_key | Yes | Provided to you by us | 32 |
| username | Yes | Username of user which is to be removed a role | 40 |
| role | Yes | One of the following: "attendee", "speaker", "artist", "sponsor", "exhibitor", "staff" | 10 |
| sessions | No | Comma separated string of session id's which the user will be disconnected from If no sessions provided, the user will be disconnected from all sessions associated with given role. | 1024 |
| Example GET Usage (all on one line) | |||
| http://your_conference.sched.org/api/role/del?api_key=secret&username=user_name&sessions=id1,id2,id3 | |||
| Response | |||
| API error in case of the invalid request, "Ok" for successful action. | |||
Export the list of all people having a certain role. Suitable as source for printed materials.
ROLE: EXPORT URL: http://your_conference.sched.org/api/role/export↑ Top
| Field | Required | Description | Max Length |
|---|---|---|---|
| api_key | Yes | Provided to you by us | 32 |
| role | Yes | One of the following: "attendee", "speaker", "artist", "sponsor", "exhibitor", "staff" | 10 |
| format | No | One of the following: "csv", "json", "csv", "xls". Default is "csv" | 4 |
| strip_html | No | Remove HTML tags from description | 1 |
| fields | No | Comma separated string of fields desired. Default: "name", "email", "about", "url", "avatar" Available: "id", "username", "name", "email", "phone", "about", "avatar", "sessions" If you add sessions to "fields" parameter list, titles of sessions attached to role will be added to the output. | 1024 |
| Example GET Usage (all on one line) | |||
| http://your_conference.sched.org/api/role/export?api_key=secret&role=speaker&format=xml&strip_html=Y | |||
| Response | |||
| API error in case of the invalid request, JSON/XML data or CSV file, depending on format parameter. | |||