API Documentation

The Sponsorship and Native App plans include API access.

Our 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. Limit your API usage to a rate lower than 30 calls per minute (cumulative and sustained). Failure to comply will result in a temporary revocation of your API key.

API MethodDescription
Site: AddCreate a new event site.
Site: SyncEvent info (dates, venues, types, css).
Session: AddAdd a new session.
Session: ModifyEdit an existing session.
Session: DeleteDelete a session.
Session: ListList of sessions.
Session: ExportList of sessions without HTML.
Session: SeatsAttendance lists and waitlists.
Session: CountNo. of sessions since a date.
User: ListList of users.
User: AddAdd a new user.
User: ModifyEdit an existing user.
User: GetLookup a user.
User: ActiveList of users and last active date.
User: AvatarAdd an avatar/photo to a user.
User: SessionsList of attendees and sessions they selected.
Auth: LoginLogin and get authorized to add/remove sessions.
Going: AddAdd sessions to a user.
Going: DeleteRemove sessions from a user.
Going: ScheduleUser's schedule in HTML.
Going: ListSingle user's schedule.
Going: AllAll users' schedules.
Schedule: GetSchedule for mobile.
Assets: BannerMobile header image.
Role: AddAssign a role to a user.
Role: DeleteRemove a role from a user.
Role: ExportExport users in a role.

SITE: ADD URL: https://your_conference.sched.org/api/site/add

Create a new event site.

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 e-mail128
descriptionNoDetailed description of the conference255
Example GET Usage (all on one line)
https://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": "https://your_conference.sched.org",
          "user":
            {
              "username": "myconf-admin",
              "email":"admin@example.com",
              "login":"https://your_conference.sched.org/editor",
              "reset":"https://your_conference.sched.org/password-new?user=myconf-admin&reset=NONCE_KEY"
            }
        }
        

SITE: SYNC URL: https://your_conference.sched.org/api/site/sync

Event info (dates, venues, types, css).

FieldRequiredDescriptionMax Length
api_keyYesProvided to you by us32
modify_dateNoLast sync timestamp. Format: Unix timestamp
20
Example GET Usage (all on one line)
https://your_conference.sched.org/api/site/sync?api_key=secret&modify_date=0
Response
JSON encoded site wording and CSS.
        {"title": "Your Conference",
        "base":"https://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
        }
        

SESSION: ADD URL: https://your_conference.sched.org/api/session/add

Add a new session.

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
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=https://youtube.com/v/xvw123
n/a
Example GET Usage (all on one line)
https://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: https://your_conference.sched.org/api/session/mod

Edit an existing session.

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
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)
https://your_conference.sched.org/api/session/mod?api_key=secret&session_key=kn1&venue=Main+Auditorium

SESSION: DELETE URL: https://your_conference.sched.org/api/session/del

Delete a session.

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)
https://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.

SESSION: LIST URL: https://your_conference.sched.org/api/session/list

List of sessions.

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)
https://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.

SESSION: EXPORT URL: https://your_conference.sched.org/api/session/export

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

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)
https://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: SEATS URL: https://your_conference.sched.org/api/session/seats

Attendance lists and waitlists. Convenient for check-in lists and mailing lists.

FieldRequiredDescriptionMax Length
api_keyYesProvided to you by us32
id OR keyYesUnique session ID or session key.32
typeNoOne of "attendance", "waitlist" or "all". Defaults to "attendance"40
formatNoOne of "json", "xls" or "text". Defaults to "csv"40
fieldsNoComma separated list of fields wanted.
Select the order of needed fields by listing them here. Leave blank to get name, email and company.
1024
Example GET Usage (all on one line)
https://your_conference.sched.org/api/session/seats?api_key=secret&type=waitlist&format=json&fields=name,email,about
Response
List of all attendees (for a particular session) on the attendance list, waitlist or both combined ("type"), exported as JSON, Excel XLS or text format ("format"). The text format outputs attendees as a comma separated list of items formatted as "Firstname Lastname <email@domain.com>", i.e. taylored for easy copy/pasting into an e-mail client To: field.
Note: using the text format will only export users with an e-mail.

SESSION: COUNT URL: https://your_conference.sched.org/api/session/count

No. of sessions since a date.

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)
https://your_conference.sched.org/api/session/count?api_key=secret&since=1282755813&status=del
Response
Total number of sessions.

USER: LIST URL: https://your_conference.sched.org/api/user/list

List of users.

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", "company", "position", "location".
Available fields: "id", "username", "name", "phone", "email", "url", "about", "role", "joined", "lastactive", "avatar", "company", "position", "location";
512
Example GET Usage (all on one line)
https://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":     "https://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":     "https://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>https://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>https://example.com/user.jpg</avatar>
        </user>
        </users>

USER: ADD URL: https://your_conference.sched.org/api/user/add

Add a new user. Must provide either username or email. You do not need to provide both.

FieldRequiredDescriptionMax Length
api_keyYesProvided to you by us32
usernameYes (or email)Allowed: alphanumerics, period, underscore40
emailYes (or username)User'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", "volunteer"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)
https://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.

USER: MODIFY URL: https://your_conference.sched.org/api/user/mod

Edit an existing user. User's password is required if changing username.

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)
https://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.

USER: GET URL: https://your_conference.sched.org/api/user/get

Lookup a user.

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"
Options: "username", "name", "email", "about", "url", "avatar", "role", "company", "position", "location"
512
formatNoFormat of response. Available are "csv", "xml" or "json".
Default is "csv"
40
Example GET Usage (all on one line)
https://your_conference.sched.org/api/user/get?api_key=secret&by=username&term=username&format=json
Response
User's profile data or API error on unsuccessful lookup.

USER: ACTIVE URL: https://your_conference.sched.org/api/user/active

List of users and last active date.

FieldRequiredDescriptionMax Length
api_keyYesProvided to you by us32
Example GET Usage (all on one line)
https://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: https://your_conference.sched.org/api/user/avatar

Add an avatar/photo to a user.

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)
https://your_conference.sched.org/api/user/avatar?api_key=secret&username=username&avatar=https://example.com/image.jpg
Response
"Ok" string upon successful avatar save, error message otherwise.

USER: SESSIONS URL: https://your_conference.sched.org/api/user/sessions

List of attendees and sessions they selected.

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)
https://your_conference.sched.org/api/user/sessions?api_key=secret
Response
List of all attendees and sessions they selected.

AUTH: LOGIN URL: https://your_conference.sched.org/api/auth/login

Login and get authorized to add/remove sessions. The session key from this call can be used on GOING: ADD, GOING: DEL & GOING: SCHEDULE.

FieldRequiredDescriptionMax Length
api_keyYesProvided to you by us32
usernameYesUsername of user account40
passwordYesUser password32
Example GET Usage (all on one line)
https://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: https://your_conference.sched.org/api/going/add

Add sessions to a user.

FieldRequiredDescriptionMax Length
api_keyYesProvided to you by us32
sessionYesAuthenticated user session key, obtained via AUTH: LOGIN40
sessionsYesComma separated string of session id's which user will attend32
Example GET Usage (all on one line)
https://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: https://your_conference.sched.org/api/going/del

Remove sessions from a user.

FieldRequiredDescriptionMax Length
api_keyYesProvided to you by us32
sessionYesAuthenticated user session key, obtained via AUTH: LOGIN40
sessionsYesComma separated string of session id's which user will be removed from32
Example GET Usage (all on one line)
https://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: https://your_conference.sched.org/api/going/schedule

User's schedule in HTML.

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)
https://your_conference.sched.org/api/going/schedule?api_key=secret&session=valid_session_key
Response
HTML formatted user's schedule.

GOING: LIST URL: https://your_conference.sched.org/api/going/list

Single user's schedule.

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)
https://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.

GOING: ALL URL: https://your_conference.sched.org/api/going/all

All users' schedules.

FieldRequiredDescriptionMax Length
api_keyYesProvided to you by us32
Example GET Usage (all on one line)
https://your_conference.sched.org/api/going/all?api_key=secret
Response
Exported list of all attendees. Sent as JSON.

SCHEDULE: GET URL: https://your_conference.sched.org/api/schedule/get

Get HTML formatted schedule for mobile display.

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)
https://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.

ASSETS: BANNER URL: https://your_conference.sched.org/api/assets/banner

Mobile header image.

FieldRequiredDescriptionMax Length
api_keyYesProvided to you by us32
modify_dateNoUnix Timestamp formatted last update40
Example GET Usage (all on one line)
https://your_conference.sched.org/api/assets/banner?api_key=secret&modify_date=0
Response
Base 64 encoded image.

ROLE: ADD URL: https://your_conference.sched.org/api/role/add

Assign a role to a user.

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", "volunteer"10
sessionsNoComma separated string of session id's which the user will be associated with1024
Example GET Usage (all on one line)
https://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: https://your_conference.sched.org/api/role/del

Remove a role from a user.

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", "volunteer"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)
https://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.

ROLE: EXPORT URL: https://your_conference.sched.org/api/role/export

Export users in a specific role. Useful for printed materials.

FieldRequiredDescriptionMax Length
api_keyYesProvided to you by us32
roleYesOne of the following: "attendee", "speaker", "artist", "sponsor", "exhibitor", "volunteer"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", "company", "position", "location", "about", "url", "avatar"
Default for exhibitor: "name", "email", "booth", "about", "url", "avatar"
Available: "id", "username", "name", "email", "phone", "about", "avatar", "sessions", "location", "booth" (exhibitor-only), "company", "position", "privacy_mode", "lastactive" (in PST)
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)
https://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.