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.
Overview
Section titled “Overview”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.
Available Queries
Section titled “Available Queries”lecturers
Section titled “lecturers”Returns a paginated list of lecturers for the authenticated school, ordered by their configured sort position.
Parameters:
| Parameter | Type | Description |
|---|---|---|
filter | LecturerFilter | Filter criteria (see Filtering) |
page | Int | Page number for pagination |
perPage | Int | Number of items per page (default: 20, max: 50) |
limit | Int | Alternative to perPage |
Returns:
- AdminLecturerPage object with:
nodes: Array of AdminLecturer objectscurrentPage: Current page numberhasNextPage: Whether there are more pageshasPreviousPage: Whether there are previous pagesnodesCount: Total number of items matching the querytotalPages: 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 }}Lecturer Object
Section titled “Lecturer Object”The AdminLecturer object contains the following fields:
| Field | Type | Description |
|---|---|---|
id | String! | The unique identifier of the lecturer |
slug | String | URL-friendly identifier |
name | String! | Full name of the lecturer |
headline | String | Brief professional headline |
description | String | Detailed background and expertise |
education | String | Educational background |
experience | String | Professional experience |
profession | String | Current profession or job title |
certification | String | Professional certifications |
avatar | String | Profile picture URL |
skills | [String] | List of skills and expertise areas |
isAvailable | Boolean! | Whether the lecturer is available for meetings |
position | Int! | Sort position |
coursesCount | Int! | Number of active courses |
contactInformation | ContactInformation | Social media and contact links |
createdAt | Int! | Unix timestamp. When the lecturer was created |
updatedAt | Int! | Unix timestamp. When the lecturer was last updated |
Filtering
Section titled “Filtering”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.
Available Filters
Section titled “Available Filters”| Filter Field | Type | Description |
|---|---|---|
id | StringOperator | Filter by lecturer ID |
name | StringOperator | Filter by lecturer name |
slug | StringOperator | Filter by lecturer slug |
StringOperator
Section titled “StringOperator”The StringOperator used in filters supports these operations:
| Operation | Description |
|---|---|
eq | Equal to |
neq | Not equal to |
in | In a list of values |
nin | Not in a list of values |
like | Match text values against a pattern using wildcards (case-sensitive) |
contains | Contains substring (case-insensitive) |
Filter Examples
Section titled “Filter Examples”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 }}