PeoplePages

Open API Specification

PeoplePages Open API

This API gives you access to the public telephone directory of the University of Twente, a.k.a. People Pages. For more information about using this API and/or publishing data, please contact M&C Online Media.

Version: 1.6
Released: 2017-10-13

 

Contacts

GET /contacts

Get a list of all contacts: persons and business contacts like secretariat or servicedesk.

You can perform full text search using the 'query' parameter and/or use specific filters 'name', 'buildingId' and 'organziationId'.

Example 1. Find contacts using full text search:
https://personen.utwente.nl/peoplepagesopenapi/contacts?query=ict+serv

Example 2. List staff from faculty "TNW" within building "Carré":
https://personen.utwente.nl/peoplepagesopenapi/contacts?organizationId=TNW&buildingId=CR&affiliation=wp%2cobp&pageSize=1000

TIP: Some parameters may contain an &-sign or spaces, so query parameters should be URL encoded.

Query Parameters:

  • buildingId

    string

    Filter by building ID.

    Use comma seperated list for multiple buildings (OR filter).

  • mail

    string

    Filter by email address.

    Only the primary UT email address.

  • name

    string

    Filter by name.

    Use spaces to search for multiple terms (AND filter).

    May contain wildcards e.g. "*kamp*".

  • organizationId

    string

    Filter by organization ID (department or section).

    Use comma seperated list for multiple organizational units (OR filter).

  • phone

    string

    Filter by phone number.

    Matches complete numbers "+31534891234" or extensions "1234"

  • affiliation

    string

    Filter by type of affiliation / relationship

    Use comma seperated list for multiple types (OR filter).

    Valid values: "wp" for faculty staff, "obp" for supporting staff and "misc" for others (including general numbers for secretariat, servicedesks, etc.)

  • order

    string

    The field(s) to sort on.

    Use comma separated list or multiple order parameters to specify subsequent ordering.

    Default: relevancy (score).

    Valid values: "displayName_asc", "displayName_desc", "location_asc", "location_desc", "organization_asc", "organization_desc".

  • pageSize

    number<int>

    The maximum number of results.

    Default: 20

  • pageStart

    number<int>

    The row to start from (0 index based - i.e. 0 is the first row).

    Default: 0 (start from beginning).

Response Schema:

  • found

    number<int> required

    The number of contacts found.

  • data

    array<building> required

    List of contacts.

  • pageSize

    number<int>

    The maximum number of results specified in the request.

  • pageStart

    number<int>

    The starting row specified in the request.

GET /contacts/{contactId}

Get a single contact.

Returns HTTP error code 404 if the specified contact ID does not exist.

Path Parameters:

  • contactId

    string required

    Contact ID.

    Sample: "u.twente".

Response Schema:

  • found

    number<int> required

    The number of contacts found.

  • data

    array<building> required

    Contact schema:

    • contactId

      string required

      Contact ID.

      Sample: "u.twente".

    • name

      string required

      Full composite name, including titles.

      Sample: "ir. U. van Twente MSc".

    • displayName

      string required

      Sortable display name.

      Sample: "Twente, U. van".

    • givenName

      string

      First name of this person.

    • jobtitle

      string

      Function title of this person (language specific).

    • mail

      string<email>

      Email address.

    • phoneWork

      string

      Work phone number.

    • phoneMobile

      string

      Mobile phone number.

    • phoneAssistant

      string

      Phone number of assistant.

    • phoneIfNoAnswer

      string

      Alternative phone number if no response.

    • profileUrl

      string<url> required

      URL to the profile page (language specific).

    • pictureUrl

      string<url>

      URL to the profile picture.

      Pictures are subject to privacy settings and may not be cached.

    • locations

      array<object>

      Visiting locations (on campus).

      Contact Location Schema.

      • location

        string required

        Description of the location.

        Sample: "Spiegel 701".

      • buildingId

        string

        Building ID (if applicable).

        Sample: "SP".

      • latitude

        number<double>

        The latitude of the main entrance of the building.

        Sample: 52.23979 or 0.

      • longitude

        number<double>

        The longitude of the main entrance of the building.

        Sample: 6.850018 or 0.

    • organizations

      array<object>

      Organizations this person is working for.

      Contact Organization Schema.

      • organizationId

        string required

        Organization ID.

        Sample: "TNW-BMT" or "CTIT".

      • department

        string required

        Department (e.g. faculty or insitute).

        Sample: "TNW" or "CTIT" respectively.

      • section

        string

        Section within department.

        Sample: "BMT" or null respectively.

Buildings

GET /buildings

Get a list of all buildings.

Example 1. Get all buildings:
https://personen.utwente.nl/peoplepagesopenapi/buildings

Example 2. Find all buildings starting with "Hor", restrict to max 10 results:
https://personen.utwente.nl/peoplepagesopenapi/buildings?name=hor*&order=name_asc&pageSize=10

Query Parameters:

  • name

    string

    Filter by name.

    May contain wildcards e.g. "horst*".

  • order

    string

    The field to sort on.

    Default: "buildingId_asc".

    Valid values: "buildingId_asc", "buildingId_desc", "name_asc", "name_desc".

  • pageSize

    number<int>

    The maximum number of results.

    Default: none (return all results).

  • pageStart

    number<int>

    The row to start from (0 index based - i.e. 0 is the first row).

    Default: 0 (start from beginning).

Response Schema:

  • found

    number<int> required

    The number of buildings found.

  • data

    array<building> required

    List of buildings.

  • pageSize

    number<int>

    The maximum number of results specified in the request.

  • pageStart

    number<int>

    The starting row specified in the request.

GET /buildings/{buildingId}

Get a single building.

Returns HTTP error code 404 if the specified building ID does not exist.

Path Parameters:

  • buildingId

    string required

    Building ID.

    Sample: "SP".

Response Schema:

  • found

    number<int> required

    The number of buildings found.

  • data

    array<building> required

    Building schema:

    • buildingId

      string required

      Building ID.

      Sample: "SP".

    • name

      string required

      The name of this building.

      Sample: "Spiegel".

    • latitude

      number<double>

      The latitude of the main entrance to this building.

      Sample: 52.23979 or 0.

    • longitude

      number<double>

      The longitude of the main entrance to this building.

      Sample: 6.850018 or 0.

Organizations

GET /organizations

Get a list of all organizational units (departments and sections).

Example 1. Get all organizations:
https://personen.utwente.nl/peoplepagesopenapi/organizations

Example 2. Get all departments, ordered by name:
https://personen.utwente.nl/peoplepagesopenapi/organizations?type=department&order=name_asc

Example 3. Get sections 11 - 20 of "TNW":
https://personen.utwente.nl/peoplepagesopenapi/organizations?parentId=TNW&pageSize=10&pageStart=10

Query Parameters:

  • name

    string

    Filter by name.

    May contain wildcards e.g. "*technology*".

  • type

    string

    Filter by type.

    Valid values: "department", "section".

  • parentId

    string

    Filter by parent organization to get a list of all sections of a department.

    Sample: "TNW".

  • order

    string

    The field to sort on.

    Default: "organizationId_asc".

    Valid values: "organizationId_asc", "organizationId_desc", "name_asc", "name_desc", "type_asc", "type_desc".

  • pageSize

    number<int>

    The maximum number of results.

    Default: none (return all results).

  • pageStart

    number<int>

    The row to start from (0 index based - i.e. 0 is the first row).

    Default: 0 (start from beginning).

Response Schema:

  • found

    number<int> required

    The number of organizations found.

  • data

    array<organization> required

    List of organizations.

  • pageSize

    number<int>

    The maximum number of results specified in the request.

  • pageStart

    number<int>

    The starting row specified in the request.

GET /organization/{organizationId}

Get a single organizational unit (department or section).

Returns HTTP error code 404 if the specified organization ID does not exist.

Path Parameters:

  • organizationId

    string required

    Organization ID.

    Sample: "TNW" (department), "TNW-BMT" (section).

Response Schema:

  • found

    number<int> required

    The number of organizations found.

  • data

    array<organization> required

    Organization schema:

    • organizationId

      string required

      Organization ID.

      Sample: "TNW" (department), "TNW-BMT" (section).

    • name

      string required

      The language specific name of this organizational unit.

      Sample: "Faculty of Science and Technology" (English), "Faculteit Technische Natuurwetenschappen" (Dutch).

    • type

      string required

      The type of this organizational unit.

      Valid values: "department", "section".

    • parentId

      string

      The parent of this organizational unit.

      Sample: department "TNW" for the section "TNW-BMT".