{ "opencollection": "1.0.0", "info": { "name": "Lookup/Ibis web service group person API", "version": "1.2" }, "request": { "auth": { "type": "basic", "username": "{{username}}", "password": "{{password}}" } }, "items": [ { "info": { "name": "person", "type": "folder" }, "items": [ { "info": { "name": "Return a list of all the person attribute schemes available.", "type": "http" }, "http": { "method": "GET", "url": "https://lookup-test.srv.uis.cam.ac.uk/api/v1/person/all-attr-schemes" }, "docs": "Return a list of all the person attribute schemes available. The\n`schemeid` values of these schemes may be used in the\n`fetch` parameter of other methods that return people.\n\nNOTE: Some of these attribute schemes are not currently used (no\npeople have attribute values in the scheme). These schemes are\nreserved for possible future use." }, { "info": { "name": "Return a list of all people (in batches).", "type": "http" }, "http": { "method": "GET", "url": "https://lookup-test.srv.uis.cam.ac.uk/api/v1/person/all-people", "params": [ { "name": "includeCancelled", "value": "", "type": "query", "description": "Flag to allow cancelled people to\nbe included (people who are no longer members of the University).\nDefaults to `false`." }, { "name": "identifier", "value": "", "type": "query", "description": "The identifier (CRSid) of the person to\nstart after, or `null` to start from the first person." }, { "name": "limit", "value": "", "type": "query", "description": "The maximum number of people to return.\nDefaults to 100." }, { "name": "fetch", "value": "", "type": "query", "description": "A comma-separated list of any additional\nattributes or references to fetch." } ] }, "docs": "Return a list of all people (in batches).\n\nThe results are sorted by identifier, starting with the first person\nafter the person with the specified identifier. Thus, to iterate over\nall people, pass a `null` identifier to get the first batch of\npeople, then pass the last identifier from the previous batch to get\nthe next batch, and repeat until no more people are returned.\n\nBy default, only a few basic details about each person are returned,\nbut the optional `fetch` parameter may be used to fetc" }, { "info": { "name": "Get the people with the specified identifiers (typically CRSids).", "type": "http" }, "http": { "method": "GET", "url": "https://lookup-test.srv.uis.cam.ac.uk/api/v1/person/list", "params": [ { "name": "crsids", "value": "", "type": "query", "description": "A comma-separated list of identifiers. The name\nof the query parameter reflects a time when only crsids were used with\nlookup. Alternate schemes can be specified as noted above." }, { "name": "fetch", "value": "", "type": "query", "description": "A comma-separated list of any additional\nattributes or references to fetch." } ] }, "docs": "Get the people with the specified identifiers (typically CRSids).\n\nEach identifier may be either a CRSid, or an identifier from another\nidentifier scheme, prefixed with that scheme's name and a slash. For\nexample `\"mug99\"` or `\"usn/123456789\"`.\n\nBy default, only a few basic details about each person are returned,\nbut the optional `fetch` parameter may be used to fetch\nadditional attributes or references.\n\nThe results are sorted by identifier scheme and value.\n\nNOTE: The number of people that may" }, { "info": { "name": "Find all people modified between the specified pair of transactions.", "type": "http" }, "http": { "method": "GET", "url": "https://lookup-test.srv.uis.cam.ac.uk/api/v1/person/modified-people", "params": [ { "name": "minTxId", "value": "", "type": "query", "description": "Include modifications made in transactions\nafter (but not including) this one." }, { "name": "maxTxId", "value": "", "type": "query", "description": "Include modifications made in transactions\nup to and including this one." }, { "name": "crsids", "value": "", "type": "query", "description": "Only include people with identifiers in this\nlist. By default, all modified people will be included." }, { "name": "includeCancelled", "value": "", "type": "query", "description": "Include cancelled people (people\nwho are no longer members of the University). By default, cancelled\npeople are excluded." }, { "name": "membershipChanges", "value": "", "type": "query", "description": "Include people whose group or\ninstitutional memberships have changed. By default, only people whose\nattributes have been directly modified are included." }, { "name": "instNameChanges", "value": "", "type": "query", "description": "Include people who are members of\ninstituions whose names have changed. This will also cause people\nwhose group or institutional memberships have changed to be included.\nBy default, changes to institution names do not propagate to people." }, { "name": "fetch", "value": "", "type": "query", "description": "A comma-separated list of any additional\nattributes or references to fetch." } ] }, "docs": "Find all people modified between the specified pair of transactions.\n\nThe transaction IDs specified should be the IDs from two different\nrequests for the last (most recent) transaction ID, made at different\ntimes, that returned different values, indicating that some Lookup\ndata was modified in the period between the two requests. This method\nthen determines which (if any) people were affected.\n\nBy default, only a few basic details about each person are returned,\nbut the optional `fetch` paramete" }, { "info": { "name": "Search for people using a free text query string.", "type": "http" }, "http": { "method": "GET", "url": "https://lookup-test.srv.uis.cam.ac.uk/api/v1/person/search", "params": [ { "name": "query", "value": "", "type": "query", "description": "The search string." }, { "name": "approxMatches", "value": "", "type": "query", "description": "Flag to enable more approximate\nmatching in the search, causing more results to be returned. Defaults\nto `false`. This is ignored for LQL queries." }, { "name": "includeCancelled", "value": "", "type": "query", "description": "Flag to allow cancelled people to\nbe included (people who are no longer members of the University).\nDefaults to `false`." }, { "name": "misStatus", "value": "", "type": "query", "description": "The type of people to search for. This may\nbe\n\n* `\"staff\"` - only include people whose MIS status is\n `\"\"` (empty string), `\"staff\"`, or\n `\"staff,student\"`.\n\n* `\"student\"` - only include people whose MIS status is set to\n `\"student\"` or `\"staff,student\"`.\n\nOtherwise all matching people will be included (the default). Note\nthat the `\"staff\"` and `\"student\"` options are not\nmutually exclusive." }, { "name": "attributes", "value": "", "type": "query", "description": "A comma-separated list of attributes to\nconsider when searching. If this is `null` (the default) then\nall attribute schemes marked as searchable will be included. This is\nignored for LQL queries." }, { "name": "offset", "value": "", "type": "query", "description": "The number of results to skip at the start\nof the search. Defaults to 0." }, { "name": "limit", "value": "", "type": "query", "description": "The maximum number of results to return.\nDefaults to 100." }, { "name": "orderBy", "value": "", "type": "query", "description": "The order in which to list the results.\nThis may be either `\"identifier\"` or `\"surname\"` (the\ndefault for non-LQL queries). This is ignored for LQL queries, which\nalways return results in identifier order." }, { "name": "fetch", "value": "", "type": "query", "description": "A comma-separated list of any additional\nattributes or references to fetch." } ] }, "docs": "Search for people using a free text query string. This is the same\nsearch function that is used in the Lookup web application.\n\nBy default, only a few basic details about each person are returned,\nbut the optional `fetch` parameter may be used to fetch\nadditional attributes or references.\n\nNOTE: If the query string starts with the prefix `\"person:\"`, it\nis treated as an [LQL query](/lql), allowing\nmore advanced searches. An LQL query will ignore the\n`approxMatches` and `attributes` parameters, b" }, { "info": { "name": "Count the number of people that would be returned by a search using\na free text query string.", "type": "http" }, "http": { "method": "GET", "url": "https://lookup-test.srv.uis.cam.ac.uk/api/v1/person/search-count", "params": [ { "name": "query", "value": "", "type": "query", "description": "The search string." }, { "name": "approxMatches", "value": "", "type": "query", "description": "Flag to enable more approximate\nmatching in the search, causing more results to be returned. Defaults\nto `false`. This is ignored for LQL queries." }, { "name": "includeCancelled", "value": "", "type": "query", "description": "Flag to allow cancelled people to\nbe included (people who are no longer members of the University).\nDefaults to `false`." }, { "name": "misStatus", "value": "", "type": "query", "description": "The type of people to search for. This may\nbe\n\n* `\"staff\"` - only include people whose MIS status is\n `\"\"` (empty string), `\"staff\"`, or\n `\"staff,student\"`.\n\n* `\"student\"` - only include people whose MIS status is set to\n `\"student\"` or `\"staff,student\"`.\n\nOtherwise all matching people will be included (the default). Note\nthat the `\"staff\"` and `\"student\"` options are not\nmutually exclusive." }, { "name": "attributes", "value": "", "type": "query", "description": "A comma-separated list of attributes to\nconsider when searching. If this is `null` (the default) then\nall attribute schemes marked as searchable will be included. This is\nignored for LQL queries." } ] }, "docs": "Count the number of people that would be returned by a search using\na free text query string.\n\nNOTE: If the query string starts with the prefix `\"person:\"`, it\nis treated as an [LQL query](/lql), allowing\nmore advanced searches. An LQL query will ignore the\n`approxMatches` and `attributes` parameters, but\nit will respect the values of `includeCancelled` and\n`misStatus`." }, { "info": { "name": "Get the person with the specified identifier.", "type": "http" }, "http": { "method": "GET", "url": "https://lookup-test.srv.uis.cam.ac.uk/api/v1/person/:scheme/:identifier", "params": [ { "name": "scheme", "value": "", "type": "path", "description": "The person identifier scheme. Typically this\nshould be `\"crsid\"`, but other identifier schemes\nsuch as `\"usn\"` or `\"staffNumber\"` may be available." }, { "name": "identifier", "value": "", "type": "path", "description": "The identifier of the person to fetch\n(typically their CRSid)." }, { "name": "fetch", "value": "", "type": "query", "description": "A comma-separated list of any additional\nattributes or references to fetch." } ] }, "docs": "Get the person with the specified identifier.\n\nBy default, only a few basic details about the person are returned,\nbut the optional `fetch` parameter may be used to fetch\nadditional attributes or references of the person.\n\nNOTE: The person returned may be a cancelled person. It is the\ncaller's repsonsibility to check its cancelled flag." }, { "info": { "name": "Get one or more (possibly multi-valued) attributes of a person.", "type": "http" }, "http": { "method": "GET", "url": "https://lookup-test.srv.uis.cam.ac.uk/api/v1/person/:scheme/:identifier/get-attributes", "params": [ { "name": "scheme", "value": "", "type": "path", "description": "The person identifier scheme. Typically this\nshould be `\"crsid\"`, but other identifier schemes may be\navailable in the future, such as `\"usn\"` or\n`\"staffNumber\"`." }, { "name": "identifier", "value": "", "type": "path", "description": "The identifier of the person (typically\ntheir CRSid)." }, { "name": "attrs", "value": "", "type": "query", "description": "The attribute scheme(s) to fetch. This may\ninclude any number of the attributes or pseudo-attributes, but it\nmay not include references or attribute chains (see the documentation\nfor the `fetch` parameter in this class)." } ] }, "docs": "Get one or more (possibly multi-valued) attributes of a person. The\nreturned attributes are sorted by attribute scheme precedence and\nthen attribute precedence." }, { "info": { "name": "Get all the groups to which the specified person belongs, including\nindirect group memberships, via groups that include other groups.", "type": "http" }, "http": { "method": "GET", "url": "https://lookup-test.srv.uis.cam.ac.uk/api/v1/person/:scheme/:identifier/groups", "params": [ { "name": "scheme", "value": "", "type": "path", "description": "The person identifier scheme. Typically this\nshould be `\"crsid\"`, but other identifier schemes may be\navailable in the future, such as `\"usn\"` or\n`\"staffNumber\"`." }, { "name": "identifier", "value": "", "type": "path", "description": "The identifier of the person (typically\ntheir CRSid)." }, { "name": "fetch", "value": "", "type": "query", "description": "A comma-separated list of any additional\nattributes or references to fetch." } ] }, "docs": "Get all the groups to which the specified person belongs, including\nindirect group memberships, via groups that include other groups.\nThe returned list of groups is sorted by groupid.\n\nNote that some group memberships may not be visible to you. This\nmethod will only return those group memberships that you have\npermission to see.\n\nBy default, only a few basic details about each group are returned,\nbut the optional `fetch` parameter may be used to fetch\nadditional attributes or references of each " }, { "info": { "name": "Get all the institutions to which the specified person belongs.", "type": "http" }, "http": { "method": "GET", "url": "https://lookup-test.srv.uis.cam.ac.uk/api/v1/person/:scheme/:identifier/insts", "params": [ { "name": "scheme", "value": "", "type": "path", "description": "The person identifier scheme. Typically this\nshould be `\"crsid\"`, but other identifier schemes may be\navailable in the future, such as `\"usn\"` or\n`\"staffNumber\"`." }, { "name": "identifier", "value": "", "type": "path", "description": "The identifier of the person (typically\ntheir CRSid)." }, { "name": "fetch", "value": "", "type": "query", "description": "A comma-separated list of any additional\nattributes or references to fetch." } ] }, "docs": "Get all the institutions to which the specified person belongs. The\nreturned list of institutions is sorted by name.\n\nBy default, only a few basic details about each institution are\nreturned, but the optional `fetch` parameter may be used\nto fetch additional attributes or references of each institution.\n\nNOTE: This method will not include cancelled institutions." }, { "info": { "name": "Test if the specified person is a member of the specified group.", "type": "http" }, "http": { "method": "GET", "url": "https://lookup-test.srv.uis.cam.ac.uk/api/v1/person/:scheme/:identifier/is-member-of-group/:groupid", "params": [ { "name": "scheme", "value": "", "type": "path", "description": "The person identifier scheme. Typically this\nshould be `\"crsid\"`, but other identifier schemes may be\navailable in the future, such as `\"usn\"` or\n`\"staffNumber\"`." }, { "name": "identifier", "value": "", "type": "path", "description": "The identifier of the person (typically\ntheir CRSid)." }, { "name": "groupid", "value": "", "type": "path", "description": "The ID or name of the group." } ] }, "docs": "Test if the specified person is a member of the specified group.\n\nNOTE: This may be used with cancelled people and groups." }, { "info": { "name": "Test if the specified person is a member of the specified institution.", "type": "http" }, "http": { "method": "GET", "url": "https://lookup-test.srv.uis.cam.ac.uk/api/v1/person/:scheme/:identifier/is-member-of-inst/:instid", "params": [ { "name": "scheme", "value": "", "type": "path", "description": "The person identifier scheme. Typically this\nshould be `\"crsid\"`, but other identifier schemes may be\navailable in the future, such as `\"usn\"` or\n`\"staffNumber\"`." }, { "name": "identifier", "value": "", "type": "path", "description": "The identifier of the person (typically\ntheir CRSid)." }, { "name": "instid", "value": "", "type": "path", "description": "The ID of the institution." } ] }, "docs": "Test if the specified person is a member of the specified institution.\n\nNOTE: This may be used with cancelled people and institutions, but\nit will not include cancelled membership groups." }, { "info": { "name": "Get all the groups that the specified person has persmission to edit.", "type": "http" }, "http": { "method": "GET", "url": "https://lookup-test.srv.uis.cam.ac.uk/api/v1/person/:scheme/:identifier/manages-groups", "params": [ { "name": "scheme", "value": "", "type": "path", "description": "The person identifier scheme. Typically this\nshould be `\"crsid\"`, but other identifier schemes may be\navailable in the future, such as `\"usn\"` or\n`\"staffNumber\"`." }, { "name": "identifier", "value": "", "type": "path", "description": "The identifier of the person (typically\ntheir CRSid)." }, { "name": "fetch", "value": "", "type": "query", "description": "A comma-separated list of any additional\nattributes or references to fetch." } ] }, "docs": "Get all the groups that the specified person has persmission to edit.\nThe returned list of groups is sorted by groupid.\n\nNote that some group memberships may not be visible to you. This\nmethod will only include groups for which you have persmission to\nsee the applicable manager group memberships.\n\nBy default, only a few basic details about each group are returned,\nbut the optional `fetch` parameter may be used to fetch\nadditional attributes or references of each group.\n\nNOTE: This method will no" }, { "info": { "name": "Get all the institutions that the specified person has permission to\nedit.", "type": "http" }, "http": { "method": "GET", "url": "https://lookup-test.srv.uis.cam.ac.uk/api/v1/person/:scheme/:identifier/manages-insts", "params": [ { "name": "scheme", "value": "", "type": "path", "description": "The person identifier scheme. Typically this\nshould be `\"crsid\"`, but other identifier schemes may be\navailable in the future, such as `\"usn\"` or\n`\"staffNumber\"`." }, { "name": "identifier", "value": "", "type": "path", "description": "The identifier of the person (typically\ntheir CRSid)." }, { "name": "fetch", "value": "", "type": "query", "description": "A comma-separated list of any additional\nattributes or references to fetch." } ] }, "docs": "Get all the institutions that the specified person has permission to\nedit. The returned list of institutions is sorted by name.\n\nNote that some group memberships may not be visible to you. This\nmethod will only include institutions for which you have permission\nto see the applicable editor group memberships.\n\nBy default, only a few basic details about each institution are\nreturned, but the optional `fetch` parameter may be used\nto fetch additional attributes or references of each institution.\n\nN" }, { "info": { "name": "Get a specific attribute of a person.", "type": "http" }, "http": { "method": "GET", "url": "https://lookup-test.srv.uis.cam.ac.uk/api/v1/person/:scheme/:identifier/:attrid", "params": [ { "name": "scheme", "value": "", "type": "path", "description": "The person identifier scheme. Typically this\nshould be `\"crsid\"`, but other identifier schemes may be\navailable in the future, such as `\"usn\"` or\n`\"staffNumber\"`." }, { "name": "identifier", "value": "", "type": "path", "description": "The identifier of the person (typically\ntheir CRSid)." }, { "name": "attrid", "value": "", "type": "path", "description": "The ID of the attribute to fetch." } ] }, "docs": "Get a specific attribute of a person." } ] } ], "bundled": true }