Interfolio Users API
Create, update and retreive details of users.
Create, update and retreive details of users.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/interfolio:interfolio-users-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
title: Interfolio Users API
version: 1.0.0
x-logo:
url: /images/logo_faculty180_intf.png
description: 'Operations tagged Users across 2 of this provider''s published API definitions: faculty180-swagger.json, interfolio-faculty180-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://faculty180.interfolio.com
tags:
- name: Users
description: Create, update and retreive details of users.
paths:
/api.php/users:
get:
tags:
- Users
summary: Retrieves a listing of users and basic identifying information for each
description: 'Description
Retrieve details on users within your institution. A count of users will be returned if no parameters are specified.
Example URL(s)
https://faculty180.interfolio.com/api.php/users?data=detailed
https://faculty180.interfolio.com/api.php/users?data=detailed&employmentstatus=Full+Time'
operationId: users
parameters:
- name: unitid
in: query
description: "Retrieve a user with specific unitid(s)\n * When defined, filters users with given unitid as their primary unit.\n * When undefined, all users for all units are returned.\n * Multiple values can be sent as a comma separated list."
schema:
type: array
items:
type: integer
- $ref: '#/components/parameters/employmentstatus'
- name: data
in: query
description: "Determines the extent of data that will be returned.\n * **Count:** Returns count of number of users found.\n * **Summary:** Returns an array containing a subset of values for all users.\n * **Detailed:** Returns an array of values for all users."
schema:
type: string
enum:
- count
- summary
- detailed
default: count
- $ref: '#/components/parameters/q'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
responses:
'200':
description: A list of users.
content:
application/json:
example:
- userid: m123456
firstname: John
middlename: L
lastname: Doe
email: JDoe@University.com
employmentstatus: Full Time
web_profile: true
position: Lecturer
primaryunit: 2
rank: Associate Professor
url: https://mysite.com/
orcid: 0000-0001-6541-4461
photo_thumb: thumb_photo.png
photo: photo.png
lastlogin: YYYY-MM-DD
pid: 1000001
default:
description: an "unexpected" error
post:
tags:
- Users
summary: Create a new user
description: 'Description
Create a user within Faculty180.
Example URL(s)
https://faculty180.interfolio.com/api.php/users'
operationId: userCreate
responses:
'200':
description: User inserted successfully.
'400':
description: "Possible errors include:\n * Unable to parse request data.\n * Userid <userid> already exists.\n * Email address <email> already in use.\n * Required field <field> not provided.\n * Primary unit <integer> does not exists.\n * Employment status <value> not valid.\n * Account type <value> not valid.\n * <value> provided for <field> is not valid."
requestBody:
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/userPost'
required: true
servers:
- url: https://faculty180.interfolio.com
/api.php/users/{userid}:
get:
tags:
- Users
summary: Retrieves full profile details on the specified user(s)
description: 'Description
Retrieve profile details on a user within your institution. A count of the user will be returned if no parameters are specified.
Example URL(s)
https://faculty180.interfolio.com/api.php/users/m123456
https://faculty180.interfolio.com/api.php/users/m123456?data=detailed&extra=honorific,phone,accounttype'
operationId: userDetails
parameters:
- name: userid
in: path
description: "Retrieves full profile details on the specified user(s).\n * By default the only data that is returned for a given user is basic identifying information, if other user details are needed they should be specified using the “extra” parameter."
required: true
schema:
type: string
- name: data
in: query
description: "Determines the extent of data that will be returned.\n * **Count:** Returns value of 1 if desired resource exists or 0 otherwise.\n * **Summary:** Returns an array containing a subset of values for the users.\n * **Detailed:** Returns an array of values for the user."
schema:
type: string
enum:
- count
- summary
- detailed
default: count
- $ref: '#/components/parameters/extra'
- $ref: '#/components/parameters/q'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
responses:
'200':
description: Details of a specified user.
content:
application/json:
example:
- userid: m123456
firstname: John
middlename: L
lastname: Doe
email: JDoe@University.com
employmentstatus: Full Time
position: Lecturer
primaryunit: 2
rank: Associate Professor
url: https://mysite.com/
orcid: 0000-0001-6541-4461
photo_thumb: thumb_photo.png
photo: photo.png
lastlogin: YYYY-MM-DD
pid: 1
default:
description: an "unexpected" error
put:
tags:
- Users
summary: Updates existing user accounts
description: 'Description
Update a user''s details within Faculty180.
Example URL(s)
https://faculty180.interfolio.com/api.php/users/m123456'
operationId: userUpdate
parameters:
- name: userid
in: path
description: Specify a user to update.
required: true
schema:
type: string
responses:
'200':
description: User updated successfully.
'400':
description: "Possible errors include:\n * Unable to parse request data.\n * Userid <userid> already exists.\n * Email address <email> already in use.\n * Required field <field> not provided.\n * Primary unit <integer> does not exists.\n * Employment status <value> not valid.\n * Account type <value> not valid.\n * <value> provided for <field> is not valid."
requestBody:
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/userPut'
required: true
servers:
- url: https://faculty180.interfolio.com
/fars/{tenant_id}/users/{pid}/subscribe:
post:
tags:
- Users
summary: Subscribe a user to Faculty180 (HMAC)
description: 'Description
Create a user that is already subscribed to other Interfolio Products. This endpoint is only available to users with HMAC keys.
Example URL(s)
https://faculty180.interfolio.com/fars/12345/users/1000001/subscribe'
operationId: subscribeUser
parameters:
- name: tenant_id
in: path
description: Specify the tenant of the user.
required: true
schema:
type: integer
- name: pid
in: path
description: Specify the pid of the user.
required: true
schema:
type: integer
responses:
'204':
description: No Content (Success)
'400':
description: "Possible errors include:\n * Email address JDoe@University.com already in use by user m123456\n * Primary unit ABC is invalid."
requestBody:
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/userSub'
required: true
servers:
- url: https://faculty180.interfolio.com
/fars/{tenant_id}/users/{pid}:
put:
tags:
- Users
summary: Update a user in Faculty180 (HMAC)
description: 'Description
Update a user within Faculty180. This endpoint is only available to users with HMAC keys.
Example URL(s)
https://faculty180.interfolio.com/fars/12345/users/1000001'
operationId: updateUserSubscribe
parameters:
- name: tenant_id
in: path
description: Specify the tenant of the user.
required: true
schema:
type: integer
- name: pid
in: path
description: Specify the pid of the user.
required: true
schema:
type: integer
responses:
'204':
description: No Content (Success)
'400':
description: "Possible errors include:\n * Email address JDoe@University.com already in use by user m123456\n * Primary unit ABC is invalid."
requestBody:
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/updateUserSub'
required: true
servers:
- url: https://faculty180.interfolio.com
/fars/{tenant_id}/users/{pid}/unsubscribe:
put:
tags:
- Users
summary: Unsubscribe a user from Faculty180 (HMAC)
description: 'Description
Unsubscribe a user within Faculty180. This will mark the user as ''Inactive'' This endpoint is only available to users with HMAC keys.
Example URL(s)
https://faculty180.interfolio.com/fars/12345/users/1000001/unsubscribe'
operationId: userUnsubscribe
parameters:
- name: tenant_id
in: path
description: Specify the tenant of the user.
required: true
schema:
type: integer
- name: pid
in: path
description: Specify the pid of the user.
required: true
schema:
type: integer
responses:
'204':
description: No Content (Success)
'400':
description: ''
servers:
- url: https://faculty180.interfolio.com
/fars/{tenant_id}/users/csv_create:
post:
tags:
- Users
summary: Subscribe multiple users in a CSV format to Faculty180 (HMAC)
description: 'Description
Bulk upload users to Faculty180. Send your file as form-data. This endpoint provides saml_id, cas_id, and ldap_id; these can be helpful if your institution will be using platform authentication. This endpoint is only available to users with HMAC keys.
Example URL(s)
https://faculty180.interfolio.com/fars/12345/users/csv_create'
operationId: createUsersCSV
parameters:
- name: tenant_id
in: path
description: Specify the tenant of the user.
required: true
schema:
type: integer
responses:
'204':
description: No Content (Success)
'400':
description: "Possible errors include:\n * File upload is missing.\n * Email address JDoe@University.com already in use by user m123456.\n * Primary unit ABC is invalid."
requestBody:
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/farsUserInfo'
required: true
servers:
- url: https://faculty180.interfolio.com
/fars/{tenant_id}/users/csv_update:
post:
tags:
- Users
summary: Subscribe multiple users in a CSV format to Faculty180 (HMAC)
description: 'Description
Update users in bulk in Faculty180. Send your file as form-data. This endpoint is only available to users with HMAC keys.
Example URL(s)
https://faculty180.interfolio.com/fars/12345/users/csv_update'
operationId: updateUsersCSV
parameters:
- name: tenant_id
in: path
description: Specify the tenant of the user.
required: true
schema:
type: integer
responses:
'204':
description: No Content (Success)
'400':
description: "Possible errors include:\n * File upload is missing.\n * Email address JDoe@University.com already in use by user m123456.\n * Primary unit ABC is invalid."
requestBody:
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/farsUserInfo'
required: true
servers:
- url: https://faculty180.interfolio.com
/users/activity_input_request:
get:
tags:
- Users
summary: Retrieves a list of active activity input requests
description: 'Description
Retrieve details on a single user''s Activity Input requests within your institution.
Example URL(s)
https://faculty180.interfolio.com/users/activity_input_request'
operationId: ActivityInputRequests
responses:
'200':
description: A list with activity input requests.
content:
application/json:
example:
data:
- title: 'UNIV Complete Activity Input: Fall 2017'
start_date: '2018-01-01 11:59:59'
end_date: null
dashboard_message: 'Complete Activity Input: Fall 2017'
url: workload/Workload_form.php?sess=86753jfijsad0fma0932jk0fm
- title: 'UNIV Complete Activity Input: Fall 2016'
start_date: '2016-01-01 11:59:59'
end_date: '2018-05-21 10:11:14'
dashboard_message: 'Complete Activity Input: Fall 2016'
url: workload/Workload_form.php?sess=86756jfijsad0fma0932jk0fm
default:
description: an "unexpected" error
servers:
- url: https://faculty180.interfolio.com
/users/current:
get:
tags:
- Users
summary: Retrieves a list of Tenant ID's and is_institutional_admin flag
description: 'Description
Retrieve details on a single user''s assigned tenants and administrative rights flag within your institution.
Example URL(s)
https://faculty180.interfolio.com/users/current'
operationId: CurrentUserPermissions
responses:
'200':
description: A list with tenants with is_institutional_admin flag.
content:
application/json:
example:
data:
- tenantid: '123456'
is_institutional_admin: 'true'
is_admin: 'true'
- tenantid: '789014'
is_institutional_admin: 'false'
is_admin: 'true'
default:
description: an "unexpected" error
servers:
- url: https://faculty180.interfolio.com
components:
schemas:
updateUserSub:
properties:
firstname:
type: string
lastname:
type: string
email:
type: string
loginname:
type: string
middlename:
type: string
employmentstatus:
type: string
primaryunit:
type: integer
rankname:
type: string
accounttype:
type: string
suffix:
type: string
honorific:
type: string
officebuilding:
type: string
officenumber:
type: string
phone:
type: string
gender:
type: string
race:
type: string
nationality:
type: string
homephone:
type: string
homestreet1:
type: string
homestreet2:
type: string
homecity:
type: string
homestate:
type: string
homezipcode:
type: string
homecountry:
type: string
cellphone:
type: string
teachinginterest:
type: string
researchinterest:
type: string
biography:
type: string
emergencycontact:
type: string
emergencycontactphone:
type: string
pager:
type: string
personalstreet1:
type: string
personalstreet2:
type: string
personalcity:
type: string
personalstate:
type: string
personalzip:
type: string
sendemail:
type: boolean
languages:
type: string
type: object
userPut:
properties:
firstname:
type: string
middlename:
type: string
lastname:
type: string
email:
type: string
employmentstatus:
type: string
position:
type: string
primaryunit:
type: integer
rankname:
type: string
accounttype:
type: string
suffix:
type: string
honorific:
type: string
officebuilding:
type: string
officenumber:
type: string
phone:
type: string
gender:
type: string
race:
type: string
nationality:
type: string
homephone:
type: string
homestreet1:
type: string
homestreet2:
type: string
homecity:
type: string
homestate:
type: string
homezipcode:
type: string
cellphone:
type: string
teachinginterest:
type: string
researchinterest:
type: string
biography:
type: string
emergencycontact:
type: string
emergencycontactphone:
type: string
pager:
type: string
personalstreet1:
type: string
personalstreet2:
type: string
personalcity:
type: string
personalstate:
type: string
personalzip:
type: string
url:
type: string
type: object
userPost:
required:
- userid
- firstname
- lastname
- email
- primaryunit
- employmentstatus
properties:
userid:
type: string
institution_user_id:
type: string
firstname:
type: string
middlename:
type: string
lastname:
type: string
email:
type: string
employmentstatus:
type: string
position:
type: string
primaryunit:
type: integer
rankname:
type: string
accounttype:
type: string
suffix:
type: string
honorific:
type: string
officebuilding:
type: string
officenumber:
type: string
phone:
type: string
gender:
type: string
race:
type: string
nationality:
type: string
homephone:
type: string
homestreet1:
type: string
homestreet2:
type: string
homecity:
type: string
homestate:
type: string
homezipcode:
type: string
cellphone:
type: string
teachinginterest:
type: string
researchinterest:
type: string
biography:
type: string
emergencycontact:
type: string
emergencycontactphone:
type: string
pager:
type: string
personalstreet1:
type: string
personalstreet2:
type: string
personalcity:
type: string
personalstate:
type: string
personalzip:
type: string
sendemail:
type: boolean
url:
type: string
type: object
farsUserInfo:
required:
- facultyid
- first_name
- last_name
- email
properties:
facultyid:
type: string
first_name:
type: string
middlename:
type: string
last_name:
type: string
email:
type: string
employmentstatus:
type: string
rankname:
type: string
accounttype:
type: string
suffix:
type: string
honorific:
type: string
officebuilding:
type: string
officenumber:
type: string
phone:
type: string
gender:
type: string
race:
type: string
nationality:
type: string
homephone:
type: string
homestreet1:
type: string
homestreet2:
type: string
homecity:
type: string
homestate:
type: string
homezipcode:
type: string
homecountry:
type: string
cellphone:
type: string
teachinginterest:
type: string
researchinterest:
type: string
biography:
type: string
emergencycontact:
type: string
emergencycontactphone:
type: string
pager:
type: string
personalstreet1:
type: string
personalstreet2:
type: string
personalcity:
type: string
personalstate:
type: string
personalzip:
type: string
languages:
type: string
type: object
userSub:
required:
- facultyid
properties:
facultyid:
type: string
loginname:
type: string
saml_id:
type: string
cas_id:
type: string
ldap_id:
type: string
middlename:
type: string
employmentstatus:
type: string
primaryunit:
type: integer
rankname:
type: string
accounttype:
type: string
suffix:
type: string
honorific:
type: string
officebuilding:
type: string
officenumber:
type: string
phone:
type: string
gender:
type: string
race:
type: string
nationality:
type: string
homephone:
type: string
homestreet1:
type: string
homestreet2:
type: string
homecity:
type: string
homestate:
type: string
homezipcode:
type: string
homecountry:
type: string
cellphone:
type: string
teachinginterest:
type: string
researchinterest:
type: string
biography:
type: string
emergencycontact:
type: string
emergencycontactphone:
type: string
pager:
type: string
personalstreet1:
type: string
personalstreet2:
type: string
personalcity:
type: string
personalstate:
type: string
personalzip:
type: string
sendemail:
type: boolean
languages:
type: string
type: object
parameters:
extra:
name: extra
in: query
description: 'Multiple values can be sent as a comma separated list.
* When included, additional details are indexed and included in the returned array.'
schema:
type: array
items:
type: string
enum:
- accounttype
- suffix
- honorific
- officebuilding
- officenumber
- phone
- gender
- race
- nationality
- homephone
- homestreet1
- homestreet2
- homecity
- homestate
- homezipcode
- cellphone
- teachinginterest
- researchinterest
- rankname
- biography
- emergencycontact
- emergencycontactphone
- pager
- personalstreet1
- personalstreet2
- personalcity
- personalstate
- personalzip
- url
q:
name: q
in: query
description: Search term. Use '*' as wildcard.
schema:
type: string
limit:
name: limit
in: query
description: Limit query to specified number of records.
schema:
type: integer
offset:
name: offset
in: query
description: Used to offset queries that are segmented into chunks with limit.
schema:
type: integer
employmentstatus:
name: employmentstatus
in: query
description: When defined, users are filtered by their employment status. Defaults to All
schema:
type: string
enum:
- Full Time
- Part Time
- Staff
- Inactive
- All
- All Active
default: All
x-refined-from:
- faculty180-swagger.json
- interfolio-faculty180-openapi.yml