Welcome to the EMS360 export API documentation.
The EMS360 export API provides a simple way to access school data stored in the EMS360 cloud using standard HTTP requests. It is designed for systems that need to securely connect to EMS360, retrieve specific data, and exchange information between platforms.
You can export data from several parts of the system, including:
Time and attendance.
Activities, Camps and Excursions (ACE).
Accreditations.
Professional learning events.
Making a request All export requests are made to the following URL:
Requests should be sent as a GET request.
Authentication To use the EMS360 Export API, you will need a username and password from EMS Support.
Authentication is handled using the custom EMS360EXPORT request header. The header value must be a Base64-encoded string in the format:
A cURL request might look like this:
curl "https://app.ems360.com.au/export/asJson?startDate=20260401&endDate=20260430&exportType=LEAVE" \
-H "EMS360EXPORT: BASE64_ENCODED_USERNAME_PASSWORD"
curl "https://app.ems360.com.au/export/asJson?startDate=20260401&endDate=20260430&exportType=LEAVE" \
-H "EMS360EXPORT: BASE64_ENCODED_USERNAME_PASSWORD"
curl "https://app.ems360.com.au/export/asJson?startDate=20260401&endDate=20260430&exportType=LEAVE" \
-H "EMS360EXPORT: BASE64_ENCODED_USERNAME_PASSWORD"
Date format All request dates must use the YYYYMMDD format.
Examples:
Response dates Response dates vary by export type.
LEAVE and ABSENCE return API-style date values in YYYY-MM-DD format.
TILO, EXTRAHOURS, and WFH currently return raw database date or datetime values.
Request parameters Name
Type
Required
Description
startDate
string
Yes
Start date in YYYYMMDD format.
endDate
string
Yes
End date in YYYYMMDD format.
exportType
string
Yes
The export type to return.
Supported export types All exported data is returned for the specified date range.
exportType value
Description
LEAVE
All staff on leave.
ABSENCE
All staff that are absent.
TILO
Staff time in lieu and overtime.
EXTRAHOURS
Staff extra hours.
WFH
Staff working remotely.
LEAVESTAFF
Combined data for staff on leave or absent.
ACE
Details associated with Activities, Camps and Excursions events. E.g. name, description, location, costs etc.
PDSTAFF
All staff attending professional learning events.
PDCOSTS
All professional learning event costings.
PDATTENDED
All staff who have attended professional learning events.
STAFFACCRED
Staff accreditations.
Error responses Condition
Example response
Missing or invalid startDate
start date parameter not present or invalid
Missing or invalid endDate
end date parameter not present or invalid
Missing or invalid exportType
export type parameter not present or invalid
Missing EMS360EXPORT header
header is not present
Invalid export credentials
username/password is invalid
SQL date range over 365 days
{"msg":"Date range must be less than 365 days"}
LEAVE This export returns leave records for the requested date range. The response structure depends on whether the site uses one-stage or two-stage leave approval.
One-stage LEAVE Response body json {
"success" : true ,
"data" : [
{
"leaveStatus" : "Approved" ,
"certificateProvided" : true ,
"certificateVerified" : "2026-04-10" ,
"leaveManagerActioned" : true ,
"payrollActioned" : false ,
"organiserActioned" : true ,
"firstName" : "Jane" ,
"lastName" : "Smith" ,
"startDate" : "2026-05-12" ,
"endDate" : "2026-05-14" ,
"startTime" : "09:00" ,
"endTime" : "17:00" ,
"duration" : "All Day" ,
"category" : "Annual Leave" ,
"approver" : "John Brown" ,
"approvedOn" : "2026-04-15" ,
"rejectedOn" : null ,
"requestDate" : "2026-04-01" ,
"employeeId" : "EMP001" ,
"noLeaveDeduction" : false ,
"daysNoticeGiven" : 41 ,
"submissionToApproval" : 14 ,
"submissionToRejection" : null
}
]
}
json {
"success" : true ,
"data" : [
{
"leaveStatus" : "Approved" ,
"certificateProvided" : true ,
"certificateVerified" : "2026-04-10" ,
"leaveManagerActioned" : true ,
"payrollActioned" : false ,
"organiserActioned" : true ,
"firstName" : "Jane" ,
"lastName" : "Smith" ,
"startDate" : "2026-05-12" ,
"endDate" : "2026-05-14" ,
"startTime" : "09:00" ,
"endTime" : "17:00" ,
"duration" : "All Day" ,
"category" : "Annual Leave" ,
"approver" : "John Brown" ,
"approvedOn" : "2026-04-15" ,
"rejectedOn" : null ,
"requestDate" : "2026-04-01" ,
"employeeId" : "EMP001" ,
"noLeaveDeduction" : false ,
"daysNoticeGiven" : 41 ,
"submissionToApproval" : 14 ,
"submissionToRejection" : null
}
]
}
json {
"success" : true ,
"data" : [
{
"leaveStatus" : "Approved" ,
"certificateProvided" : true ,
"certificateVerified" : "2026-04-10" ,
"leaveManagerActioned" : true ,
"payrollActioned" : false ,
"organiserActioned" : true ,
"firstName" : "Jane" ,
"lastName" : "Smith" ,
"startDate" : "2026-05-12" ,
"endDate" : "2026-05-14" ,
"startTime" : "09:00" ,
"endTime" : "17:00" ,
"duration" : "All Day" ,
"category" : "Annual Leave" ,
"approver" : "John Brown" ,
"approvedOn" : "2026-04-15" ,
"rejectedOn" : null ,
"requestDate" : "2026-04-01" ,
"employeeId" : "EMP001" ,
"noLeaveDeduction" : false ,
"daysNoticeGiven" : 41 ,
"submissionToApproval" : 14 ,
"submissionToRejection" : null
}
]
}
Fields Field
Type
Description
leaveStatus
string
Current leave status.
certificateProvided
boolean
Whether a certificate was provided.
certificateVerified
string(date) or null
Certificate verification date.
leaveManagerActioned
boolean
Leave manager action flag.
payrollActioned
boolean
Payroll action flag.
organiserActioned
boolean
Organiser action flag.
firstName
string
Requester first name.
lastName
string
Requester last name.
startDate
string(date)
Leave start date.
endDate
string(date)
Leave end date.
startTime
string or null
Leave start time.
endTime
string or null
Leave end time.
duration
string or null
Display duration value.
category
string
Leave category.
approver
string or null
Approver name.
approvedOn
string(date) or null
Approval date.
rejectedOn
string(date) or null
Rejection date.
requestDate
string(date) or null
Request submission date.
employeeId
string or null
Employee identifier.
noLeaveDeduction
boolean
No leave deduction flag.
daysNoticeGiven
integer or null
Days from request to leave start.
submissionToApproval
integer or null
Days from request to approval.
submissionToRejection
integer or null
Days from request to rejection.
Two-stage LEAVE Response body json {
"success" : true ,
"data" : [
{
"leaveStatus" : "Fully Approved" ,
"certificateProvided" : true ,
"certificateVerified" : "2026-04-10" ,
"leaveManagerActioned" : true ,
"payrollActioned" : false ,
"organiserActioned" : true ,
"firstName" : "Jane" ,
"lastName" : "Smith" ,
"startDate" : "2026-05-12" ,
"endDate" : "2026-05-14" ,
"startTime" : "09:00" ,
"endTime" : "17:00" ,
"duration" : "All Day" ,
"category" : "Annual Leave" ,
"initialApprover" : "Alex Green" ,
"initialApprovedOn" : "2026-04-08" ,
"finalApprover" : "John Brown" ,
"finalApprovedOn" : "2026-04-15" ,
"rejectedOn" : null ,
"requestDate" : "2026-04-01" ,
"employeeId" : "EMP001" ,
"noLeaveDeduction" : false ,
"daysNoticeGiven" : 41 ,
"submissionToInitialApproval" : 7 ,
"initialApprovalToFinalApproval" : 7 ,
"submissionToFinalApproval" : 14 ,
"submissionToRejection" : null
}
]
}
json {
"success" : true ,
"data" : [
{
"leaveStatus" : "Fully Approved" ,
"certificateProvided" : true ,
"certificateVerified" : "2026-04-10" ,
"leaveManagerActioned" : true ,
"payrollActioned" : false ,
"organiserActioned" : true ,
"firstName" : "Jane" ,
"lastName" : "Smith" ,
"startDate" : "2026-05-12" ,
"endDate" : "2026-05-14" ,
"startTime" : "09:00" ,
"endTime" : "17:00" ,
"duration" : "All Day" ,
"category" : "Annual Leave" ,
"initialApprover" : "Alex Green" ,
"initialApprovedOn" : "2026-04-08" ,
"finalApprover" : "John Brown" ,
"finalApprovedOn" : "2026-04-15" ,
"rejectedOn" : null ,
"requestDate" : "2026-04-01" ,
"employeeId" : "EMP001" ,
"noLeaveDeduction" : false ,
"daysNoticeGiven" : 41 ,
"submissionToInitialApproval" : 7 ,
"initialApprovalToFinalApproval" : 7 ,
"submissionToFinalApproval" : 14 ,
"submissionToRejection" : null
}
]
}
json {
"success" : true ,
"data" : [
{
"leaveStatus" : "Fully Approved" ,
"certificateProvided" : true ,
"certificateVerified" : "2026-04-10" ,
"leaveManagerActioned" : true ,
"payrollActioned" : false ,
"organiserActioned" : true ,
"firstName" : "Jane" ,
"lastName" : "Smith" ,
"startDate" : "2026-05-12" ,
"endDate" : "2026-05-14" ,
"startTime" : "09:00" ,
"endTime" : "17:00" ,
"duration" : "All Day" ,
"category" : "Annual Leave" ,
"initialApprover" : "Alex Green" ,
"initialApprovedOn" : "2026-04-08" ,
"finalApprover" : "John Brown" ,
"finalApprovedOn" : "2026-04-15" ,
"rejectedOn" : null ,
"requestDate" : "2026-04-01" ,
"employeeId" : "EMP001" ,
"noLeaveDeduction" : false ,
"daysNoticeGiven" : 41 ,
"submissionToInitialApproval" : 7 ,
"initialApprovalToFinalApproval" : 7 ,
"submissionToFinalApproval" : 14 ,
"submissionToRejection" : null
}
]
}
Fields Field
Type
Description
leaveStatus
string
Current leave status.
certificateProvided
boolean
Whether a certificate was provided.
certificateVerified
string(date) or null
Certificate verification date.
leaveManagerActioned
boolean
Leave manager action flag.
payrollActioned
boolean
Payroll action flag.
organiserActioned
boolean
Organiser action flag.
firstName
string
Requester first name.
lastName
string
Requester last name.
startDate
string(date)
Leave start date.
endDate
string(date)
Leave end date.
startTime
string or null
Leave start time.
endTime
string or null
Leave end time.
duration
string or null
Display duration value.
category
string
Leave category.
initialApprover
string or null
Initial approver name.
initialApprovedOn
string(date) or null
Initial approval date.
finalApprover
string or null
Final approver name.
finalApprovedOn
string(date) or null
Final approval date.
rejectedOn
string(date) or null
Rejection date.
requestDate
string(date) or null
Request submission date.
employeeId
string or null
Employee identifier.
noLeaveDeduction
boolean
No leave deduction flag.
daysNoticeGiven
integer or null
Days from request to leave start.
submissionToInitialApproval
integer or null
Days from request to initial approval.
initialApprovalToFinalApproval
integer or null
Days between initial and final approval.
submissionToFinalApproval
integer or null
Days from request to final approval.
submissionToRejection
integer or null
Days from request to rejection.
ABSENCE This export returns absence records for the requested date range.
Response body json {
"success" : true ,
"data" : [
{
"certificateProvided" : true ,
"certificateVerified" : "2026-04-10" ,
"leaveManagerActioned" : true ,
"payrollActioned" : false ,
"organiserActioned" : true ,
"firstName" : "Jane" ,
"lastName" : "Smith" ,
"startDate" : "2026-05-12" ,
"endDate" : "2026-05-12" ,
"startTime" : "09:00" ,
"endTime" : "17:00" ,
"duration" : "All Day" ,
"category" : "Sick Leave" ,
"submittedOn" : "2026-05-01" ,
"employeeId" : "EMP001"
}
]
}
json {
"success" : true ,
"data" : [
{
"certificateProvided" : true ,
"certificateVerified" : "2026-04-10" ,
"leaveManagerActioned" : true ,
"payrollActioned" : false ,
"organiserActioned" : true ,
"firstName" : "Jane" ,
"lastName" : "Smith" ,
"startDate" : "2026-05-12" ,
"endDate" : "2026-05-12" ,
"startTime" : "09:00" ,
"endTime" : "17:00" ,
"duration" : "All Day" ,
"category" : "Sick Leave" ,
"submittedOn" : "2026-05-01" ,
"employeeId" : "EMP001"
}
]
}
json {
"success" : true ,
"data" : [
{
"certificateProvided" : true ,
"certificateVerified" : "2026-04-10" ,
"leaveManagerActioned" : true ,
"payrollActioned" : false ,
"organiserActioned" : true ,
"firstName" : "Jane" ,
"lastName" : "Smith" ,
"startDate" : "2026-05-12" ,
"endDate" : "2026-05-12" ,
"startTime" : "09:00" ,
"endTime" : "17:00" ,
"duration" : "All Day" ,
"category" : "Sick Leave" ,
"submittedOn" : "2026-05-01" ,
"employeeId" : "EMP001"
}
]
}
Fields Field
Type
Description
certificateProvided
boolean
Whether a certificate was provided.
certificateVerified
string(date) or null
Certificate verification date.
leaveManagerActioned
boolean
Leave manager action flag.
payrollActioned
boolean
Payroll action flag.
organiserActioned
boolean
Organiser action flag.
firstName
string
Requester first name.
lastName
string
Requester last name.
startDate
string(date)
Absence start date.
endDate
string(date)
Absence end date.
startTime
string or null
Absence start time.
endTime
string or null
Absence end time.
duration
string or null
Display duration value.
category
string
Absence category.
submittedOn
string(date) or null
Submission date.
employeeId
string or null
Employee identifier.
TILO This export returns Time In Lieu and Overtime records for the requested date range.
Response body json {
"success" : true ,
"data" : [
{
"firstName" : "Jane" ,
"lastName" : "Smith" ,
"takeAccrue" : "Accrue" ,
"overtime" : "" ,
"timeInLieu" : "2:00" ,
"date" : "2026-04-18" ,
"description" : "Weekend event support" ,
"category" : "After Hours Duty" ,
"status" : "Fully Approved" ,
"tiloManagerActioned" : true ,
"payrollActioned" : false ,
"organiserActioned" : true
}
]
}
json {
"success" : true ,
"data" : [
{
"firstName" : "Jane" ,
"lastName" : "Smith" ,
"takeAccrue" : "Accrue" ,
"overtime" : "" ,
"timeInLieu" : "2:00" ,
"date" : "2026-04-18" ,
"description" : "Weekend event support" ,
"category" : "After Hours Duty" ,
"status" : "Fully Approved" ,
"tiloManagerActioned" : true ,
"payrollActioned" : false ,
"organiserActioned" : true
}
]
}
json {
"success" : true ,
"data" : [
{
"firstName" : "Jane" ,
"lastName" : "Smith" ,
"takeAccrue" : "Accrue" ,
"overtime" : "" ,
"timeInLieu" : "2:00" ,
"date" : "2026-04-18" ,
"description" : "Weekend event support" ,
"category" : "After Hours Duty" ,
"status" : "Fully Approved" ,
"tiloManagerActioned" : true ,
"payrollActioned" : false ,
"organiserActioned" : true
}
]
}
Fields Field
Type
Description
firstName
string
Staff first name.
lastName
string
Staff last name.
takeAccrue
string
Either Take or Accrue.
overtime
string
Duration value when the record is overtime, otherwise empty string.
timeInLieu
string
Duration value when the record is time in lieu, otherwise empty string.
date
string(date)
Time In Lieu date.
description
string or null
Description text.
category
string
Time In Lieu category.
status
string
One of Awaiting Approval, Initially Approved, Fully Approved, or Declined.
tiloManagerActioned
boolean
TiLO manager action flag.
payrollActioned
boolean
Payroll action flag.
organiserActioned
boolean
Organiser action flag.
Notes
status reflects the site’s two-stage Time In Lieu configuration.
overtime and timeInLieu are mutually exclusive display fields.
EXTRAHOURS This export returns Extra Hours records for the requested date range.
Response body json {
"success" : true ,
"data" : [
{
"firstName" : "Jane" ,
"lastName" : "Smith" ,
"takeAccrue" : "Take" ,
"extraHours" : "1:30" ,
"date" : "2026-04-22" ,
"description" : "Exam supervision" ,
"status" : "Awaiting Approval" ,
"leaveManagerActioned" : false ,
"organiserActioned" : true
}
]
}
json {
"success" : true ,
"data" : [
{
"firstName" : "Jane" ,
"lastName" : "Smith" ,
"takeAccrue" : "Take" ,
"extraHours" : "1:30" ,
"date" : "2026-04-22" ,
"description" : "Exam supervision" ,
"status" : "Awaiting Approval" ,
"leaveManagerActioned" : false ,
"organiserActioned" : true
}
]
}
json {
"success" : true ,
"data" : [
{
"firstName" : "Jane" ,
"lastName" : "Smith" ,
"takeAccrue" : "Take" ,
"extraHours" : "1:30" ,
"date" : "2026-04-22" ,
"description" : "Exam supervision" ,
"status" : "Awaiting Approval" ,
"leaveManagerActioned" : false ,
"organiserActioned" : true
}
]
}
Fields Field
Type
Description
firstName
string
Staff first name.
lastName
string
Staff last name.
takeAccrue
string
Either Take or Accrue.
extraHours
string
Duration value in H:MM style.
date
string(date)
Extra Hours date.
description
string or null
Description text.
status
string
One of Awaiting Approval, Fully Approved, or Declined.
leaveManagerActioned
boolean
Leave manager action flag.
organiserActioned
boolean
Organiser action flag.
Notes
EXTRAHOURS does not currently expose a category field in the JSON export.
WFH This export returns Working Remotely records for the requested date range.
Response body json {
"success" : true ,
"data" : [
{
"firstName" : "Jane" ,
"lastName" : "Smith" ,
"date" : "2026-04-24 00:00:00" ,
"startTime" : "08:30" ,
"endTime" : "16:30" ,
"duration" : "All Day" ,
"reason" : "Working remotely for planning day" ,
"leaveManagerActioned" : true ,
"organiserActioned" : false
}
]
}
json {
"success" : true ,
"data" : [
{
"firstName" : "Jane" ,
"lastName" : "Smith" ,
"date" : "2026-04-24 00:00:00" ,
"startTime" : "08:30" ,
"endTime" : "16:30" ,
"duration" : "All Day" ,
"reason" : "Working remotely for planning day" ,
"leaveManagerActioned" : true ,
"organiserActioned" : false
}
]
}
json {
"success" : true ,
"data" : [
{
"firstName" : "Jane" ,
"lastName" : "Smith" ,
"date" : "2026-04-24 00:00:00" ,
"startTime" : "08:30" ,
"endTime" : "16:30" ,
"duration" : "All Day" ,
"reason" : "Working remotely for planning day" ,
"leaveManagerActioned" : true ,
"organiserActioned" : false
}
]
}
Field Field
Type
Description
firstName
string
Staff first name.
lastName
string
Staff last name.
date
string(date)
Work From Home date.
startTime
string or null
Start time.
endTime
string or null
End time.
duration
string or null
Display duration value.
reason
string or null
Reason for working from home.
leaveManagerActioned
boolean
Leave manager action flag.
organiserActioned
boolean
Organiser action flag.
Notes
duration is a display field derived from all-day and additional info values.
LEAVESTAFF The LEAVESTAFF export returns staff records with nested approved leave and absence entries within the requested date range.
Response body json {
"success" : true ,
"data" : [
{
"firstName" : "Jane" ,
"lastName" : "Smith" ,
"email" : "jane.smith@example.com" ,
"classification" : "Teacher" ,
"leave" : [
{
"startDate" : "2026-04-10" ,
"endDate" : "2026-04-12" ,
"startTime" : "09:00" ,
"endTime" : "17:00" ,
"leaveCategory" : "Annual Leave" ,
"leaveType" : "Leave"
} ,
{
"startDate" : "2026-05-03" ,
"endDate" : "2026-05-03" ,
"startTime" : "08:30" ,
"endTime" : "15:00" ,
"leaveCategory" : "Sick Leave" ,
"leaveType" : "Absence"
}
]
}
]
}
json {
"success" : true ,
"data" : [
{
"firstName" : "Jane" ,
"lastName" : "Smith" ,
"email" : "jane.smith@example.com" ,
"classification" : "Teacher" ,
"leave" : [
{
"startDate" : "2026-04-10" ,
"endDate" : "2026-04-12" ,
"startTime" : "09:00" ,
"endTime" : "17:00" ,
"leaveCategory" : "Annual Leave" ,
"leaveType" : "Leave"
} ,
{
"startDate" : "2026-05-03" ,
"endDate" : "2026-05-03" ,
"startTime" : "08:30" ,
"endTime" : "15:00" ,
"leaveCategory" : "Sick Leave" ,
"leaveType" : "Absence"
}
]
}
]
}
json {
"success" : true ,
"data" : [
{
"firstName" : "Jane" ,
"lastName" : "Smith" ,
"email" : "jane.smith@example.com" ,
"classification" : "Teacher" ,
"leave" : [
{
"startDate" : "2026-04-10" ,
"endDate" : "2026-04-12" ,
"startTime" : "09:00" ,
"endTime" : "17:00" ,
"leaveCategory" : "Annual Leave" ,
"leaveType" : "Leave"
} ,
{
"startDate" : "2026-05-03" ,
"endDate" : "2026-05-03" ,
"startTime" : "08:30" ,
"endTime" : "15:00" ,
"leaveCategory" : "Sick Leave" ,
"leaveType" : "Absence"
}
]
}
]
}
Top-level fields Field
Type
Description
firstName
string
Staff first name.
lastName
string
Staff last name.
email
string or null
Staff email address.
classification
string
Staff classification.
leave
array or null
Nested leave and absence entries.
Nested leave fields Field
Type
Description
startDate
string(date)
Leave start date.
endDate
string(date)
Leave end date.
startTime
string or null
Leave start time.
endTime
string or null
Leave end time.
leaveCategory
string
Leave category title.
leaveType
string
Either Leave or Absence.
ACE The ACE export returns Activities, Camps and Excursion activity records for the requested date range.
Response body json {
"success" : true ,
"data" : [
{
"activity_name" : "Year 6 Camp" ,
"startDate" : "2026-04-20" ,
"endDate" : "2026-04-22" ,
"startTime" : "08:00" ,
"endTime" : "17:00" ,
"category" : "Excursion" ,
"yearLevelDesc" : "Year 6" ,
"description" : "Outdoor education camp" ,
"status" : "finalApproved" ,
"finalApprovalDate" : "2026-03-15" ,
"initialApprovalDate" : "2026-03-10" ,
"initialApprovalBy" : "Alex Green" ,
"finalApprovalBy" : "John Brown" ,
"venueName" : "Camp Blue Gum" ,
"venueAddress" : "123 Forest Rd" ,
"venueAddress2" : null ,
"venueCity" : "Ballarat" ,
"venueState" : "VIC" ,
"venueCountry" : "Australia" ,
"venuePostcode" : "3350"
}
]
}
json {
"success" : true ,
"data" : [
{
"activity_name" : "Year 6 Camp" ,
"startDate" : "2026-04-20" ,
"endDate" : "2026-04-22" ,
"startTime" : "08:00" ,
"endTime" : "17:00" ,
"category" : "Excursion" ,
"yearLevelDesc" : "Year 6" ,
"description" : "Outdoor education camp" ,
"status" : "finalApproved" ,
"finalApprovalDate" : "2026-03-15" ,
"initialApprovalDate" : "2026-03-10" ,
"initialApprovalBy" : "Alex Green" ,
"finalApprovalBy" : "John Brown" ,
"venueName" : "Camp Blue Gum" ,
"venueAddress" : "123 Forest Rd" ,
"venueAddress2" : null ,
"venueCity" : "Ballarat" ,
"venueState" : "VIC" ,
"venueCountry" : "Australia" ,
"venuePostcode" : "3350"
}
]
}
json {
"success" : true ,
"data" : [
{
"activity_name" : "Year 6 Camp" ,
"startDate" : "2026-04-20" ,
"endDate" : "2026-04-22" ,
"startTime" : "08:00" ,
"endTime" : "17:00" ,
"category" : "Excursion" ,
"yearLevelDesc" : "Year 6" ,
"description" : "Outdoor education camp" ,
"status" : "finalApproved" ,
"finalApprovalDate" : "2026-03-15" ,
"initialApprovalDate" : "2026-03-10" ,
"initialApprovalBy" : "Alex Green" ,
"finalApprovalBy" : "John Brown" ,
"venueName" : "Camp Blue Gum" ,
"venueAddress" : "123 Forest Rd" ,
"venueAddress2" : null ,
"venueCity" : "Ballarat" ,
"venueState" : "VIC" ,
"venueCountry" : "Australia" ,
"venuePostcode" : "3350"
}
]
}
Fields Field
Type
Description
activity_name
string
Activity name.
startDate
string(date)
Activity start date.
endDate
string(date)
Activity end date.
startTime
string or null
Activity start time.
endTime
string or null
Activity end time.
category
string or null
ACE category description.
yearLevelDesc
string or null
Year level description.
description
string or null
Activity description.
status
string
One of deleted, finalApproved, initialApproved, or pending.
finalApprovalDate
string(date) or null
Final approval date.
initialApprovalDate
string(date) or null
Initial approval date.
initialApprovalBy
string or null
Initial approver name.
finalApprovalBy
string or null
Final approver name.
venueName
string or null
Venue name.
venueAddress
string or null
Venue address line 1.
venueAddress2
string or null
Venue address line 2.
venueCity
string or null
Venue city.
venueState
string or null
Venue state.
venueCountry
string or null
Venue country.
venuePostcode
string or null
Venue postcode.
PDSTAFF The PDSTAFF export returns confirmed professional development attendance records.
Response body json {
"success" : true ,
"data" : [
{
"firstName" : "Jane" ,
"lastName" : "Smith" ,
"email" : "jane.smith@example.com" ,
"startDate" : "2026-04-10" ,
"endDate" : "2026-04-10" ,
"eventName" : "Child Safety Training" ,
"eventDescription" : "Mandatory PD session" ,
"categoryName" : "Compliance" ,
"startTime" : "09:00" ,
"endTime" : "15:00" ,
"location" : "Main Hall"
}
]
}
json {
"success" : true ,
"data" : [
{
"firstName" : "Jane" ,
"lastName" : "Smith" ,
"email" : "jane.smith@example.com" ,
"startDate" : "2026-04-10" ,
"endDate" : "2026-04-10" ,
"eventName" : "Child Safety Training" ,
"eventDescription" : "Mandatory PD session" ,
"categoryName" : "Compliance" ,
"startTime" : "09:00" ,
"endTime" : "15:00" ,
"location" : "Main Hall"
}
]
}
json {
"success" : true ,
"data" : [
{
"firstName" : "Jane" ,
"lastName" : "Smith" ,
"email" : "jane.smith@example.com" ,
"startDate" : "2026-04-10" ,
"endDate" : "2026-04-10" ,
"eventName" : "Child Safety Training" ,
"eventDescription" : "Mandatory PD session" ,
"categoryName" : "Compliance" ,
"startTime" : "09:00" ,
"endTime" : "15:00" ,
"location" : "Main Hall"
}
]
}
Fields Field
Type
Description
firstName
string
Staff first name
lastName
string
Staff last name
email
string or null
Staff email address
startDate
string(date)
Event start date
endDate
string(date)
Event end date
eventName
string
Event name
eventDescription
string or null
Event description
categoryName
string
PD category name
startTime
string or null
Event start time
endTime
string or null
Event end time
location
string or null
Event location
PDCOSTS The PDCOSTS export returns professional development costs aggregated by month and category.
Response body json {
"success" : true ,
"data" : [
{
"month" : "202604" ,
"categoryName" : "Compliance" ,
"totalCost" : 1250.0
}
]
}
json {
"success" : true ,
"data" : [
{
"month" : "202604" ,
"categoryName" : "Compliance" ,
"totalCost" : 1250.0
}
]
}
json {
"success" : true ,
"data" : [
{
"month" : "202604" ,
"categoryName" : "Compliance" ,
"totalCost" : 1250.0
}
]
}
Fields Field
Type
Description
month
string
Event month in YYYYMM format.
categoryName
string
PD category name.
totalCost
number
Aggregated total cost.
PDATTENDED The PDATTENDED export returns professional development events attended by staff.
Response body json {
"success" : true ,
"data" : [
{
"staffName" : "Jane Smith" ,
"classificationName" : "Teacher" ,
"eventName" : "Child Safety Training" ,
"completionDate" : "2026-04-10"
}
]
}
json {
"success" : true ,
"data" : [
{
"staffName" : "Jane Smith" ,
"classificationName" : "Teacher" ,
"eventName" : "Child Safety Training" ,
"completionDate" : "2026-04-10"
}
]
}
json {
"success" : true ,
"data" : [
{
"staffName" : "Jane Smith" ,
"classificationName" : "Teacher" ,
"eventName" : "Child Safety Training" ,
"completionDate" : "2026-04-10"
}
]
}
Fields Field
Type
Description
staffName
string
Staff full name.
classificationName
string
Staff classification.
eventName
string
Event name.
completionDate
string(date)
Event completion date.
STAFFACCRED The STAFFACCRED export returns staff accreditation data for the site.
Response body json {
"success" : true ,
"data" : [
{
"email" : "jane.smith@example.com" ,
"firstName" : "Jane" ,
"lastName" : "Smith" ,
"classification" : "Teacher" ,
"status" : "Active" ,
"accreditation" : [
{
"name" : "First Aid" ,
"validFor" : "12 months" ,
"status" : "Accredited until 2026-12-31" ,
"dateAccredited" : "2025-12-31" ,
"renewalDate" : "2026-12-31"
}
]
}
]
}
json {
"success" : true ,
"data" : [
{
"email" : "jane.smith@example.com" ,
"firstName" : "Jane" ,
"lastName" : "Smith" ,
"classification" : "Teacher" ,
"status" : "Active" ,
"accreditation" : [
{
"name" : "First Aid" ,
"validFor" : "12 months" ,
"status" : "Accredited until 2026-12-31" ,
"dateAccredited" : "2025-12-31" ,
"renewalDate" : "2026-12-31"
}
]
}
]
}
json {
"success" : true ,
"data" : [
{
"email" : "jane.smith@example.com" ,
"firstName" : "Jane" ,
"lastName" : "Smith" ,
"classification" : "Teacher" ,
"status" : "Active" ,
"accreditation" : [
{
"name" : "First Aid" ,
"validFor" : "12 months" ,
"status" : "Accredited until 2026-12-31" ,
"dateAccredited" : "2025-12-31" ,
"renewalDate" : "2026-12-31"
}
]
}
]
}
Top-level fields Field
Type
Description
email
string or null
Staff email address.
firstName
string
Staff first name.
lastName
string
Staff last name.
classification
string
Staff classification.
status
string
Site staff status, for example Active or Inactive.
accreditation
array or null
Nested accreditation entries.
Nested accreditation fields Field
Type
Description
name
string
Accreditation name.
validFor
string
Human-readable validity period.
status
string
Accreditation status label generated by SQL.
dateAccredited
string(date) or null
Accreditation date.
renewalDate
string(date) or null
Renewal date.
Notes The underlying SQL function only uses idSiteIn, but /export/asJson still requires the standard request parameters.