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

To create and edit SCHED* sites, use the methods below by passing the appropriate field values.

SITE: ADD URL: http://schedapi.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://schedapi.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 Event table, use the methods below by passing the appropriate field values.

EVENT: ADD URL: http://your_conference.sched.org/api/event/add↑ Top

FieldRequiredDescriptionMax Length
api_keyYesProvided to you by us32
event_keyYesMust be a unique alpha-numeric string.
E.g.: 123, PANEL4, ST45K etc.
32
nameYesName of the event120
event_startYesFull date + time for start of event
Format: YY-MM-DD HH:MM ()
40
event_endYesFull date + time when event ends
Format: YY-MM-DD HH:MM ()
40
event_typeYesUsed to filter events32
event_subtypeNoFor additional filter/organizing events32
descriptionNoDetailed description of the event
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 event's location / map250
tagsNoComma-separated words and phrases250
Example GET Usage (all on one line)
http://your_conference.sched.org/api/event/add?api_key=secret&event_key=kn1&name=Opening+Keynote&event_start=2008-06-12+10am&event_end=2008-06-12+12:15pm&event_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.

EVENT: MODIFY URL: http://your_conference.sched.org/api/event/mod↑ Top

FieldRequiredDescriptionMax Length
api_keyYesProvided to you by us32
event_keyYesMust be a unique alpha-numeric string.
E.g.: 123, PANEL4, ST45K etc.
32
nameNoName of the event120
event_startNoFull date + time for start of event
Format: YY-MM-DD HH:MM ()
40
event_endNoFull date + time when event ends
Format: YY-MM-DD HH:MM ()
40
event_typeNoUsed to filter events32
event_subtypeNoFor additional filter/organizing events32
descriptionNoDetailed description of the event
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 event's location / map250
tagsNoComma-separated words and phrases250
activeNoY = Event is active, N = Event is deactivated and hidden1
Example GET Usage (all on one line)
http://your_conference.sched.org/api/event/mod?api_key=secret&event_key=kn1&venue=Main+Auditorium

EVENT: DELETE URL: http://your_conference.sched.org/api/event/del↑ Top

FieldRequiredDescriptionMax Length
api_keyYesProvided to you by us32
event_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/event/del?api_key=secret&event_key=kn1

Note: The delete API only deactivates an event and hides it from the public schedule. This is the recommend way of handling cancelled events as any existing links to this event clearly display "[CANCELLED]" while still maintaining data integrity.


The following API methods let you retrieve data from the Event and User tables in CSV and JSON formats.

EVENT: LIST URL: http://your_conference.sched.org/api/event/list↑ Top

FieldRequiredDescriptionMax Length
api_keyYesProvided to you by us32
sinceNoRetrieve events 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 events40
Example GET Usage (all on one line)
http://your_conference.sched.org/api/event/list?api_key=secret&since=1282755813format=json&status=del
Response
List of all conference events exported in CSV or JSON, depending on the "type" parameter.

List of events with HTML stripped. This is convenient for printed materials and importing in other systems.

EVENT: EXPORT URL: http://your_conference.sched.org/api/event/export↑ Top

FieldRequiredDescriptionMax Length
api_keyYesProvided to you by us32
sinceNoRetrieve events modified since timestamp (Unix epoch time)4
formatNoOne of "csv", "xml", "json". 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 events.8
limitNoNumber of events per page. Defaults to 1000.8
Example GET Usage (all on one line)
http://your_conference.sched.org/api/event/export?api_key=secret&format=xml&fields=name,event_type,description
Response
List of all conference events exported in CSV, JSON or XML depending on the "type" parameter.

EVENT: COUNT URL: http://your_conference.sched.org/api/event/count↑ Top

FieldRequiredDescriptionMax Length
api_keyYesProvided to you by us32
sinceNoRetrieve events modified since timestamp (Unix epoch time)40
statusNoSet to "del" to get count of deleted events40
Example GET Usage (all on one line)
http://your_conference.sched.org/api/event/count?api_key=secret&since=1282755813&status=del
Response
Total number of events.

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
emailYesUsers Email Address40
passwordNoUsers desired password. Optional. Random password will be generated if none provided.32
phoneNoUsers 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
eventsNoComma separated string of event id's which the user will be connected to1024
full_nameNoUsers 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
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
eventsNoEvents connected to user under his "role"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
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: EVENTS URL: http://your_conference.sched.org/api/user/events↑ Top

FieldRequiredDescriptionMax Length
api_keyYesProvided to you by us32
Example GET Usage (all on one line)
http://your_conference.sched.org/api/user/events?api_key=secret
Response
List of all attendees and events they selected. Sent as CSV file.

The following API methods let you add users to event and to retrieve data about event 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
usernameYesUsername of user to add to events40
eventsYesComma separated string of event 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&username=user_name&events=id1,id2,id3
Response
Text string with message, for each event "Adding event:event_key to user:user_id" or "Couldn't find event:event_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
usernameYesUsername of user to add to events40
eventsYesComma separated string of event 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&username=user_name&events=id1,id2,id3
Response
Text string with message, for each event "Removed event:event_key to user:user_id" or "Couldn't find event:event_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 events40
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_events_for
Response
Exported list of user's events. 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 events40
lNoLimit, How many records to get40
fNoFilter: Type, venue, search40
tNoTimestamp: last received event start. Format: Unix timestamp40
mNoMode: string, one of the following filters: friends, user, event, 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
eventsNoComma separated string of event 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&events=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
eventsNoComma separated string of event id's which the user will be disconnected from
If no events provided, the user will be disconnected from all events 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&events=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". Default is "csv"4
fieldsNoComma separated string of fields desired.
Default: "name", "email", "about", "url", "avatar"
Available: "id", "username", "name", "email", "phone", "about", "avatar", "events"
If you add events to "fields" parameter list, titles of events 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
Response
API error in case of the invalid request, JSON/XML data or CSV file, depending on format parameter.