Skip to content

Lecturers Query

Note: The Teachify Admin API is currently under development and not yet available for public use. This documentation is provided for preview purposes only.

The Lecturers API allows you to retrieve information about lecturers in your school. A lecturer represents a marketing/instructor profile — name, headline, background, and social links — that can be attached to courses and consulting services.

This query requires the lecturers:read scope.

Returns a paginated list of lecturers for the authenticated school, ordered by their configured sort position.

Parameters:

ParameterTypeDescription
filterLecturerFilterFilter criteria (see Filtering)
pageIntPage number for pagination
perPageIntNumber of items per page (default: 20, max: 50)
limitIntAlternative to perPage

Returns:

  • AdminLecturerPage object with:
    • nodes: Array of AdminLecturer objects
    • currentPage: Current page number
    • hasNextPage: Whether there are more pages
    • hasPreviousPage: Whether there are previous pages
    • nodesCount: Total number of items matching the query
    • totalPages: Total number of pages

Example:

query {
lecturers(
page: 1,
perPage: 10
) {
nodes {
id
slug
name
headline
profession
avatar
skills
isAvailable
position
coursesCount
createdAt
updatedAt
}
currentPage
hasNextPage
hasPreviousPage
nodesCount
totalPages
}
}

The AdminLecturer object contains the following fields:

FieldTypeDescription
idString!The unique identifier of the lecturer
slugStringURL-friendly identifier
nameString!Full name of the lecturer
headlineStringBrief professional headline
descriptionStringDetailed background and expertise
educationStringEducational background
experienceStringProfessional experience
professionStringCurrent profession or job title
certificationStringProfessional certifications
avatarStringProfile picture URL
skills[String]List of skills and expertise areas
isAvailableBoolean!Whether the lecturer is available for meetings
positionInt!Sort position
coursesCountInt!Number of active courses
contactInformationContactInformationSocial media and contact links
createdAtInt!Unix timestamp. When the lecturer was created
updatedAtInt!Unix timestamp. When the lecturer was last updated

The lecturers query accepts a filter parameter of type LecturerFilter. Each field is a StringOperator, allowing you to match against a value using a range of operations.

Filter FieldTypeDescription
idStringOperatorFilter by lecturer ID
nameStringOperatorFilter by lecturer name
slugStringOperatorFilter by lecturer slug

The StringOperator used in filters supports these operations:

OperationDescription
eqEqual to
neqNot equal to
inIn a list of values
ninNot in a list of values
likeMatch text values against a pattern using wildcards (case-sensitive)
containsContains substring (case-insensitive)

Find a lecturer by exact slug:

query {
lecturers(
filter: {
slug: { eq: "jane-doe" }
}
) {
nodes {
id
name
slug
}
nodesCount
}
}

Search lecturers by name substring:

query {
lecturers(
filter: {
name: { contains: "smith" }
}
) {
nodes {
id
name
headline
}
nodesCount
}
}