Map Your Show REST API

Version 1.0.0
New Version

We have a new version of our API with a lot of new functionality that you should consider migrating to. Please contact your Account Manager if you would like access. The documentation can be found at https://api.mapyourshow.com/mysRest/v2/

CHANGES:

  • The /Booths/ModifiedAssignments call, please note that the endpoint for that call has changed to /Booths/Assignments/Modified
  • The /Categories/Modified call, please note that the endpoint for that call has changed to /Exhibitors/Categories/Modified
  • More calls added for managing data
  • Updated status codes to better represent responses
  • Enhanced permissions

How to use MYS REST API:

Completing a successful call to the MYS Rest API requires that you first make a call to authorize and then use the value returned to make the subsequent call as an Authorization header. The token returned from the authorization call is valid for 60 minutes.

NOTE: Calls can not be called from a web browser.

Example:

  1. Call /Authorize - We use Basic Authentication to validate username and password
  2. Call /Exhibitors/Modified - pass "Authorization:Bearer [MYSGUID]" as a "Request Headers" section, where [MYSGUID] is the actual GUID you received from the Authorization service
  3. Call /Exhibitors/Detail - pass "Authorization:Bearer [MYSGUID]" as a "Request Headers" section, where [MYSGUID] is the actual GUID you received from the Authorization service

Exhibitor Data

  • Initially call /Exhibitors/Modified with a wide date range - MYS account rep or the show can advise on the initial launch date of the exhibitor data. All exhibitors will be returned in this call. After the initial call the FromDate should be adjusted to the last date/time the function was called to only get changes made since the last call to that function.
  • /Exhibitors - in order to get the in depth data of the exhibitor you will loop through the results of /Exhibitors/Modified and call /Exhibitors for each exhid that has a status of Added or Updated. This data will include all booth assignments, product categories assigned, booth contacts etc.
    • IsActive - this is a bit field indicating if that exhibitor is currently active or not. If it is not active it should never appear in the exhibitor list on the mobile app.
    • Booths - some shows have exhibitors that do not have booths assigned. It is up to you to clarify with the show staff if those exhibitors should be shown in the exhibitor list on the mobile app or not

Agenda Data

  • Agenda data should be synched between your own data set on your servers and the MYS dataset not directly from the installed mobile app and MYS. This setup will significantly reduce the number of calls needed and allow you to keep an updated data set regardless of when the app is in use.
  • /Users - will verify if an agenda exists in MYS for the given email address. Use POST to insert new user and PUT to update existing user.
  • /Users/Modified - use this function to get a list of all agendas that have been updated for a given time period. After the initial call for /Users/Modified you will need to change the time range given to only get the list since the last time you called this function.
  • /Agendas/Exhibitors - use GET to retrieve list of exhibitors in a users agenda, POST to add an exhibitor to their agenda, PUT to update the hasvisited or notes and DELETE to remove an exhibitor from their agenda.
  • /Agendas/Meetings - GET returns the schedule of exhibitor meetings for a user
  • /Agendas/Sessions - use GET to retrieve list of sessions in a users agenda, POST to add a session to their agenda and DELETE to remove a session from their agenda.
  • /Agendas/Events - use GET to retrieve a list of user specific events, POST to add a user specific event, PUT to update a user specific event and DELETE to remove a user specific event.

Session/Conference Data

  • /Sessions/Modified - use this function to get a list of all sessions that have been updated for a given time period. After the initial call for /Sessions/Modified you will need to change the time range given to only get the list since the last time you called this function.
  • /Sessions/List - Returns complete session list with high level data only about that session - id, title, description, type, date, start and end time and location. This can include a large data set. Contact the MYS account rep for recommendations on how often to call this data. If MYS is only getting updates once a day there is no need to call this function more often.
  • /Sessions - called per session and will return all known data about the session including speakers, handouts, tracks etc.

Response Codes

This is a list of some of the most common response codes you'll get from our REST API. We use standard HTTP Status Codes, a full list of which can be found at http://www.restapitutorial.com/httpstatuscodes.html

You should also get some written text back with any non-200 Status Code explaining the issue.

  • 200 - OK
    • All parameters were valid and a successful response is being returned
  • 400 - Bad Request
    • Invalid parameters were passed (Such as missing a required field, invalid formatting, etc)
  • 401 - Unauthorized
    • User not logged in or invalid authorization key/GUID
  • 403 - Forbidden
    • API is refusing to accept your call for a reason other than unauthorized (API call limit reached, used violated some rules, etc)
  • 409 - Conflict
    • Your request could not be completed due to a conflict
  • 500 - General Error
    • Your request could not be completed due to a general or unknown error. You should contact your MYS Account Manager if the error persists.

Resources:

These methods are common methods that don't pertain to any particular group.

GET: I authorize the user and provide a token used to call the rest of the services. The username and password should be passed in using Basic Authentication

get
required string username   Username/Password should be passed in using Basic Authentication
required string password   Username/Password should be passed in using Basic Authentication
required string showCode
GET: I get a value from a passed in GUID

get
required string valueGUID

These methods are for retrieving exhibitor data.

GET: I return an Exhibitor's details if passed an Exhibitor ID, or a list of Exhibitors in a booth if passed a Booth Number and/or Hall ID

get
optional string exhID (default: "")
optional string booth (default: "")
optional string hallID (default: "")
PUT: I update an Exhibitors Exhibitor ID

NOTE: Must have special permissions to use this function. If you feel that you need access to it, please contact your Account Manager.

put
required string oldExhID   The Exhibitors current Exhibitor ID
required string newExhID   The Exhibitors new Exhibitor ID
GET: I return a list of Exhibitors who have had data modified in the provided date range

get
required string fromDate   Format: YYYY-MM-DD HH:MM (24 hour clock)
required string toDate   Format: YYYY-MM-DD HH:MM (24 hour clock) - Must be within 30 days from fromDate
GET: I validate an Exhibitors login info

get
required string exhID
required string password

These methods are for retrieving booth data.

GET: I return Booth Points

NOTE: Must have special permissions to use this function. If you feel that you need access to it, please contact your Account Manager.

get
optional string booth (default: "")
optional string hallID (default: "")
GET: I return the Booths that have been modified within the provided date range

get
required string fromDate   Format: YYYY-MM-DD HH:MM (24 hour clock)
required string toDate   Format: YYYY-MM-DD HH:MM (24 hour clock) - Must be within 30 days from fromDate

These methods are for retrieving hall data.

GET: I return the list of Halls

get

These methods are for accessing and updating exhibitor categories.

GET: I return a list of Exhibitors who have had Categories modified in the provided date range

get
required string fromDate   Format: YYYY-MM-DD HH:MM (24 hour clock)
required string toDate   Format: YYYY-MM-DD HH:MM (24 hour clock) - Must be within 30 days from fromDate

These methods are for retrieving session data.

GET: I return a Session's details

get
required numeric sessionID
GET: I return a list of Sessions

get
GET: I return a list of Sessions who have had data modified in the provided date range

get
required string fromDate   Format: YYYY-MM-DD HH:MM (24 hour clock)
required string toDate   Format: YYYY-MM-DD HH:MM (24 hour clock) - Must be within 30 days from fromDate

These methods are for accessing and managing registered users.

/Users PUT POST GET

GET: I return a Registered Users details
POST: I insert a new Registered User
PUT: I update an existing Registered User

get
required string emailAddress
put
required string emailAddress
optional string altRegID (default: "")
required string firstName
required string lastName
required string title
required string company
required string city
required string state
required string country
required boolean allowExhibitorsToContact
post
required string emailAddress
required string password
optional string altRegID (default: "")
required string firstName
required string lastName
required string company
optional string city (default: "")
optional string state (default: "")
optional string country (default: "")
required boolean allowExhibitorsToContact
GET: I create a GUID for a Registered User

get
required string emailAddress
GET: I return a list of Registered Users who have had data modified in the provided date range

get
required string fromDate   Format: YYYY-MM-DD HH:MM (24 hour clock)
required string toDate   Format: YYYY-MM-DD HH:MM (24 hour clock) - Must be within 30 days from fromDate
GET: I validate a Registered Users login info

get
required string emailAddress
required string password

These methods are for accessing and updating a registered users agenda.

/Agendas/Events DELETE PUT POST GET

GET: I return the Events a Registered User has in their Agenda
POST: I add an Event to a Registered User's Agenda
PUT: I update an Event in a Registered User's Agenda
DELETE: I remove an Event from a Registered User's Agenda

get
required string emailAddress
delete
required string emailAddress
required numeric eventID
put
required string emailAddress
required numeric eventID
required string eventStartTime   Format: YYYY-MM-DD HH:MM (24 hour clock)
required string eventEndTime   Format: YYYY-MM-DD HH:MM (24 hour clock)
required string title
required string description
post
required string emailAddress
required string eventStartTime   Format: YYYY-MM-DD HH:MM (24 hour clock)
required string eventEndTime   Format: YYYY-MM-DD HH:MM (24 hour clock)
required string title
required string description

/Agendas/Exhibitors DELETE PUT POST GET

GET: I return the Exhibitors a Registered User has added to their Agenda
POST: I add an Exhibitor to a Registered User's Agenda
PUT: I update the information for an Exhibitor on a Registered User's Agenda
DELETE: I remove an Exhibitor from a Registered User's Agenda

get
required string emailAddress
delete
required string emailAddress
required string exhID
put
required string emailAddress
required string exhID
optional string hasvisited (default: "")
optional string notes (default: "")
post
required string emailAddress
required string exhID
optional string notes (default: "")
GET: I return the Exhibitor Meetings a Registered User has in their Agenda

get
required string emailAddress

/Agendas/Sessions DELETE POST GET

GET: I return the Sessions a Registered User has added to their Agenda
POST: I add a Session to a Registered User's Agenda
DELETE: I delete a Session from a Registered User's Agenda

get
required string emailAddress
delete
required string scheduleID
required string emailAddress
post
required string scheduleID
required string emailAddress