curl --request GET \
--url https://api.scholarlysoftware.com/api/v1/departments \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.scholarlysoftware.com/api/v1/departments"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.scholarlysoftware.com/api/v1/departments', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "department",
"attributes": {
"created_at": "<string>",
"updated_at": "<string>",
"name": "Computer Science",
"label": "Department",
"external_id": "DEPT-001",
"head_label": "Department Chair",
"is_root": true
},
"relationships": {
"parent": {
"links": {
"related": "<string>"
},
"meta": {}
},
"children": {
"links": {
"related": "<string>"
},
"meta": {}
},
"department_chairs": {
"links": {
"related": "<string>"
},
"meta": {}
}
},
"meta": {
"children_count": 123,
"depth": 123,
"root": true
}
}
],
"meta": {
"page": {
"size": 123
},
"total": 123
},
"links": {
"self": "<string>",
"first": "<string>",
"next": "<string>",
"prev": "<string>",
"last": "<string>"
}
}{
"errors": [
{
"status": "<string>",
"title": "<string>",
"detail": "<string>"
}
]
}List departments
A Note on Department Structure
A “department” in Scholarly can be much more than just a department. It can be a college, department, campus location, sub-department, or unit.
Departments are organized in a tree structure, with each department optionally having a parent and 0 or more children. Departments without a parent are labeled as “root” departments.
By default, this endpoint returns only root departments. Pass filter[flat]=true to return a flat list of all departments
(including children), which is useful for quick lookups by name or external ID.
curl --request GET \
--url https://api.scholarlysoftware.com/api/v1/departments \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.scholarlysoftware.com/api/v1/departments"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.scholarlysoftware.com/api/v1/departments', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "department",
"attributes": {
"created_at": "<string>",
"updated_at": "<string>",
"name": "Computer Science",
"label": "Department",
"external_id": "DEPT-001",
"head_label": "Department Chair",
"is_root": true
},
"relationships": {
"parent": {
"links": {
"related": "<string>"
},
"meta": {}
},
"children": {
"links": {
"related": "<string>"
},
"meta": {}
},
"department_chairs": {
"links": {
"related": "<string>"
},
"meta": {}
}
},
"meta": {
"children_count": 123,
"depth": 123,
"root": true
}
}
],
"meta": {
"page": {
"size": 123
},
"total": 123
},
"links": {
"self": "<string>",
"first": "<string>",
"next": "<string>",
"prev": "<string>",
"last": "<string>"
}
}{
"errors": [
{
"status": "<string>",
"title": "<string>",
"detail": "<string>"
}
]
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
Bearer token
Query Parameters
Comma-separated list of relationships to include. Allowed: parent, children, department_chairs
Sort order. Prefix with - for descending. Allowed: created_at, updated_at, name
Filter results. Available filters: created_at, created_at.neq, created_at.lt, created_at.lte, created_at.gt, created_at.gte, updated_at, updated_at.neq, updated_at.lt, updated_at.lte, updated_at.gt, updated_at.gte, name, name.neq, name.cont (case-insensitive substring match), name.in (list of values, comma-separated), name.nin (list of values, comma-separated), label, label.neq, label.cont (case-insensitive substring match), label.in (list of values, comma-separated), label.nin (list of values, comma-separated), external_id, external_id.neq, external_id.cont (case-insensitive substring match), external_id.in (list of values, comma-separated), external_id.nin (list of values, comma-separated), head_label, head_label.neq, head_label.cont (case-insensitive substring match), head_label.in (list of values, comma-separated), head_label.nin (list of values, comma-separated), flat (boolean, When true, returns all departments as a flat list instead of only root departments), chair_profile_id (Filter to departments chaired by this profile UUID, including all descendant departments under their purview), parent, parent.exists (boolean), children, department_chairs.
Number of items per page (max 100)
Cursor for next page
Cursor for previous page