Skip to main content
GET
/
api
/
v1
/
primary_appointments
List primary appointments
curl --request GET \
  --url https://api.scholarlysoftware.com/api/v1/primary_appointments \
  --header 'Authorization: Bearer <token>'
{
  "data": [
    {
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "type": "primary_appointment",
      "attributes": {
        "title": "Associate Professor",
        "effective_from": "2025-01-01",
        "custom_fields": {},
        "track_type": "Research",
        "external_id": "EMP001234",
        "effective_to": "2026-01-01",
        "terminated_on": "2026-12-31",
        "termination_note": "Resigned to accept position elsewhere",
        "percent_allocation": 100,
        "full_time": true,
        "note": "<div>This is a note with <strong>formatting</strong></div>",
        "note_as_plain_text": "This is a note with formatting"
      },
      "relationships": {
        "profile": {
          "links": {
            "related": "<string>"
          },
          "meta": {},
          "data": {
            "type": "profile",
            "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
          }
        },
        "rank": {
          "links": {
            "related": "<string>"
          },
          "meta": {},
          "data": {
            "type": "rank",
            "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
          }
        },
        "department": {
          "links": {
            "related": "<string>"
          },
          "meta": {},
          "data": {
            "type": "department",
            "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
          }
        },
        "campus": {
          "links": {
            "related": "<string>"
          },
          "meta": {},
          "data": {
            "type": "campus",
            "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
          }
        }
      }
    }
  ]
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

Authorization
string
required

Bearer token

Query Parameters

filter[profile]
string
filter[rank]
string
filter[department]
string
filter[title]
string
filter[title.neq]
string
filter[title.cont]
string

Case-insensitive substring match

filter[title.in]
string

Comma-separated list

filter[title.nin]
string

Comma-separated list

filter[effective_from]
string

ISO 8601 date (e.g., 2024-01-15)

filter[effective_from.neq]
string

ISO 8601 date (e.g., 2024-01-15)

filter[effective_from.lt]
string

ISO 8601 date (e.g., 2024-01-15)

filter[effective_from.lte]
string

ISO 8601 date (e.g., 2024-01-15)

filter[effective_from.gt]
string

ISO 8601 date (e.g., 2024-01-15)

filter[effective_from.gte]
string

ISO 8601 date (e.g., 2024-01-15)

filter[track_type]
string
filter[track_type.neq]
string
filter[track_type.cont]
string

Case-insensitive substring match

filter[track_type.in]
string

Comma-separated list

filter[track_type.nin]
string

Comma-separated list

filter[external_id]
string
filter[external_id.neq]
string
filter[external_id.cont]
string

Case-insensitive substring match

filter[external_id.in]
string

Comma-separated list

filter[external_id.nin]
string

Comma-separated list

filter[effective_to]
string

ISO 8601 date (e.g., 2024-01-15)

filter[effective_to.neq]
string

ISO 8601 date (e.g., 2024-01-15)

filter[effective_to.lt]
string

ISO 8601 date (e.g., 2024-01-15)

filter[effective_to.lte]
string

ISO 8601 date (e.g., 2024-01-15)

filter[effective_to.gt]
string

ISO 8601 date (e.g., 2024-01-15)

filter[effective_to.gte]
string

ISO 8601 date (e.g., 2024-01-15)

filter[terminated_on]
string

ISO 8601 date (e.g., 2024-01-15)

filter[terminated_on.neq]
string

ISO 8601 date (e.g., 2024-01-15)

filter[terminated_on.lt]
string

ISO 8601 date (e.g., 2024-01-15)

filter[terminated_on.lte]
string

ISO 8601 date (e.g., 2024-01-15)

filter[terminated_on.gt]
string

ISO 8601 date (e.g., 2024-01-15)

filter[terminated_on.gte]
string

ISO 8601 date (e.g., 2024-01-15)

filter[percent_allocation]
string
filter[percent_allocation.neq]
string
filter[percent_allocation.lt]
string
filter[percent_allocation.lte]
string
filter[percent_allocation.gt]
string
filter[percent_allocation.gte]
string
filter[percent_allocation.in]
string

Comma-separated list

filter[percent_allocation.nin]
string

Comma-separated list

filter[full_time]
string

true or false

filter[custom_fields.*]
string

Filter by custom field values. Use the format filter[custom_fields.{field_name}] or filter[custom_fields.{field_name}.{operator}].

Available operators depend on field type:

  • String: eq, neq, in, nin, cont
  • Integer/Decimal: eq, neq, lt, lte, gt, gte, in, nin
  • Date/Moment: eq, neq, lt, lte, gt, gte
  • Academic Year: eq, neq, in, nin
  • Boolean: eq
  • Relationship: eq, in

Examples:

  • filter[custom_fields.department_code]=ENG (equality)
  • filter[custom_fields.employee_number.gte]=100 (greater than or equal)
  • filter[custom_fields.status.in]=active,pending (in list)
page[size]
integer

Number of items per page (max 100)

page[after]
string

Cursor for next page

page[before]
string

Cursor for previous page

Response

primary appointments found

data
object[]
required