API Get Teachers
From zFairs Contest Management
Contents
Get Teachers
Returns teachers for the client, with linked schools and person tags.
Authentication
All data API calls are POST (unless noted) with JSON body:
| Field | Required | Description |
|---|---|---|
ApiKey |
Yes | Private API key for your site. |
FairId |
Yes | Fair GUID from the site URL (f query parameter).
|
Body |
Depends | Request payload. Use {} when no body fields are needed.
|
Calls must be run server-side — do not expose your API key in a browser.
Response envelope
Most endpoints return:
{
Success: true,
Message: null, // error text when Success is false
Body: { ... } // endpoint-specific payload
}
Request
fetch('/api/data/teachers', {
method:'POST',
headers:{'Content-Type': 'application/json'},
body: JSON.stringify({
ApiKey:'<Private key>',
FairId: '9df61f13-474b-442f-ac1f-edca7348ef71', // value of f in your URL
Body: {}
})
})
.then(response => response.json())
.then(data=>{console.log('Success: ',data);})
.catch((error)=>{console.log('Error: ', error);});Response
On success Body looks like:
{
Success: true,
Message: null,
Body: {
teachers: [{
id: "person-guid",
idInt: 55,
firstName: "Jane",
lastName: "Smith",
username: "jsmith",
email: "jsmith@example.edu",
phone: "801-555-0200",
address: "12 Oak St",
address2: null,
city: "Ogden",
state: "UT",
zip: "84401",
schools: [{ id: 24, name: "Example School" }],
tags: ["STEM Lead"]
}]
}
}
Field notes
- Temporary/placeholder people are excluded.
- Teachers may appear with multiple schools; results are grouped by person.
- Use teacher
id(GUID) asTeacherIdwhen adding project participants.
Related APIs