Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Table of Contents

...

Note
titleAPI documentation moved

The

...

The resources support both JSON and XML. To switch from JSON to XML, just add .xml after the resource name in any of the request URLs. 

OAuth

To set up OAuth, follow these steps:

  1. Visit http://demo.eveoh.nl/oauth/authorize?response_type=code&client_id=test&redirect_uri=http://localhost
  2. You will be prompted to log in. After logging in the application will request for your permission to access your personal timetable. Click Allow.
  3. After being redirected the URL will contain ?code=XXXXXX. Copy this code.
  4. Open a Terminal window and enter the following command (replace XXXXXX with your personal code from step 3): 

    Code Block
    languagenone
    curl -d 'grant_type=authorization_code&client_id=test&client_secret=test&code=XXXXXX&redirect_uri=http://localhost' http://demo.eveoh.nl/oauth/token
  5. The command will return an access token. This token will allow you to request resources from the API. 

WADL

A machine readable XML based description of the API can be viewed using the following url:

Code Block
http://demo.eveoh.nl/api/v0?_wadl&access_token=your_token

Resources

/timetables

Description: Query all timetables with a specified type.

Type: GET

Parameters

typethe type of the timetables, e.g. 'module'
limitthe maximum amount of records returned
offsetstarting position of the records returned (e.g. offset=5 skips the first 5 records)
departmentFilterfilter on a specific department
posFilterfilter on a specific pos
zoneFilterfilter on a specific zone

Request URL

Code Block
languagenone
http://demo.eveoh.nl/api/v0/timetables?type=module&access_token=your_token 

Response Body

Code Block
languagenone
[
    {
    	"description": "VMT for Informatics", 
    	"value": "2011!module!49CBD432F01E8C5057B344E02604A710"
    }
]

/timetables/{key}

Description: Query all timetables corresponding with a specific timetable.

Type: GET

Parameters

keythe key corresponding with the specific timetable
startDatethe start date for the timetable
endDatethe end date for the timetable
limitthe maximum amount of records returned (default = 25)

Request URL

Code Block
languagenone
http://demo.eveoh.nl/api/v0/timetables/2011!module!49CBD432F01E8C5057B344E02604A710?access_token=your_token

Response Body

Code Block
languagenone
[
   {
        "activityDescription": "VMT for Informatics", 
        "activityTypeDescription": "Lecture", 
        "activityTypeName": "Class", 
        "endDate": 1341930600000, 
        "locations": [
            {
                "capacity": 18, 
                "id": "D2D0C6A8E334B242289FBAA7F69759C3", 
                "key": "#SPLUS9759C3", 
                "name": "B3.022"
            }
        ], 
        "moduleCode": "#SPLUS04A710", 
        "notes": null, 
        "staffMembers": [
            "Mr. Moore (Moo)"
        ], 
        "startDate": 1341919800000, 
        "studentSets": [
            "BI group  1A", 
            "BI group  1B"
        ]
    }
]

/timetable

Description: Query all timetables within a specific timerange.

Type: GET

Parameters

startDatethe start date for the timetable
endDatethe end date for the timetable
limitthe maximum amount of records returned
typethe type of the timetables, e.g. 'module'

Request URL

Code Block
languagenone
http://demo.eveoh.nl/api/v0/timetable?startDate=2012/07/10&endDate=2012/07/10&access_token=your_token

Response Body

Code Block
languagenone
{
        "activityDescription": "System biology", 
        "activityTypeDescription": "Lecture", 
        "activityTypeName": "Class", 
        "endDate": 1341916200000, 
        "locations": [
            {
                "capacity": 24, 
                "id": "D2D0C6A8E334B242289FBAA7F69759BB", 
                "key": "#SPLUS9759BB", 
                "name": "G3.104"
            }, 
            {
                "capacity": 24, 
                "id": "D2D0C6A8E334B242289FBAA7F69759BC", 
                "key": "#SPLUS9759BC", 
                "name": "G3.110"
            }
        ], 
        "moduleCode": "#SPLUS969C58", 
        "notes": null, 
        "staffMembers": [
            "Mr. Martinez (Maz)", 
            "Ms. Adams (Ada)"
        ], 
        "startDate": 1341909000000, 
        "studentSets": [
            "BI group  3A"
        ]
}

/timetabletypes

Description: Query all possible timetable types. 

Type: GET

Parameters: none

Request URL

Code Block
languagenone
http://demo.eveoh.nl/api/v0/timetabletypes?access_token=your_token

Response Body

Code Block
languagenone
{
    "timetableType": [
        "location", 
        "zone", 
        "module", 
        "student", 
        "staff", 
        "pos", 
        "posss", 
        "studentset", 
        "studentsetgroup", 
        "modulegroup", 
        "user"
    ]
}

/timetablefilters

Description: Query all filters available for a specific timetable type. 

Type: GET

Parameters

typethe type of the timetable
departmentFiltera specific filter

Request URL

Code Block
languagenone
http://demo.eveoh.nl/api/v0/timetablefilters?type=pos&access_token=your_token 

Response Body

Code Block
languagenone
{
    "filterattribute": [
        {
            "option": [
                {
                    "name": " Faculty of Informatics", 
                    "value": "646ADCA666D4A88402CA46C26A73803C"
                }, 
                {
                    "name": " Faculty of Law", 
                    "value": "646ADCA666D4A88402CA46C26A738046"
                }
            ], 
            "type": "department"
        }
    ]
}

/databases

Description: Query the available databases.

Type: GET

Parameters: none

Request URL

Code Block
languagenone
http://demo.eveoh.nl/api/v0/databases?access_token=your_token

Response Body

Code Block
languagenone
{
    "database": [
        "2011"
    ]
}

/weeklabels

Description: Query the weeklabels.

Type: GET

Parameters: none

Request URL

Code Block
languagenone
http://demo.eveoh.nl/api/v0/weeklabels?access_token=your_token

Response Body

Code Block
languagenone
{
     "value": "23", 
     "week": 11223
}

/subscriptions

Type: DELETE

Description: Delete all subscriptions

Parameters: none

Request URL

Code Block
languagenone
http://demo.eveoh.nl/api/v0/subscriptions?access_token=your_token

/subscriptions/{key}

Type: POST

Description: Add a new subscription

Parameters

keythe key of the subscription you wish to add

Request URL 

Code Block
languagenone
http://demo.eveoh.nl/api/v0/subscriptions/2011!pos!0F2C927DF37F3A2BEF1F1713768E4EE6?access_token=your_token

Response code: 204 (No content)

 

Type: DELETE

Description: Delete a subscription.

Parameters

keythe key of the subscription you wish to delete

Request URL

Code Block
languagenone
http://demo.eveoh.nl/api/v0/subscriptions/2011!pos!0F2C927DF37F3A2BEF1F1713768E4EE6?access_token=your_token

Response code: 204 (No content)

Type: PUT

Description: Edit a subscription. Use boolean values to trigger the subscription on or off.

Parameters

keythe key of the subscription you wish to edit
stateboolean value indicating the state of the subscription

Request URL

Code Block
languagenone
http://demo.eveoh.nl/api/v0/subscriptions/2011!pos!0F2C927DF37F3A2BEF1F1713768E4EE6?state=false&access_token=your_token

Response Code: 204 (No content)

/subscriptions/{parent}/{key}

Type: PUT

Description: Edit a subscription nested under a parent. Use boolean values to trigger the subscription on or off.

Parameters

keythe key of the subscription you wish to edit
parentthe key of the parent of the subscription
stateboolean value indicating the state of the subscription

Request URL

Code Block
languagenone
http://demo.eveoh.nl/api/v0/subscriptions/2011!location!D2D0C6A8E334B242289FBAA7F69759C3/2011!module!49CBD432F01E8C5057B344E02604A773?state=false&access_token=your_token

...

API documentation has been moved to our developer portal and is now available at https://developer.mytimetable.net/apis/mytimetable/.

The documentation for our provisioning API is currently still available at Provisioning API.


Demo API authentication details

Base URLhttps://demo.mytimetable.net/
API version(s)v0 (/api/v0)
Timetable typesstudentset, module, staff, location
Token requiredYes (apiToken: testToken)
OAuth availableYes (client_id: test, client_secret: test, redirect_uri: http://localhost)
OAuth authorization URLhttps://demo.mytimetable.net/oauth/authorize
OAuth token URLhttps://demo.mytimetable.net/oauth/token

This is a demo MyTimetable site which can be used for testing purposes.