University of Cambridge Person API

Methods for querying and manipulating people. #### Notes on the fetch parameter All methods that return people, institutions or groups also accept an optional `fetch` parameter that may be used to request additional information about the entities returned. Without this parameter, only a few basic details about each person, institution or group are returned. The `fetch` parameter is quite flexible, and may be used in a number of different ways: * **Attribute fetching**. Attributes may be fetched by specifying the `schemeid` of an attribute scheme. For example to fetch a person's email addresses, use the value `"email"`. For people common attribute schemes include `"jpegPhoto"`, `"misAffiliation"`, `"title"`, `"universityPhone"`, `"landlinePhone"`, `"mobilePhone"`, `"pager"`, `"labeledURI"` and `"address"`. The full list of person attribute schemes may be obtained using `#allAttributeSchemes`. * **Pseudo-attributes**. Certain special pseudo-attributes are defined for convenience. For people, the following pseudo-attributes are supported: * `"phone_numbers"` - fetches all phone numbers. This is equivalent to `"universityPhone,instPhone,landlinePhone,mobilePhone,pager"`. * `"all_identifiers"` - fetches all identifiers. Currently people only have CRSid identifiers, but in the future additional identifiers such as USN or staffNumber may be added. * `"all_attrs"` - fetches all attributes from all person attribute schemes. This does not include identifiers or references. * **Reference fetching**. For people, the following references are supported (and will fetch only non-cancelled institutions and groups): * `"all_insts"` - fetches all the institutions to which the person belongs (sorted in name order). * `"all_groups"` - fetches all the groups that the person is a member of, including indirect group memberships, via groups that include other groups. * `"direct_groups"` - fetches all the groups that the person is directly a member of. This does not include indirect group memberships - i.e., groups that include these groups. * **Chained reference fetching**. To fetch properties of referenced objects, the "dot" notation may be used. For example, to fetch the email addresses of all the institutions to which a person belongs, use `"all_insts.email"`. Chains may include a number of reference following steps, for example `"all_insts.managed_by_groups.all_members.email"` will fetch all the institutions to which the person belongs, all the groups that manage those institutions, all the visible members of those groups and all the email addresses of those managing group members. For more information about what can be fetched from referenced institutions and groups, refer to the documentation for `InstitutionMethods` and `GroupMethods`. Multiple values of the `fetch` parameter should be separated by commas. #### Fetch parameter examples `fetch = "email"` This fetches all the person's email addresses. `fetch = "title,address"` This fetches all the person's titles (roles) and addresses. `fetch = "all_attrs"` This fetches all the person's attributes. `fetch = "all_groups,all_insts"` This fetches all the groups and institutions to which the person belongs. `fetch = "all_insts.parent_insts"` This fetches all the person's institutions, and their parent institutions. `fetch = "all_insts.email,all_insts.all_members.email"` This fetches all the person's institutions and their email addresses, and all the members of those institutions, and the email addresses of all those members.

Operations 15

GET /person/all-attr-schemes Return a list of all the person attribute schemes available #
GET /person/all-people Return a list of all people (in batches) #
GET /person/list Get the people with the specified identifiers (typically CRSids) #
GET /person/modified-people Find all people modified between the specified pair of transactions #
GET /person/search-count Count the number of people that would be returned by a search using a free text… #
GET /person/{scheme}/{identifier} Get the person with the specified identifier #
GET /person/{scheme}/{identifier}/get-attributes Get one or more (possibly multi-valued) attributes of a person #
GET /person/{scheme}/{identifier}/groups Get all the groups to which the specified person belongs, including indirect… #
GET /person/{scheme}/{identifier}/insts Get all the institutions to which the specified person belongs #
GET /person/{scheme}/{identifier}/is-member-of-group/{groupid} Test if the specified person is a member of the specified group #
GET /person/{scheme}/{identifier}/is-member-of-inst/{instid} Test if the specified person is a member of the specified institution #
GET /person/{scheme}/{identifier}/manages-groups Get all the groups that the specified person has persmission to edit #
GET /person/{scheme}/{identifier}/manages-insts Get all the institutions that the specified person has permission to edit #
GET /person/{scheme}/{identifier}/{attrid} Get a specific attribute of a person #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/university-of-cambridge-person-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

university-of-cambridge-person-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Lookup/Ibis web service Person API
  version: '1.2'
  description: Methods for querying and manipulating people.
servers:
- url: https://lookup-test.srv.uis.cam.ac.uk/api/v1
  description: Test server
- url: https://www.lookup.cam.ac.uk/api/v1
  description: Live server
security:
- basicAuth: []
tags:


# --- truncated at 32 KB (57 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/university-of-cambridge/refs/heads/main/openapi/university-of-cambridge-person-api-openapi.yml