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. You must also send requests with a User-Agent in the headers, as Sched filters out requests with no User-Agent.

API Method List

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

FieldRequiredDescriptionMax Length
api_keyYesProvided to you by us32
nameNoMust 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_startNoFull date + time for start of conference.
Format: Unix Timestamp
If not provided, it will default to 2 months from today.
80
event_endYesFull date + time when conference ends
Format: Unix Timestamp
If not provided, it will default to 2 months and one day from today.
80
titleYesTitle of the conference
If no "name" supplied, this field will be used to generate the name/URL of the site
80
adminYesConference Admin's e-mail128
descriptionNoDetailed description of the conference255
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

FieldRequiredDescriptionMax Length
api_keyYesProvided to you by us32
modify_dateNoLast 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

FieldRequiredDescriptionMax Length
api_keyYesProvided to you by us32
session_keyYesMust be a unique alpha-numeric string.
E.g.: 123, PANEL4, ST45K etc.
32
nameYesName of the session120
session_startYesFull date + time for start of session
Format: YY-MM-DD HH:MM ()
40
session_endYesFull date + time when session ends
Format: YY-MM-DD HH:MM ()
40
session_typeYesUsed to filter sessions32
session_subtypeNoFor additional filter/organizing sessions32
descriptionNoDetailed description of the session
Links (HTML Tag <a>) allowed.
8kb
media_urlNoURL for media: audio/video/documents250
venueNoBuilding name / Company name etc.80
addressNoRoom # / Street Address250
mapNoDirect URL for session's location / map250
tagsNoComma-separated words and phrases250
seatsNoVenue capacity - number of available seats.250
(custom fields)NoTo 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

FieldRequiredDescriptionMax Length
api_keyYesProvided to you by us32
session_keyYesMust be a unique alpha-numeric string.
E.g.: 123, PANEL4, ST45K etc.
32
nameNoName of the session120
session_startNoFull date + time for start of session
Format: YY-MM-DD HH:MM ()
40
session_endNoFull date + time when session ends
Format: YY-MM-DD HH:MM ()
40
session_typeNoUsed to filter sessions32
session_subtypeNoFor additional filter/organizing sessions32
descriptionNoDetailed description of the session
Links (HTML Tag <a>) allowed.
8kb
media_urlNoURL for media: audio/video/documents250
venueNoBuilding name / Company name etc.80
addressNoRoom # / Street Address250
mapNoDirect URL for session's location / map250
tagsNoComma-separated words and phrases250
seatsNoVenue capacity - number of available seats.250
activeNoY = session is active, N = session is deactivated and hidden1
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

FieldRequiredDescriptionMax Length
api_keyYesProvided to you by us32
session_keyYesMust 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

FieldRequiredDescriptionMax Length
api_keyYesProvided to you by us32
sinceNoRetrieve sessions modified since timestamp (Unix epoch time)4
formatNoLeave blank to get CSV file or set to "json"40
statusNoSet to "del" to fetch only references to deleted sessions40
custom_dataNoInclude 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

FieldRequiredDescriptionMax Length
api_keyYesProvided to you by us32
sinceNoRetrieve sessions modified since timestamp (Unix epoch time)4
formatNoOne of "csv", "xml", "json", "xls". Defaults to "csv"40
fieldsNoComma separated list of fields wanted.
Select the order of needed fields by listing them here. Leave blank to get all available fields.
1024
pageNoTo page results, provide a page number. Omit to get all sessions.8
limitNoNumber of sessions per page. Defaults to 1000.8
strip_htmlNoRemove HTML tags from description1
custom_dataNoInclude 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

FieldRequiredDescriptionMax Length
api_keyYesProvided to you by us32
sinceNoRetrieve sessions modified since timestamp (Unix epoch time)40
statusNoSet to "del" to get count of deleted sessions40
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

FieldRequiredDescriptionMax Length
api_keyYesProvided to you by us32
formatNoOne of "csv", "xml", "json". Defaults to "csv"4
fieldsNoComma 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

FieldRequiredDescriptionMax Length
api_keyYesProvided to you by us32
usernameYesAllowed: alphanumerics, period, underscore40
emailYesUser's Email Address40
passwordNoUser's desired password. Optional. Random password will be generated if none provided.32
phoneNoUser's Phone Number (xxx-xxx-xxxx)40
privacyNoDefault is 0 (off), Set to 1 (on)1
roleNoOne of the following: "attendee", "speaker", "artist", "sponsor", "exhibitor", "staff"10
sessionsNoComma separated string of session id's which the user will be connected to1024
full_nameNoUser's full name40
aboutNoShort bio/description. Some HTML allowed (a,b,br,i,em,strong)8192
avatarNoPublicly accessible, not shortened URL to gif, jpg or png image. Images are copied and resized on our server.1024
locationNoUser's physical location (city, country)1024
companyNoUser's employer1024
positionNoUser's employment position (e.g. Chief Technology Officer)1024
boothNoExhibitor booth (applies only to users with the role set to "exhibitor")1024
send_emailNoDefault 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

FieldRequiredDescriptionMax Length
api_keyYesProvided to you by us32
idNoUser's unique ID40
usernameNoUsername of the user to be modified40
passwordNoUser's password
Use if you want to modify user's password
If changing username, password is required.
40
emailNoModify e-mail40
phoneNoChange Phone Number (xxx-xxx-xxxx)40
privacyNoDefault is 0 (off), Set to 1 (on).1
roleNoAdd role to user.
See user/add for possible roles.
10
sessionsNoSessions 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_nameNoChange full name40
aboutNoChange bio/description. Some HTML allowed (a,b,br,i,em,strong)8192
avatarNoChange profile picture.
Publicly accessible, not shortened URL to gif, jpg or png image. Images are copied and resized on our server.
1024
locationNoUser's physical location (city, country)1024
companyNoUser's employer1024
positionNoUser's employment position (e.g. Chief Technology Officer)1024
boothNoExhibitor booth (applies only to users with the role set to "exhibitor")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

FieldRequiredDescriptionMax Length
api_keyYesProvided to you by us32
byYesWhat to look up user by.
Available are "username", "email", "name" or "id".
40
termYesUsername, e-mail or name of user being looked up.512
fieldsNoAvailable 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
formatNoFormat 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

FieldRequiredDescriptionMax Length
api_keyYesProvided to you by us32
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

FieldRequiredDescriptionMax Length
api_keyYesProvided to you by us32
usernameYesExisting user username40
avatarYesPublicly 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

FieldRequiredDescriptionMax Length
api_keyYesProvided to you by us32
formatNoFormat of response. Available as "csv" or "json". Default is "csv"
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.

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

FieldRequiredDescriptionMax Length
api_keyYesProvided to you by us32
usernameYesUsername of user account40
passwordYesUser password32
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

FieldRequiredDescriptionMax Length
api_keyYesProvided to you by us32
sessionYesAuthenticated user session key, obtained via /api/auth/login40
sessionsYesComma separated string of session id's which user will attend32
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

FieldRequiredDescriptionMax Length
api_keyYesProvided to you by us32
sessionYesAuthenticated user session key, obtained via /api/auth/login40
sessionsYesComma separated string of session id's which user will be removed from32
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

FieldRequiredDescriptionMax Length
api_keyYesProvided to you by us32
sessionYesAuthenticated user session key, obtained via /api/auth/login40
usernameNoOptional username to look up other public user's profiles40
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

FieldRequiredDescriptionMax Length
api_keyYesProvided to you by us32
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

FieldRequiredDescriptionMax Length
api_keyYesProvided to you by us32
sessionYesAuthenticated user session key, obtained via /api/auth/login40
usernameYesUsername for which to get attended sessions40
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

FieldRequiredDescriptionMax Length
api_keyYesProvided to you by us32
seYesAuthenticated user session key, obtained via /api/auth/login40
oNoOffset from which to start getting sessions40
lNoLimit, How many records to get40
fNoFilter: Type, venue, search40
tNoTimestamp: last received session start. Format: Unix timestamp40
mNoMode: 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

FieldRequiredDescriptionMax Length
api_keyYesProvided to you by us32
modify_dateNoUnix Timestamp formatted last update40
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

FieldRequiredDescriptionMax Length
api_keyYesProvided to you by us32
usernameYesUsername of user which is to be assigned a role40
roleYesOne of the following: "attendee", "speaker", "artist", "sponsor", "exhibitor", "staff"10
sessionsNoComma separated string of session id's which the user will be associated with1024
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

FieldRequiredDescriptionMax Length
api_keyYesProvided to you by us32
usernameYesUsername of user which is to be removed a role40
roleYesOne of the following: "attendee", "speaker", "artist", "sponsor", "exhibitor", "staff"10
sessionsNoComma 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

FieldRequiredDescriptionMax Length
api_keyYesProvided to you by us32
roleYesOne of the following: "attendee", "speaker", "artist", "sponsor", "exhibitor", "staff"10
formatNoOne of the following: "csv", "json", "csv", "xls". Default is "csv"4
strip_htmlNoRemove HTML tags from description1
fieldsNoComma 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.


Support & Knowledge BasePrivacy & TermsFollow @Sched • © 2008-2014 Sched